係員付き係員
- アップグレード
- パーク コマンド
- その他の Valet コマンド
はじめに
Valet は、Mac ミニマリスト向けの Laravel 開発環境です。 Vagrant を使用しない場合、
/etc/hosts
ファイルを設定する必要はありません。ローカル トンネルを使用してサイトをパブリックに共有することもできます。ええ、私たちも気に入っています。Laravel Valet は、Mac の起動後に常に Nginx サービスをバックグラウンドで実行するように設定します。次に、Valet は DnsMasq を使用して、ローカルにインストールされたコンピューターに送信されるすべてのサイト要求を
*.test
で終わるドメイン名にプロキシします。言い換えれば、超高速な Laravel 開発環境は 7MB のメモリしか必要としません。 Valet は、Vagrant や Homestead を完全に置き換えることを目的としたものではなく、より柔軟で便利でメモリ使用量が少ない別のオプションを提供することを目的としています。
Valet は以下をサポートしますが、これらに限定されません:
- Laravel
- Lumen
- Bedrock
- CakePHP 3
- Concrete5
- Contao
- Craft
- Drupal
- Jigsaw
- Joomla
- Katana
- カービィ
- Magento
- OctoberCMS
- スカルピン
- スリム
- 静的
- 静的HTML
- Symfony
- WordPress
- Zend
もちろん、カスタム ドライバーを使用して拡張することもできますあなたの係員。
Valet または Homestead
Laravel には、Homestead という別のローカル開発環境も提供されていることを知っておく必要があります。ホームステッドとバレットの違いは、対象者と地域開発へのアプローチです。 Homestead は、自動化された Nginx 構成を備えた完全な Ubuntu 仮想マシンを提供します。 Windows/Linux 上に完全に仮想化された Linux 開発環境を実装したい場合は、Homestead が良い選択です。
Valet は Mac のみで、PHP とデータベース サーバーをローカル マシンに直接インストールする必要があります。これは、
brew install php
やbrew install mysql
などのHomebrew
コマンドを使用することで簡単に実現できます。 Valet は、非常に高速で、リソースの消費が最小限に抑えられたローカル開発環境を提供します。これは、PHP/MySQL のみが必要で、仮想開発環境を必要としない開発者に最適です。Valet と Homestead はどちらも、Laravel 開発環境を構成するための優れた選択肢です。どちらを選択するかは、個人の好みとチームのニーズによって決まります。
インストール
ValetにはmacOSシステムとHomebrewが必要です。インストールする前に、他のプログラム (Apache や Nginx など) がローカル マシンのポート 80 を占有していないことを確認してください。
brew update
を使用して、Homebrew をインストールまたは最新バージョンに更新します。- Homebrew の
brew install php
コマンドを使用して、PHP 7.3 をインストールします。 - Composer をインストールします。
- Composer の
composer global require laravel/valet
コマンドを使用して、Valet をインストールします。そして、~/.composer/vendor/bin
ディレクトリがシステムの「PATH」にあることを確認してください。 valet install
コマンドを実行して、Valet と DnsMasq を構成およびインストールし、システムの実行時に自動的に開始される Valet バックグラウンド サービスを登録します。
Valet をインストールした後、
Valet は、マシンが起動するたびにプロセスを自動的に開始します。したがって、Valet が初期化されると、ping foobar.test## のようなコマンドを使用して、端末上の任意の
*.testドメイン名に ping を試みることができます。 # 。 Valet が正しくインストールされている場合は、端末上で
127.0.0.1からの応答を確認できます。
valet start
別のドメイン名を使用するデフォルトでは、Valet はまたは
valet installを再度実行する必要はありません。
.test
たとえば、最上位ドメイン名を使用してプロジェクトを提供します。別のドメイン名を使用する場合は、
valet domain tld-nameコマンドを使用できます。
.test
データベースデータベースを使用する場合は、ターミナルでの代わりに
.appを使用する場合は、
valet ドメイン appを実行します。Valet はサイトのドメインを自動的に変更します。トップレベル ドメイン名は
*.appです。
brew install mysql@5.7
PHP バージョンValet では、を実行して MySQL をインストールしてください。インストールが完了したら、
brew services start mysqlコマンドを使用して MySQL を起動できます。その後、
rootユーザー名と空の文字列パスワードを使用して、
127.0.0.1のデータベースに接続できます。
valet use php@version
コマンドを使用して PHP バージョンを切り替えることができます。指定されたバージョンがまだインストールされていない場合、Valet は Brew を通じて指定された PHP バージョンをインストールします:
valet use php@7.2valet use php
UpgradeYou Valet は、ターミナルでcomposer global update
コマンドを使用して更新できます。アップグレード後、必要に応じて、Valet が構成ファイルをアップグレードできるように、valet install を再度実行することをお勧めします。
Valet 2.0 へのアップグレード
Valet 2.0 は、Valet の基盤となる Web サーバーを Caddy から Nginx に移動します。このバージョンにアップグレードする前に、次のコマンドを実行して既存の Caddy プロセスを停止してアンインストールする必要があります:
valet stop valet uninstall
次に、インストール方法 (通常は Git または Composer 経由) に応じて Valet をアップグレードします。 Valet が Composer を通じてインストールされている場合は、次のコマンドを使用して最新のメジャー バージョンに更新する必要があります:
composer global require laravel/valet
Valet のソース コードを更新した場合は、インストール コマンドを実行する必要があります:
valet install valet restart
アップグレード後、サイトをリセットまたは再リンクする必要がある場合があります。
サービス サイト
Valet をインストールしたら、サイトのセットアップを開始できます。 Valet は、Laravel サイトにサービスを提供する 2 つのコマンド、
park
とlink
を提供します。- 実行
- mkdir ~/Sites
コマンドは Mac 上に新しいディレクトリを作成します。次に、
cd ~/Sitesと
valet parkを実行して、現在の作業ディレクトリを Valet がサイトを検索するためのパスとして使用します。
次に、このディレクトリに新しい Laravel サイトを作成します: - laravel new blog
。
ブラウザで - http://blog.test
を開きます。
以上です。 これで、「パーク」ディレクトリに作成した Laravel プロジェクトは、http://folder-name.test
ディレクトリではなくディレクトリ内の単一サイトを提供する場合に使用します。ディレクトリ全体のリンクコマンド。を使用して自動的にアクセスされるようになります。
- このコマンドを使用するには、まずターミナルでプロジェクトの 1 つに切り替えて、
- valet link app-name
を実行します。 Valet は、現在のディレクトリを指すシンボリック リンクを
~/.valet/Sitesに作成します。
- link
コマンドを実行すると、ブラウザの
http://app-name.testを通じてサイトにアクセスできます。
valet links
コマンドを実行して、すべてのディレクトリ リンクのリストを表示します。valet unlink app-name
を使用してシンボリック リンクを削除することもできます。{ヒント}
valet link
を使用して、複数の (サブ) ドメイン名を同じアプリケーションに指定できます。サブドメインまたは他のドメイン名をアプリケーションに追加するには、アプリケーション ディレクトリでvalet link subdomain.app-name
を実行します。デフォルトでは、Valet はプレーン HTTP 経由でサイトを提供します。ただし、HTTP/2 を使用して暗号化された TLS 経由でサイトを提供する場合は、
secure
コマンドを使用します。たとえば、サイトが Valet 経由でlaravel.test
ドメインで提供されている場合、次のコマンドを実行してサイトを保護する必要があります:valet secure laravel
サイトの「保護を解除」してサイトを復元するにはプレーン HTTP 経由でトラフィックを処理するには、
unsecure
コマンドを使用します。secure
コマンドと同様に、このコマンドは保護を解除するホストの名前を受け入れます:valet unsecure laravel
#共有サイトValet には、ローカル サイトを世界と共有するコマンドも含まれています。 Valet をインストールしたら、追加のソフトウェアをインストールする必要はありません。 サイトを共有するには、ターミナルでサイト ディレクトリに移動し、valet share
サイトの共有を停止するには、コマンドを実行します。一般にアクセス可能な URL がクリップボードに挿入され、ブラウザに直接貼り付けることができます。それだけです。
Control C
を押してプロセスをキャンセルします。
カスタム Valet ドライバー
独自の Valet 「ドライバー」を作成して、Valet が本来サポートしていない他のフレームワークまたは CMS 上で実行される PHP アプリケーションにサービスを提供できます。 Valet をインストールすると、
SampleValetDriver.php
ファイルを含むディレクトリ~/.config/valet/Drivers
が作成されます。このファイルには、カスタム ドライバーの作成方法を示すサンプル ドライバー実装が含まれています。ドライバーを作成するには、serves
、isStaticFile
、およびfrontControllerPath
の 3 つのメソッドを実装するだけで済みます。3 つのメソッドはすべて、
$sitePath
、$siteName
、および$uri
の値をパラメーターとして受け入れます。$sitePath
は、サイトにサービスを提供するマシン上の完全修飾パスです。たとえば、/Users/Lisa/Sites/my-project
です。$siteName
は、ドメイン (my-project
) の「ホスト」/「サイト名」の部分です。$uri
は受信リクエスト URL (/foo/bar) です。カスタム Valet ドライバーが完成したら、
FrameworkValetDriver.php
命名規則を使用して、それを~/.config/valet/Drivers
ディレクトリに配置します。たとえば、WordPress 用のカスタム バレット ドライバーを作成した場合、ファイル名はWordPressValetDriver.php
になります。カスタム Valet ドライバーが実装する必要がある各メソッドのサンプル実装を見てみましょう。
serves
メソッドドライバーが受信リクエストを処理する必要がある場合、
serves
メソッドはtrue を返す必要があります。
。それ以外の場合、このメソッドはfalse
を返す必要があります。したがって、このメソッドでは、指定された$sitePath
に、提供しようとしているタイプの項目が含まれているかどうかを判断する必要があります。たとえば、
WordPressValetDriver
を作成しているとしましょう。serves
メソッドは次のようになります:/** * 确定驱动程序是否满足请求。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */ public function serves($sitePath, $siteName, $uri){ return is_dir($sitePath.'/wp-admin'); }
isStaticFile
MethodisStaticFile
受信リクエストが画像やスタイルシートなどの「静的」ファイルに対するものであるかどうかを判断します。ファイルが静的な場合、このメソッドはディスク上の静的ファイルへの完全修飾パスを返す必要があります。受信リクエストが静的ファイルに対するものではない場合、このメソッドはfalse
:/** * 确定即将到来的请求是否针对静态文件。 * * @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; }
frontControllerPath{note} を返す必要があります。受信リクエスト そして、
isStaticFile
メソッドは、リクエスト URI が/
ではなく、true
が返された場合にのみ呼び出されます。メソッド
frontControllerPathこのメソッドは、アプリケーションの完全な「フロント コントローラー」を返す必要があります。修飾されたパス。通常は「index.php」ファイルまたは同等のファイルです:
/** * 获取对应用程序的前端控制器的完全解析路径。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */ public function frontControllerPath($sitePath, $siteName, $uri){ return $sitePath.'/public/index.php'; }
ローカル ドライバー
単一アプリケーション用に Valet ドライバーをカスタマイズする場合は、アプリケーションのルート ディレクトリに
LocalValetDriver.php
ファイルを作成します。カスタム ドライバーは、ValetDriver
基本クラスを拡張するか、次のような既存のアプリケーション固有のドライバーを継承できます。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'; } }
その他の Valet コマンド
この記事は、コマンド 説明 valet remember
「常駐」ディレクトリからこのコマンドを実行して、常駐ディレクトリ リストから他のディレクトリを削除します valet パス
すべての「常駐」パスを表示 #Valet デーモン プロセスを再起動valet の再起動
valet start Valet デーモン プロセスを開始しますvalet stop Valet デーモンを停止しますvalet uninstall Valet デーモンのアンインストールを完了します