Valet
- Installation
- Mise à niveauSite de service
- Commande Park
- Créer un site sécurisé à l'aide de TLS
- Autres commandes Valet
- Laravel
- Lumen
- Bedrock
- CakePHP 3
- Concrete5
- Contao
- Craft
- Drupal
- Jigsaw
- Joomla
- Katana
- Kirby
- Magento
- OctoberCMS
- Sculpin
- Slim
- Statamic
- Static HTML
- Symfony
- WordPress
- Zend
- Laravel
- Lumen
- Bedrock < li>CakePHP 3
- Concrete5
- Contao
- Craft
- Drupal
- Scie sauteuse < li >Joomla
- Katana
- Kirby
- Magento
- OctobreCMS
- Chabot
- Slim
- Statamique
- HTML statique
- Symfony
- WordPress
- Zend
- Utilisez
brew update
pour installer ou mettre à jour Homebrew vers la dernière version. - 使用 Homebrew 的
brew install php
命令安装 PHP 7.3。 - 安装 Composer.
- 使用 Composer 的
composer global require laravel/valet
命令安装 Valet。并确保~/.composer/vendor/bin
目录在系统的 "PATH" 中。 - 运行
valet install
命令来配置和安装 Valet 和 DnsMasq,并注册 Valet 后台服务,随系统运行自行启动。 - 运行
mkdir ~/Sites
命令在 Mac 上创建一个新的目录。接下来,运行cd ~/Sites
和valet park
将当前的工作目录作为 Valet 搜索站点的路径。 - 接下来,在这个目录中创建一个新的 Laravel 站点:
laravel new blog
。 - 在浏览器中打开
http://blog.test
。 - 要使用该命令,先在终端里切换到你的某个项目并运行
valet link app-name
。Valet 会在~/.valet/Sites
中创建一个符号链接指向当前的目录。 - 运行
link
命令后,你可以在浏览器通过http://app-name.test
- Ensuite, créez un nouveau site Laravel dans ce répertoire :
laravel new blog
. 🎜 - Ouvrez
http://blog.test
dans votre navigateur. 🎜🎜🎜🎜C'est tout. Désormais, tous les projets Laravel que vous créez dans le répertoire "parked" seront automatiquement accessibles en utilisanthttp://folder-name.test
. 🎜🎜🎜link
commande🎜🎜Si vous souhaitez servir un seul site dans un annuaire au lieu de le répertoire entier, utilisez simplement la commande link. 🎜- Pour utiliser cette commande, passez d'abord à l'un de vos projets dans le terminal et exécutez
valet link app-name
. Valet créera un lien symbolique dans~/.valet/Sites
pointant vers le répertoire courant. 🎜 - Après avoir exécuté la commande
link
, vous pouvez accéder au site viahttp://app-name.test
dans le navigateur. 🎜🎜🎜Exécutez la commande
valet links
pour afficher une liste de tous les liens d'annuaire. Vous pouvez également utiliservalet unlink app-name
pour supprimer un lien symbolique.valet links
命令可以查看所有目录链接的列表。你还可以使用valet unlink app-name
来删除符号链接。{tip} 你可以使用
valet link
将多个(子)域名指向同一个应用。要添加子域名或其它域名到应用,可以在应用目录下运行valet link subdomain.app-name
。默认情况下,Valet 服务站点通过纯 HTTP 的方式。但是,如果你想一个站点使用 HTTP/2 通过加密 TLS 提供服务,使用
secure
命令。例如,如果你的站点通过 Valet 在laravel.test
域上提供服务,你应当运行如下的命令去保护它:valet unsecure laravel
要一个站点『解除保护』并恢复为通过纯 HTTP 提供服务它的流量,使用
unsecure
命令。与secure
命令一样,该命令接受你希望去解除保护的主机名称:/** * 确定驱动程序是否满足请求。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */ public function serves($sitePath, $siteName, $uri){ return is_dir($sitePath.'/wp-admin'); }
共享站点
Valet 甚至包括与世界共享你的本地站点的命令。一旦安装 Valet 后无需安装其它软件。
要共享站点,在终端中导航你的站点目录并运行
valet share
命令。一个公开可访问的 URL 将被插入到剪贴板中,并可以直接粘贴到你的浏览器中。仅此而已。要停止共享你的站点,请按
Control + C
{tip} Vous pouvez utiliser le
lien valet
pour pointer plusieurs (sous)domaines vers la même application. Pour ajouter un sous-domaine ou un autre nom de domaine à votre application, exécutezvalet link subdomain.app-name
dans le répertoire de l'application.
Sites sécurisés à l'aide de TLSPar défaut, Valet sert les sites via HTTP simple. Cependant, si vous souhaitez qu'un site soit servi via TLS chiffré à l'aide de HTTP/2, utilisez la commandesecure
. Par exemple, si votre site est servi sur le domainelaravel.test
via Valet, vous devez exécuter la commande suivante pour le protéger :/** * 确定即将到来的请求是否针对静态文件。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return string|false */public function isStaticFile($sitePath, $siteName, $uri){ if (file_exists($staticFilePath = $sitePath.'/public/'.$uri)) { return $staticFilePath; } return false; }
🎜 Pour "déprotéger" un site et y revenir via HTTP simple Pour desservir son trafic, utilisez la commandeunsecure
. Comme la commandesecure
, cette commande accepte le nom de l'hôte que vous souhaitez déprotéger : 🎜/** * 获取对应用程序的前端控制器的完全解析路径。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */ public function frontControllerPath($sitePath, $siteName, $uri){ return $sitePath.'/public/index.php'; }
🎜🎜🎜🎜Partager le site
🎜Valet inclut même des commandes pour partager votre site local avec le monde. Il n'est pas nécessaire d'installer de logiciel supplémentaire une fois Valet installé. 🎜🎜Pour partager un site, accédez au répertoire de votre site dans Terminal et exécutez la commandevalet share
. Une URL accessible au public sera insérée dans votre presse-papiers et pourra être collée directement dans votre navigateur. C'est tout. 🎜🎜Pour arrêter de partager votre site, appuyez surContrôle + C
pour annuler le processus. 🎜🎜🎜🎜🎜🎜🎜Pilote Valet personnalisé
Vous pouvez écrire votre propre "pilote" Valet pour fournir des services pour les applications PHP exécutées sur d'autres frameworks ou CMS que Valet ne prend pas en charge à l'origine. Lorsque vous installez Valet, un répertoire
~/.config/valet/Drivers
est créé et contient le fichierSampleValetDriver.php
. Ce fichier contient un exemple d'implémentation de pilote qui montre comment écrire un pilote personnalisé. L'écriture d'un pilote ne nécessite que l'implémentation de trois méthodes :serves
,isStaticFile
etfrontControllerPath
.SampleValetDriver.php
文件的~/.config/valet/Drivers
目录。该文件包含一个示例驱动程序实现,演示了如何编写一个自定义的驱动程序。编写驱动程序仅需要你去实现三个方法:serves
,isStaticFile
和frontControllerPath
。这三个方法都接受
$sitePath
,$siteName
和$uri
值作为参数。$sitePath
是你的机器上提供站点的完全限定路径。比如/Users/Lisa/Sites/my-project
。$siteName
是域(my-project
)的『主机』/『站点名称』部分。$uri
是即将到来的请求 URL(/foo/bar)。一旦你完成你的自定义 Valet 驱动,使用
FrameworkValetDriver.php
命名约定将它放置在~/.config/valet/Drivers
目录中。例如,如果你为 WordPress 编写了一个自定义的 valet 驱动,你的文件名称应该是WordPressValetDriver.php
。我们来看看自定义的 Valet 驱动程序应该实现的每种方法的示例实现。
serves
方法如果你的驱动程序应当处理即将到来的请求时,
serves
方法应该返回true
。否则,此方法应当返回false
。因此,在此方法中,你应该你企图确定给定的$sitePath
是否包含你尝试提供的类型的项目。例如,让我们假装正在编写一个
WordPressValetDriver
。我们的serves
方法可能看起来如下所示:class LocalValetDriver extends LaravelValetDriver{ /** * 确定驱动程序是否满足请求。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */ public function serves($sitePath, $siteName, $uri){ return true; } /** * 获取对应用程序的前端控制器的完全解析路径。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */ public function frontControllerPath($sitePath, $siteName, $uri){ return $sitePath.'/public_html/index.php'; } }
isStaticFile
方法
rrreeeisStaticFile
应当确定即将到来的请求是否针对一个『静态』文件,比如:图片和样式表。如果文件是静态的,此方法应当返回静态文件在磁盘上的完全限定路径。如果即将到来的请求不是针对一个静态文件,这个方法应当返回false
:{note} 如果
serves
方法对即将到来的请求且请求 URI 不是/
返回true
时,才会调用isStaticFile
方法。frontControllerPath
方法
Les trois méthodes acceptent les valeursfrontControllerPath
$sitePath
,$siteName
et$uri
comme paramètres.$sitePath
est le chemin complet vers le site sur votre ordinateur. Par exemple/Users/Lisa/Sites/my-project
.$siteName
est la partie 'host'/'sitename' du domaine (my-project
).$uri
est l'URL de la requête entrante (/foo/bar). Jetons un coup d'œil à un exemple d'implémentation de chaque méthode qu'un pilote Valet personnalisé devrait implémenter.
🎜Si votre pilote doit gérer les demandes entrantes,méthode des services
Les services
La méthode doit renvoyertrue
. Sinon, cette méthode devrait renvoyerfalse
. Par conséquent, dans cette méthode, vous devez tenter de déterminer si le$sitePath
donné contient un élément du type que vous essayez de fournir. 🎜🎜Par exemple, imaginons que nous écrivons unWordPressValetDriver
. Notre méthodeserves
pourrait ressembler à ceci : 🎜rrreee🎜méthode isStaticFile
h4 >🎜isStaticFile
doit déterminer si la requête à venir concerne un fichier "statique", tel que des images et des feuilles de style. Si le fichier est statique, cette méthode doit renvoyer le chemin complet du fichier statique sur le disque. Si la requête entrante ne concerne pas un fichier statique, cette méthode doit renvoyerfalse
: 🎜rrreee🎜{note} Si la méthode
serves
est destinée à la requête entrante et la requête La méthodeisStaticFile
sera appelée uniquement lorsque l'URI n'est pas/
et quetrue
est renvoyé. 🎜🎜
🎜La méthodeméthode frontControllerPath
frontControllerPath
devrait vous renvoyer Le chemin complet vers le "contrôleur frontal" de votre application, qui est généralement votre fichier "index.php" ou équivalent : 🎜rrreee🎜🎜🎜🎜🎜🎜Local Driver
Si vous souhaitez personnaliser le pilote Valet pour une seule application, créez un fichier
rrreeeLocalValetDriver.php
dans le répertoire racine de l'application. Votre pilote personnalisé peut étendre la classe de baseValetDriver
ou hériter d'un pilote spécifique à une application existant, tel que :LaravelValetDriver
:LocalValetDriver.php
文件。你的自定义驱动程序可以扩展ValetDriver
基类或者继承一个现有的应用程序的特定驱动程序,比如:LaravelValetDriver
:rrreee其它 Valet 命令
- Pour utiliser cette commande, passez d'abord à l'un de vos projets dans le terminal et exécutez
Introduction
Valet est un environnement de développement Laravel pour les minimalistes Mac. Sans Vagrant, il n'est pas nécessaire de configurer le fichier
/etc/hosts
. Vous pouvez même partager votre site publiquement en utilisant des tunnels locaux. Oui, nous l'aimons aussi./etc/hosts
文件。 甚至可以使用本地隧道公开分享你的站点。 Yeah, we like it too.Laravel Valet 为您的 Mac 设置了开机后始终在后台运行 Nginx 服务。 然后,Valet 使用 DnsMasq 将所有指向安装在本地的计算机站点请求代理到
*.test
结尾的域名上。换句话说,一个速度极快的 Laravel 开发环境只占用 7MB 内存。Valet 并不是想要完全替换 Vagrant 或 Homestead,只是提供另外一种使用起来更加灵活、方便、以及内存占用更小的选择。
Valet 支持但不局限于以下内容:
当然,您也可以使用 自定义驱动 来扩展您的 Valet。
Valet 还是 Homestead
您应该知道,Laravel 还提供了另外一种本地开发环境 Homestead。Homestead 和 Valet 的不同之处在于目标受众和本地开发的方式。Homestead 提供了一个完整的、具有自动化的 Nginx 配置的 Ubuntu 虚拟机。如果你想在 Windows/Linux 上实现完全虚拟化的 Linux 开发环境,Homestead 是一个不错的选择。
Valet 仅支持 Mac,并要求你将 PHP 和数据库服务器直接安装到本地机器上。这可以很容易地通过使用
Laravel Valet configure votre Mac pour qu'il exécute toujours le service Nginx en arrière-plan après le démarrage. Valet utilise ensuite DnsMasq pour transmettre par proxy toutes les requêtes de site dirigées vers l'ordinateur installé localement vers des noms de domaine se terminant parHomebrew
命令来实现,比如brew install php
和brew install mysql
*.test
. En d’autres termes, un environnement de développement Laravel incroyablement rapide n’occupe que 7 Mo de mémoire. Valet n'est pas destiné à remplacer complètement Vagrant ou Homestead, mais à fournir une autre option plus flexible, plus pratique et occupant moins de mémoire.Valet prend en charge, sans s'y limiter, les éléments suivants :
Bien sûr, vous pouvez également utiliser des pilotes personnaliséspour étendre votre Valet. 🎜🎜🎜🎜🎜Valet ou Homestead
🎜Vous devez savoir que Laravel fournit également Homestead, un autre environnement de développement local. La différence entre Homestead et Valet réside dans le public cible et l’approche du développement local. Homestead fournit une machine virtuelle Ubuntu complète avec une configuration Nginx automatisée. Si vous souhaitez implémenter un environnement de développement Linux entièrement virtualisé sur Windows/Linux, Homestead est un bon choix. 🎜🎜Valet est uniquement Mac et vous oblige à installer PHP et les serveurs de base de données directement sur votre machine locale. Ceci peut être facilement réalisé en utilisant les commandesHomebrew
telles quebrew install php
etbrew install mysql
. Valet fournit un environnement de développement local extrêmement rapide et peu gourmand en ressources, idéal pour les développeurs qui n'ont besoin que de PHP/MySQL et n'ont pas besoin d'un environnement de développement virtuel. 🎜🎜Valet et Homestead sont tous deux d'excellents choix pour configurer votre environnement de développement Laravel. Le choix dépend simplement de vos préférences personnelles et des besoins de votre équipe. 🎜🎜🎜🎜🎜🎜🎜Installation
Valet nécessite le système macOS et Homebrew. Avant l'installation, assurez-vous qu'aucun autre programme (comme Apache ou Nginx) n'occupe le port 80 de la machine locale.
brew update
将 Homebrew 安装或更新到最新版本。安装完 Valet 后,可以尝试使用类似
ping foobar.test
的命令在终端上 ping 任何一个*.test
的域名。如果 Valet 安装正确,可以在终端上看到来自127.0.0.1
的响应。每次机器启动时,Valet 会自动启动其进程。所以只要完成了 Valet 的初始化,就无需再次运行
valet start
或valet install
。使用其它域名
默认情况下,Valet 使用
.test
顶级域名为你的项目提供服务。如果你想使用其它域名,可以使用valet domain tld-name
命令。例如,如果你想使用
.app
来代替.test
,运行valet domain app
,Valet 会自动将站点顶级域名改为*.app
。数据库
如果你要使用数据库,请在终端运行
brew install mysql@5.7
安装 MySQL。一旦安装完成,你可以使用brew services start mysql
命令启动 MySQL。然后,你可以使用root
用户名和空字符串密码连接到127.0.0.1
的数据库。PHP 版本
Valet 允许你使用
valet use php@version
命令来切换 PHP 版本。如果指定版本尚未安装,Valet 将通过 Brew 来安装指定的 PHP 版本:valet use php@7.2valet use php
升级
你可以在终端使用
Installez Composer.composer global update
Utilisez la commandebrew install php
de Homebrew pour installer PHP 7.3.Utilisez la commandeExécutez la commandecomposer global require laravel/valet
de Composer pour installer Valet. Et assurez-vous que le répertoire~/.composer/vendor/bin
se trouve dans le "PATH" de votre système.valet install
pour configurer et installer Valet et DnsMasq, et enregistrez le service d'arrière-plan Valet pour qu'il démarre automatiquement lorsque le système est en cours d'exécution. 🎜🎜Après avoir installé Valet, vous pouvez essayer d'utiliser une commande similaire àping foobar.test
pour envoyer une requête ping à n'importe quel nom de domaine*.test
sur la borne. Si Valet est installé correctement, vous pouvez voir la réponse de127.0.0.1
sur le terminal. 🎜🎜Valet démarrera automatiquement son processus à chaque démarrage de la machine. Ainsi, une fois Valet initialisé, il n'est pas nécessaire d'exécuter à nouveauvalet start
ouvalet install
. 🎜🎜Utiliser un autre nom de domaine
🎜Par défaut, Valet utilise le nom de domaine de premier niveau.test
pour votre projet Servir. Si vous souhaitez utiliser un autre nom de domaine, vous pouvez utiliser la commandevalet domain tld-name
. 🎜🎜Par exemple, si vous souhaitez utiliser.app
au lieu de.test
, exécutezvalet domain app
et Valet modifiera automatiquement le nom du site. nom de domaine de premier niveau vers*.app
. 🎜🎜Base de données
🎜Si vous souhaitez utiliser une base de données, veuillez exécuterbrew install mysql@5.7
dans le terminal pour installer MySQL. Une fois l'installation terminée, vous pouvez démarrer MySQL à l'aide de la commandebrew services start mysql
. Vous pouvez ensuite vous connecter à la base de données à l'adresse127.0.0.1
en utilisant le nom d'utilisateurroot
et un mot de passe de chaîne vide. 🎜🎜Version PHP
🎜Valet vous permet de changer de version PHP à l'aide de la commandevalet use php@version
. Si la version spécifiée n'est pas encore installée, Valet installera la version PHP spécifiée via Brew : 🎜valet stop valet uninstall
🎜🎜🎜< h3>Mise à niveau🎜Vous pouvez utiliser la commandecomposer global update
dans le terminal pour mettre à jour Valet. Après la mise à niveau, si nécessaire, il est préférable d'exécuter à nouveau l'installation de Valet afin que Valet puisse mettre à niveau les fichiers de configuration. 🎜🎜🎜Mise à niveau vers Valet 2.0
Valet 2.0 déplace le serveur Web sous-jacent de Valet de Caddy vers Nginx. Avant de passer à cette version, vous devez arrêter et désinstaller le processus Caddy existant en exécutant la commande suivante :
composer global require laravel/valet
Ensuite, mettez à niveau Valet en fonction de la manière dont vous l'avez installé (généralement via Git ou Composer). Si vous avez installé Valet via Composer, vous devez utiliser la commande suivante pour mettre à jour vers la dernière version majeure :
valet install valet restart
Si vous avez mis à jour le code source de Valet, vous devez exécuter la commande d'installation :
valet secure laravel
Après la mise à niveau, vous devrez peut-être réinitialiser ou relier à nouveau votre site.
Site de service
Après avoir installé Valet, vous pouvez commencer à configurer votre site. Valet fournit deux commandes pour servir les sites Laravel :
park
etlink
.park
和link
。就这么多。 现在,你在 『parked』的目录中创建的任何 Laravel 项目都将自动使用
http://folder-name.test
这种方式访问。如果要在目录中提供单个站点而不是整个目录,就使用 link 命令。
commande park
- < li>Exécutez la commande
mkdir ~/Sites
pour créer un nouveau répertoire sur votre Mac. Ensuite, exécutezcd ~/Sites
etvalet park
pour utiliser le répertoire de travail actuel comme chemin permettant à Valet de rechercher des sites. 🎜