Kammerdiener


Einführung

Valet still Homestead
    • Installieren
    Upgrade
    • Service-Site
    Park Befehl
  • Link-Befehl
    • TLS verwenden Erstellen Sie eine sichere Website
    • Website teilen
    Valet anpassen Fahrer
  • Lokaler Fahrer
    • Anderer Parkservice Befehl
  • 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:

    • Laravel
    • Lumen
    • Bedrock
    • CakePHP 3
    • Beton5
    • Contao
    • Handwerk
    • Drupal
    • Puzzle
    • Joomla
    • Katana
    • Kirby
    • Magento
    • OctoberCMS
    • Sculpin
    • Slim
    • Statamisch
    • Statisch HTML
    • Symfony
    • WordPress
    • Zend

    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.

    • 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.

    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.


    park Befehl

    • Führen Sie den Befehl mkdir ~/Sites aus, um ein neues Verzeichnis auf dem Mac zu erstellen . Führen Sie als Nächstes cd ~/Sites und valet 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.


    linkBefehle

    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 über http://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 Sie valet link subdomain.app-name im Anwendungsverzeichnis aus.


    Sichern der Site mit TLS

    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, wenn true 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 守护进程
    Dieser Artikel wurde erstmals veröffentlicht in LearnKu.com Website.