Kammerdiener
- Upgrade
- Park Befehl
- Link-BefehlValet anpassen Fahrer
- Lokaler Fahrer
- Laravel
- Lumen
- Bedrock
- CakePHP 3
- Beton5
- Contao
- Handwerk
- Drupal
- Puzzle
- Joomla
- Katana
- Kirby
- Magento
- OctoberCMS
- Sculpin
- Slim
- Statamisch
- Statisch HTML
- Symfony
- WordPress
- Zend
- Verwenden Sie
brew update
, um Homebrew auf die neueste Version zu installieren oder zu aktualisieren. - Installieren Sie PHP 7.3 mit dem
brew install php
-Befehl von Homebrew. - Composer installieren.
- Verwenden Sie den Composer-Befehl
composer global require laravel/valet
, um Valet zu installieren. Und stellen Sie sicher, dass sich das Verzeichnis~/.composer/vendor/bin
im „PATH“ Ihres Systems befindet. - Führen Sie den Befehl
valet install
aus, um Valet und DnsMasq zu konfigurieren und zu installieren, und registrieren Sie den Valet-Hintergrunddienst so, dass er automatisch gestartet wird, wenn das System ausgeführt wird.
Einführung
Valet ist die Laravel-Entwicklungsumgebung für Mac-Minimalisten. Ohne Vagrant sind keine Konfigurationsdateien /etc/hosts
erforderlich. Mithilfe lokaler Tunnel können Sie Ihre Website sogar öffentlich teilen. Ja, uns gefällt es auch.
Laravel Valet richtet den Nginx-Dienst so ein, dass er immer im Hintergrund läuft, nachdem Ihr Mac eingeschaltet ist. Valet verwendet dann DnsMasq, um alle an den lokal installierten Computer gerichteten Site-Anfragen an Domänennamen weiterzuleiten, die auf *.test
enden.
Mit anderen Worten: Eine rasend schnelle Laravel-Entwicklungsumgebung benötigt nur 7 MB Speicher. Valet soll Vagrant oder Homestead nicht vollständig ersetzen, sondern eine weitere Option bieten, die flexibler und bequemer ist und weniger Speicher beansprucht.
Valet unterstützt Folgendes, ist aber nicht darauf beschränkt:
Natürlich können Sie auch benutzerdefinierte Treiber verwenden Erweitern Sie Ihren Valet.
Valet oder Homestead
Sie sollten wissen, dass Laravel auch eine weitere lokale Entwicklungsumgebung bietet, Homestead. Der Unterschied zwischen Homestead und Valet besteht in der Zielgruppe und dem Ansatz zur lokalen Entwicklung. Homestead bietet eine vollständige virtuelle Ubuntu-Maschine mit automatisierter Nginx-Konfiguration. Wenn Sie eine vollständig virtualisierte Linux-Entwicklungsumgebung unter Windows/Linux implementieren möchten, ist Homestead eine gute Wahl.
Valet ist nur für Mac verfügbar und erfordert die Installation von PHP und Datenbankservern direkt auf Ihrem lokalen Computer. Dies kann einfach durch die Verwendung der Homebrew
-Befehle wie brew install php
und brew install mysql
erreicht werden. Valet bietet eine extrem schnelle, minimal ressourcenintensive lokale Entwicklungsumgebung, ideal für Entwickler, die nur PHP/MySQL benötigen und keine virtuelle Entwicklungsumgebung benötigen.
Valet und Homestead sind beide ausgezeichnete Optionen für die Einrichtung einer Laravel-Entwicklungsumgebung. Für welche Lösung Sie sich entscheiden, hängt einfach von Ihren persönlichen Vorlieben und den Bedürfnissen Ihres Teams ab.
Installation
Valet erfordert das macOS-System und Homebrew. Stellen Sie vor der Installation sicher, dass kein anderes Programm (wie Apache oder Nginx) Port 80 des lokalen Rechners belegt.
Nach der Installation von Valet können Sie versuchen, einen Befehl wie ping foobar.test
zu verwenden, um einen beliebigen *.test
-Domänennamen auf dem Terminal anzupingen. Wenn Valet korrekt installiert ist, können Sie die Antwort von 127.0.0.1
auf dem Terminal sehen.
Valet startet seinen Vorgang automatisch jedes Mal, wenn die Maschine startet. Sobald Valet initialisiert ist, ist es nicht erforderlich, valet start
oder valet install
erneut auszuführen.
Verwenden Sie einen anderen Domänennamen
Standardmäßig verwendet Valet die Top-Level-Domäne .test
, um Ihr Projekt zu bedienen. Wenn Sie einen anderen Domainnamen verwenden möchten, können Sie den Befehl valet domain tld-name
verwenden.
Wenn Sie beispielsweise .app
anstelle von .test
verwenden möchten, führen Sie valet domain app
aus und Valet ändert den Top-Level-Domainnamen der Site automatisch in *.app
.
Datenbank
Wenn Sie eine Datenbank verwenden möchten, führen Sie bitte brew install mysql@5.7
im Terminal aus, um MySQL zu installieren. Sobald die Installation abgeschlossen ist, können Sie MySQL mit dem Befehl brew services start mysql
starten. Anschließend können Sie mit dem Benutzernamen root
und dem leeren String-Passwort eine Verbindung zur Datenbank von 127.0.0.1
herstellen.
PHP-Version
Valet ermöglicht Ihnen, PHP-Versionen mit dem Befehl valet use php@version
zu wechseln. Wenn die angegebene Version noch nicht installiert ist, installiert Valet die angegebene PHP-Version über Brew:
valet use php@7.2valet use php
Upgrade
Ihr Valet kann mit dem Befehl composer global update
im Terminal aktualisiert werden. Nach dem Upgrade ist es bei Bedarf am besten, die Valet-Installation erneut auszuführen, damit Valet die Konfigurationsdateien aktualisieren kann.
Upgrade auf Valet 2.0
Valet 2.0 verschiebt den zugrunde liegenden Webserver von Valet von Caddy auf Nginx. Bevor Sie auf diese Version aktualisieren, sollten Sie den vorhandenen Caddy-Prozess stoppen und deinstallieren, indem Sie den folgenden Befehl ausführen:
valet stop valet uninstall
Als nächstes aktualisieren Sie Valet, je nachdem, wie Sie es installiert haben (normalerweise über Git oder Composer). Wenn Valet über Composer installiert wird, sollten Sie den folgenden Befehl verwenden, um auf die neueste Hauptversion zu aktualisieren:
composer global require laravel/valet
Wenn Sie den Quellcode von Valet aktualisiert haben, sollten Sie den Installationsbefehl ausführen:
valet install valet restart
Nach dem Upgrade kann es erforderlich sein, Ihre Website zurückzusetzen oder neu zu verknüpfen.
Service-Site
Nach der Installation von Valet können Sie mit der Einrichtung Ihrer Site beginnen. Valet stellt zwei Befehle zur Verfügung, um Laravel-Sites zu bedienen: park
und link
.
- Führen Sie den Befehl
mkdir ~/Sites
aus, um ein neues Verzeichnis auf dem Mac zu erstellen . Führen Sie als Nächstescd ~/Sites
undvalet park
aus, um das aktuelle Arbeitsverzeichnis als Pfad zu verwenden, in dem Valet nach der Site sucht. - Als nächstes erstellen Sie eine neue Laravel-Site in diesem Verzeichnis:
laravel new blog
. - Öffnen Sie
http://blog.test
in Ihrem Browser.
Das ist alles. Jetzt wird auf alle Laravel-Projekte, die Sie im Verzeichnis „geparkt“ erstellen, automatisch mit http://folder-name.test
auf diese Weise zugegriffen.
Verwenden Sie den Link-Befehl, wenn Sie eine einzelne Site in einem Verzeichnis anstelle der gesamten bereitstellen möchten Verzeichnis.
- Um diesen Befehl zu verwenden, wechseln Sie zunächst zu einem Ihrer Projekte im Terminal und führen Sie
valet link app-name
aus. Valet erstellt in~/.valet/Sites
einen symbolischen Link, der auf das aktuelle Verzeichnis verweist. - Nachdem Sie den Befehl
link
ausgeführt haben, können Sie überhttp://app-name.test
im Browser auf die Website zugreifen.
Führen Sie den Befehl valet links
aus, um eine Liste aller Verzeichnisverknüpfungen anzuzeigen. Sie können auch valet unlink app-name
verwenden, um symbolische Links zu entfernen.
{tip} Sie können
valet link
verwenden, um mehrere (Sub-)Domains auf dieselbe Anwendung zu verweisen. Um der Anwendung eine Subdomäne oder einen anderen Domänennamen hinzuzufügen, führen Sievalet link subdomain.app-name
im Anwendungsverzeichnis aus.
Standardmäßig stellt Valet die Site über einfaches HTTP bereit. Wenn Sie jedoch möchten, dass eine Site über verschlüsseltes TLS mit HTTP/2 bereitgestellt wird, verwenden Sie den Befehl secure
. Wenn Ihre Site beispielsweise über Valet auf der Domain laravel.test
bereitgestellt wird, sollten Sie den folgenden Befehl ausführen, um sie zu schützen:
valet secure laravel
Um den Schutz einer Site aufzuheben und sie wieder über einfaches HTTP für Datenverkehr bereitzustellen , verwenden Sie den Befehl unsecure
. Wie der Befehl secure
akzeptiert dieser Befehl den Namen des Hosts, dessen Schutz Sie aufheben möchten:
valet unsecure laravel
Shared site
Valet enthält sogar Befehle, um Ihre lokale Website mit der Welt zu teilen. Nach der Installation von Valet ist keine Installation zusätzlicher Software erforderlich.
Um eine Site freizugeben, navigieren Sie im Terminal zu Ihrem Site-Verzeichnis und führen Sie den Befehl valet share
aus. Eine öffentlich zugängliche URL wird in Ihre Zwischenablage eingefügt und kann direkt in Ihren Browser eingefügt werden. Das ist alles.
Um die Freigabe Ihrer Website zu beenden, drücken Sie Control C
, um den Vorgang abzubrechen.
Benutzerdefinierter Valet-Treiber
Sie können Ihren eigenen Valet-„Treiber“ schreiben, um Dienste für PHP-Anwendungen bereitzustellen, die auf anderen Frameworks oder CMSs ausgeführt werden, die Valet ursprünglich nicht unterstützt. Wenn Sie Valet installieren, wird ein SampleValetDriver.php
-Verzeichnis erstellt, das ~/.config/valet/Drivers
-Dateien enthält. Diese Datei enthält eine Beispieltreiberimplementierung, die zeigt, wie ein benutzerdefinierter Treiber geschrieben wird. Zum Schreiben eines Treibers müssen Sie lediglich drei Methoden implementieren: serves
, isStaticFile
und frontControllerPath
.
Alle drei Methoden akzeptieren $sitePath
-, $siteName
- und $uri
-Werte als Parameter. $sitePath
ist der vollständig qualifizierte Pfad auf Ihrem Computer, der die Site bedient. Zum Beispiel /Users/Lisa/Sites/my-project
. $siteName
ist der „Host“/„Site-Name“-Teil der Domain (my-project
). $uri
ist die URL der eingehenden Anfrage (/foo/bar).
Sobald Sie Ihren benutzerdefinierten Valet-Treiber fertiggestellt haben, platzieren Sie ihn im Verzeichnis FrameworkValetDriver.php
unter Verwendung der Namenskonvention ~/.config/valet/Drivers
. Wenn Sie beispielsweise einen benutzerdefinierten Valet-Treiber für WordPress geschrieben haben, lautet Ihr Dateiname WordPressValetDriver.php
.
Sehen wir uns eine Beispielimplementierung jeder Methode an, die ein benutzerdefinierter Valet-Treiber implementieren sollte.
serves
Methode
Die serves
-Methode sollte true
zurückgeben, wenn Ihr Fahrer die eingehende Anfrage bearbeiten soll. Andernfalls sollte diese Methode false
zurückgeben. Daher sollten Sie bei dieser Methode versuchen festzustellen, ob das angegebene $sitePath
ein Element des Typs enthält, den Sie bereitstellen möchten.
Stellen wir uns zum Beispiel vor, wir schreiben ein WordPressValetDriver
. Unsere serves
-Methode könnte so aussehen:
/** * 确定驱动程序是否满足请求。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */ public function serves($sitePath, $siteName, $uri){ return is_dir($sitePath.'/wp-admin'); }
isStaticFile
Die Methode
isStaticFile
sollte bestimmen, ob es sich bei der bevorstehenden Anfrage um ein 『statisches 』Dokument handelt , wie Bilder und Stylesheets. Wenn die Datei statisch ist, sollte diese Methode den vollständig qualifizierten Pfad zur statischen Datei auf der Festplatte zurückgeben. Diese Methode sollte false
zurückgeben, wenn die eingehende Anforderung nicht für eine statische Datei gilt:
/** * 确定即将到来的请求是否针对静态文件。 * * @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; }
{note} Wenn die
serves
-Methode für eine eingehende Anforderung gilt und der Anforderungs-URI nicht <🎜 ist > Die Methode/
wird nur aufgerufen, wenntrue
vorhanden ist.isStaticFile
-Methode Die frontControllerPath
-Methode sollte den vollständig qualifizierten Pfad zum „Front-Controller“ Ihrer Anwendung zurückgeben, bei dem es sich normalerweise um Ihren handelt 『index.php』-Datei oder gleichwertige Datei: frontControllerPath
/** * 获取对应用程序的前端控制器的完全解析路径。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */ public function frontControllerPath($sitePath, $siteName, $uri){ return $sitePath.'/public/index.php'; }
Lokaler Treiber
Wenn Sie den Valet-Treiber für eine einzelne Anwendung anpassen möchten, erstellen Sie eine LocalValetDriver.php
-Datei im Stammverzeichnis der Anwendung. Ihr benutzerdefinierter Treiber kann die ValetDriver
-Basisklasse erweitern oder einen vorhandenen anwendungsspezifischen Treiber erben, wie zum Beispiel: LaravelValetDriver
:
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'; } }
Andere Valet-Befehle
命令 | 描述 |
---|---|
valet forget | 从一个『驻留』目录运行此命令,从驻留目录列表将其它移除 |
valet paths | 查看所有『驻留』路径 |
valet restart | 重启 Valet 守护进程 |
valet start | 开启 Valet 守护进程 |
valet stop | 停止 Valet 守护进程 |
valet uninstall | 完成卸载 Valet 守护进程 |