ホームページ  >  記事  >  バックエンド開発  >  [ Laravel 5.2 ドキュメント ] 入門 -- Laravel Valet (Mac 開発環境)

[ Laravel 5.2 ドキュメント ] 入門 -- Laravel Valet (Mac 開発環境)

WBOY
WBOYオリジナル
2016-06-20 12:29:291318ブラウズ

1. 概要

Valet は、Vagrant、Apache、Nginx、または /etc/hosts ファイルがありません。ローカル トンネルを使用してサイトをパブリックに共有することもできます。

Mac では、マシンを起動すると、Laravel Valet は常に PHP 組み込み Web サーバーをバックグラウンドで実行します。その後、DnsMasq を使用して、Valet はすべてのリクエストを *.dev ドメイン名にプロキシし、ローカルマシンのインストールサイト。このような高速な Laravel 開発環境には、7M のメモリしか必要としません。

Valet は、Vagrant や Homestead を置き換えることを目的としたものではなく、より柔軟で、非常に高速で、使用するメモリ容量が少ない別のオプションを提供するだけです。

Valet は次のソフトウェアとツールを提供します:

  • Laravel
  • Lumen
  • Statamic
  • Craft
  • WordPress
  • Jigsaw
  • 静的 HTML

もちろん、カスタム ドライバーを使用して Valet を拡張することもできます。

Valet Or Homestead

ご存知のとおり、Laravel は別の開発環境 Homestead も提供しています。ホームステッドとバレットは、対象とする視聴者と地域開発アプローチが異なります。 Homestead は、自動化された Nginx 構成を含む完全な Ubuntu 仮想マシンを提供します。完全な仮想化 Linux 開発環境が必要な場合、または Windows/Linux オペレーティング システムを使用している場合は、間違いなく Homestead が最適な選択肢です。

Valet は Mac のみをサポートしており、PHP とデータベース サーバーをローカルにインストールする必要があります。これは、Homebrew コマンド (brew install php70 および brew install mariadb) を使用することで簡単に実現できます。Valet は、最小限のリソース消費で非常に高速なサーバーを提供します。ローカル開発環境。PHP/MySQL のみが必要で、完全な仮想化開発環境が必要ない場合は、Valet が最適な選択になります。

最後に、Valet と Homestead は両方とも、ローカルの Laravel 開発環境を構成するための優れたヘルパーです。どちらを使用するかは、個人の好みやチームのニーズによって異なります。

2. インストール

Valet には Mac オペレーティング システムと Homebrew が必要です。インストールする前に、Apache や Nginx などの他のプログラムがローカル ポート 80 にバインドされていないことを確認する必要があります。インストール手順は次のとおりです。

  • brew update を使用して Homebrew をインストールまたは最新バージョンに更新します
  • brew サービスが有効であることを確認し、brew サービスを実行して正しい出力を取得しますリストが無効な場合は追加する必要があります。
  • Homebrew 経由で PHP 7.0 をインストールします: brew install php70。
  • Composer を介して Valet をインストールします。composer global require laravel/valet (~/.composer/vendor/bin がシステム パスにあることを確認してください)
  • valet install コマンドを実行します。 Valet と DnsMasq をインストールし、ランダムに開始するように Valet バックグラウンドを登録します。

Valet をインストールした後、ping foobar.dev などのコマンドを使用してターミナルで *.dev ドメイン名に ping を実行してみます。Valet が正しくインストールされている場合は、127.0.0.1 からの応答が表示されます。

Valet バックグラウンドは、システムが起動するたびに自動的に開始され、手動で Valet start または Valet install を再度実行する必要はありません。

データベース

データベースが必要な場合は、コマンド ラインで brew install mariadb を使用して MariaDB をインストールできます。インストールが完了したら、ユーザー名を使用できます。 root と、データベースに接続するためのローカル マシン上の空のパスワード。

3. サービス サイト

Valet のインストール後、サービス サイトを開始できます。park および link

park コマンド

  • Mac に新しいディレクトリ (例: mkdir ~/Sites) を作成し、このディレクトリに入ってバレーパークを実行します。このコマンドは、現在のディレクトリを Web ルート ディレクトリとして使用します。
  • 次に、新しく作成したディレクトリに新しい Laravel サイト (laravel new blog) を作成します。
  • ブラウザで http://blog.dev にアクセスします。

私たちがしなければならないのはこれだけです。これで、Sites ディレクトリに作成されたすべての Laravel プロジェクトに http://folder-name.dev 経由でブラウザからアクセスできるようになり、非常に便利だと思いませんか。

link コマンド

このコマンドは、ディレクトリ内の単一サイトを提供する場合にも役立ちます。

  • このコマンドを使用するには、まずプロジェクトの 1 つに切り替えて valet link app-name を実行します。これにより、Valet は現在の作業ディレクトリを指すシンボリック リンクを ~/.valet/Sites に作成します。
  • link コマンドを実行すると、ブラウザーの http://app-name.dev からアクセスできます。

すべてのリンク ディレクトリを表示するには、valet links コマンドを実行します。 valet unlink app-name を使用してシンボリック リンクを削除することもできます。

4. サイトの共有

Valet には、ローカル サイトを他のユーザーと共有するコマンドも用意されており、これは追加のツールなしで実行できます。

サイトを共有するには、サイトが存在するディレクトリに移動してバレット共有を実行します。これにより、一般にアクセス可能な URL が生成され、クリップボードに挿入されるので、ブラウザのアドレス バーに直接コピーできます。それはとても簡単です。

サイトの共有を停止するには、Ctrl + C を使用します。

5. ログの表示

ターミナル内のすべてのサイトのログを表示したい場合は、valet logs コマンドを実行すると、新しいログが表示されます。端末。

6. カスタム Valet ドライバー

カスタム Valet ドライバーを作成して、Valet でネイティブにサポートされていない PHP アプリケーションにサービスを提供することもできます。 Valet をインストールすると、~/.valet/Drivers ディレクトリが作成されます。このディレクトリには、SampleValetDriver.php ファイルが含まれています。このファイルには、カスタム ドライバーの作成方法を示すサンプルが含まれています。ドライバーを作成するには、servers、isStaticFile、frontControllerPath の 3 つのメソッドを実装するだけで済みます。

これら 3 つのメソッドは、$sitePath、$siteName、$uri の値をパラメーターとして受け取ります。ここで、$sitePath は /Users/Lisa/Sites/my-project などのサイト ディレクトリを表し、$siteName はメインのドメイン名の部分 (my-project など)、$uri は入力されたリクエスト アドレス (/foo/bar など) です。

カスタム Valet ドライバーを作成した後、それを ~/.valet/Drivers ディレクトリに配置し、FrameworkValetDriver.php の命名方法に従います。たとえば、WordPress Valet ドライバー用のカスタム Valet ドライバーを作成する場合は、次のようになります。対応するファイル名は WordPressValetDriver.php です。

Valet ドライバーをカスタマイズするために実装する必要がある 3 つの方法について説明し、実演してみましょう。

serves メソッド

カスタム ドライバーが入力リクエストの処理を続行する必要がある場合、serves メソッドは true を返し、それ以外の場合、メソッドは false を返します。したがって、このメソッドでは、指定された $sitePath にサービス タイプの項目が含まれているかどうかを判断する必要があります。

たとえば、WordPressValetDriver を作成していると仮定すると、対応する Serves メソッドは次のとおりです。

/** * Determine if the driver serves the request. * * @param  string  $sitePath * @param  string  $siteName * @param  string  $uri * @return void * @translator laravelacademy.org */public function serves($sitePath, $siteName, $uri){    return is_dir($sitePath.'/wp-admin');}

isStaticFile メソッド

isStaticFile メソッドは次のようになります。入力リクエストが画像ファイルやスタイル ファイルなどの静的ファイルであるかどうかを判断します。ファイルが静的ファイルの場合、このメソッドはディスク上のフル パスを返します。入力リクエストが静的ファイルに対するリクエストでない場合は、 return false:

/** * Determine if the incoming request is for a static file. * * @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;}

注: isStaticFile メソッドは、servers メソッドが true を返し、リクエスト URI が / ではない場合にのみ呼び出されます。

frontControllerPath メソッド

frontControllerPath メソッドは、フロント コントローラーのフル パス (通常は、index.php) を返します。

/** * Get the fully resolved path to the application's front controller. * * @param  string  $sitePath * @param  string  $siteName * @param  string  $uri * @return string */public function frontControllerPath($sitePath, $siteName, $uri){    return $sitePath.'/public/index.php';}

7. その他のバレーコマンド

命令 描述
valet forget 从”parked”目录运行该命令以便从parked目录列表中移除该目录
valet paths 查看你的”parked”路径
valet restart 重启Valet
valet start 启动Valet
valet stop 关闭Valet
valet uninstall 卸载Valet
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。