Valetsettingssearchanchorlibrary_booksイントロダクションIntroductionValet(ベレット:従者)はMacミニマニストのためのLaravel開発環境です。Vagrantも不要、/etc/hostsファイルも不要です。ローカルトンネルを使って、サイトを公開し、シェアすることもできます。ええ、私達はこういうのも好きなんですよね。Valetはマシン起動時にバックグランドでNginxがいつも実行されるように、Macを設定します。そのため、DnsMasqを使用し、Valetは*.testドメインへの全リクエストを、ローカルマシンへインストールしたサイトへ向けるようにプロキシ動作します。machine.言い換えれば、大体7MBのRAMを使う、とても早いLaravelの開発環境です。ValetはVagrantやHomesteadを完全に置き換えるものではありませんが、柔軟な基礎、特にスピード重視であるか、RAMが限られているマシンで動作させるのには、素晴らしい代替になります。RAM.Valetは以下をサポートしていますが、これらに限定されません。[Zend](https://framework.zend.com)独自のカスタムドライバでValetを拡張できます。Homesteadご存知のように、ローカルのLaravel開発環境としてHomesteadも用意しています。HomesteadとValetは利用者の目的とローカルの開発についてのアプローチが異なります。Homesteadは自動的にNginx設定を行うUbuntuの完全な仮想マシンを提供しています。HomesteadはLinux開発環境の完全な仮想化を行いたい、もしくはWindows/Linux上で動作させたい場合、素晴らしい選択肢になります。Linux.ValetはMac上でのみサポートされ、PHPとデータベースサーバを直接ローカルマシンへインストールする必要があります。mysqlのようなコマンドを実行すれば、簡単にインストールできます。Valetは最低限度のリソースを使い、とても早いローカル開発環境を提供します。そのため、PHPとMySQLだけが必要で、完全な仮想開発環境は必要ない場合にぴったりです。environment.ValetとHomesteadのどちらを選んでも、Laravelの開発環境に向け設定されており、良い選択になるでしょう。どちらを選ぶかは、自分の好みとチームの必要により決まるでしょう。needs.インストールInstallationValetにはMacオペレーティングシステムとHomebrewが必要です。インストールする前に、ApacheやNginxのようなローカルマシンの80番ポートへバインドするプログラムがないことを確認してください。update`で最新バージョンの[Homebrew](http://brew.sh/)をインストール、もしくはアップデートしてください。php@7.2`でPHP7.2をインストールしてください。laravel/valet`でValetをインストールしてください。`~/.composer/vendor/bin`ディレクトリが実行パスに含まれていることを確認してください。install`コマンドを実行してください。これによりValetとDnsMasqがインストール/設定され、システム起動時に起動されるValetのデーモンが登録されます。foobar.testのようなコマンドで、ターミナルから*.testドメインに対してpingを実行してください。Valetが正しくインストールされていれば、このドメインは127.0.0.1へ対応していることが分かるでしょう。127.0.0.1.Valetはマシンが起動されると、毎回デーモンを自動的に起動します。installを再び実行する必要は永久にありません。TLDをプロジェクトのドメインとして処理します。tld-nameコマンドを使ってください。Valetは*.appをプロジェクトのために自動的に使い始めます。mysql@5.7を実行し、MySQLを試してください。mysqlコマンドを使い、起動します。127.0.0.1でデータベースに接続し、ユーザー名はroot、パスワードは空文字列です。updateコマンドを実行します。installコマンドを実行し、必要な設定ファイルの追加アップグレードを行うのは、グッドプラクティスです。2.0では、Valetの裏で動作するWebサーバをCaddyからNginxへ移動しました。このバージョン並行するは、以下のコマンドを実行し、既存のCaddyデーモンを停止し、アンインストールしてください。uninstall次に、Valetの最新バージョンへアップグレードします。Valetをどのようにインストールしたかにより、通常GitかComposerを使用して行います。ValetをComposerによりインストールしている場合は、最新のメジャーバージョンにアップデートするために、以下のコマンドを実行してください。laravel/valet真新しいValetのソースコードがダウンロードできたら、installコマンドを実行します。restartアップグレードできたら、parkとlinkをやり直してください。SitesValetがインストールできたら、サイトを動作させる準備ができました。Laravelサイトを動作させるために役立つ、parkとlinkの2コマンドを用意しています。~/Sites`のように、Mac上に新しいディレクトリを作成ししてください。park`を実行します。このコマンドはカレントワーキングディレクトリをValetがサイトを探す親パスとして登録します。次に、このディレクトリ内で、新しいLaravelサイトを作成します。`http://blog.test`をブラウザで開きます。必要なのはこれだけです。これで"parked"ディレクトリ内で作成されたLaravelプロジェクトは、http://フォルダ名.test規約に従い、自動的に動作します。convention.linkコマンドlinkコマンドはparkのように親ディレクトリを指定するのではなく、各ディレクトリ中で一つのサイトを動作させるのに便利です。アプリケーション名`を実行します。Valetはカレントワーキングディレクトリから`~/.valet/Sites`内へシンボリックリンクを張ります。`link`コマンド実行後、ブラウザで`http://アプリケーション名.test`にアクセスできます。linksコマンドを実行してください。app-nameを使います。linkを使用できます。subdomain.app-nameを実行します。folder.TLSによる安全なサイトValetはデフォルトで通常のHTTP通信で接続します。HTTP/2を使った暗号化されたTLSで通信したい場合は、secureコマンドを使ってください。laravel.testドメインでValetによりサイトが動作している場合、以下のコマンドを実行することで安全な通信を行います。laravelサイトを「安全でない」状態へ戻し、通常のHTTP通信を使いたい場合は、unsecureコマンドです。secureコマンドと同様に、セキュアな通信を辞めたいホスト名を指定します。SitesValetはローカルサイトを世界と共有するコマンドも用意しています。Valetがインストールしてあれば、他のソフトウェアは必要ありません。shareコマンドを実行します。公開用のURLはクリップボードにコピーされますので、ブラウザに直接ペーストしてください。Cを押してプロセスをキャンセルしてください。shareはサポートしていません。DriversValetでサポートされていない、他のフレームワークやCMSでPHPアプリケーションを実行するには、独自のValet「ドライバ」を書く必要があります。Valetをインストールすると作成される、~/.valet/DriversディレクトリにSampleValetDriver.phpファイルが存在しています。このファイルは、カスタムドライバーをどのように書いたら良いかをデモンストレートするサンプルドライバの実装コードです。ドライバを書くために必要なserves、isStaticFile、frontControllerPathの3メソッドを実装するだけです。frontControllerPath.全3メソッドは$sitePath、$siteName、$uriを引数で受け取ります。$sitePathは、/Users/Lisa/Sites/my-projectのように、サイトプロジェクトへのフルパスです。"サイト名"記法のドメイン(my-project)です。$uriはやって来たリクエストのURI(/foo/bar)です。(/foo/bar).カスタムValetドライバを書き上げたら、フレームワークValetDriver.php命名規則をつかい、~/.valet/Driversディレクトリ下に設置してください。WordPress用にカスタムValetドライバを書いたら、ファイル名はWordPressValetDriver.phpになります。WordPressValetDriver.php.カスタムValetドライバで実装する各メソッドのサンプルコードを見ていきましょう。Methodservesメソッドは、そのドライバがやって来たリクエストを処理すべき場合に、trueを返してください。それ以外の場合はfalseを返してください。そのためには、メソッドの中で、渡された$sitePathの内容が、動作させようとするプロジェクトタイプを含んでいるかを判定します。serve.では擬似サンプルとして、WordPressValetDriverを書いてみましょう。servesメソッドは以下のようになります。MethodisStaticFileはリクエストが画像やスタイルシートのような「静的」なファイルであるかを判定します。ファイルが静的なものであれば、そのファイルが存在するディスク上のフルパスを返します。リクエストが静的ファイルでない場合は、falseを返します。isStaticFileメソッドは、リクエストのURIが/ではなく、servesメソッドでtrueが返された場合のみ呼びだされます。MethodfrontControllerPathメソッドは、アプリケーションの「フロントコントローラ」への絶対パスを返します。通常は"index.php`ファイルか、似たようなファイルでしょう。Drivers一つのアプリケーションに対して、Valetのカスタムドライバを定義する場合は、アプリケーションのルートディレクトリにLocalValetDriver.phpを作成してください。カスタムドライバは、ベースのValetDriverクラスか、LaravelValetDriverのような、既存のアプリケーション専用のドライバを拡張します。"park"された(サイト検索の親ディレクトリとして登録されたJ)ディレクトリでこのコマンドを実行し、サイト検索対象のディレクトリリストから外します。"park"されたすべてのパスを表示します。Valetデーモンをリスタートします。Valetデーモンをスタートします。Valetデーモンを停止します。Valetデーモンを完全にアンインストールします。2018.ドキュメントメンテナンス期間は終了しました。明暗テーマごとに、コードハイライトのテーマを指定できます。テーマ配色確認スクリーン表示幅640px80%90%100%768px以上の幅があるときのドキュメント部分表示幅です。段落末のEボタンへカーソルオンで原文をPopupします。[tl!...]形式の挿入削除行の表示形式です。置換文字列を半角スペースで区切ってください。(最大5組各10文字まで)本文フォント総称名以外はCSSと同様に、"〜"でエスケープしてください。コードフォント総称名以外はCSSと同様に、"〜"でエスケープしてください。保存内容リセット消去localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。