検索
ホームページバックエンド開発PHPチュートリアル[ Laravel 5.2 ドキュメント ] 入門 -- Laravel Valet (Mac 開発環境)

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 経由でブラウザからアクセスできるようになり、非常に便利だと思いませんか。

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

  • このコマンドを使用するには、まずプロジェクトの 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 までご連絡ください。
PHP対Python:違いを理解しますPHP対Python:違いを理解しますApr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP:それは死にかけていますか、それとも単に適応していますか?PHP:それは死にかけていますか、それとも単に適応していますか?Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの未来:適応と革新PHPの未来:適応と革新Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPの抽象クラスまたはインターフェイスに対して、いつ特性を使用しますか?PHPの抽象クラスまたはインターフェイスに対して、いつ特性を使用しますか?Apr 10, 2025 am 09:39 AM

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)とは何ですか?また、なぜPHPで使用するのですか?依存関係噴射コンテナ(DIC)とは何ですか?また、なぜPHPで使用するのですか?Apr 10, 2025 am 09:38 AM

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

通常のPHPアレイと比較して、SPL SPLFIXEDARRAYとそのパフォーマンス特性を説明してください。通常のPHPアレイと比較して、SPL SPLFIXEDARRAYとそのパフォーマンス特性を説明してください。Apr 10, 2025 am 09:37 AM

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、ファイルを安全に処理する方法をどのように処理しますか?PHPは、ファイルを安全に処理する方法をどのように処理しますか?Apr 10, 2025 am 09:37 AM

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

Null Coulescingオペレーター(??)およびNull Coulescing Assignment Operator(?? =)とは何ですか?Null Coulescingオペレーター(??)およびNull Coulescing Assignment Operator(?? =)とは何ですか?Apr 10, 2025 am 09:33 AM

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい