<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Valet - [簡介](#introduction) - [Valet 還是 Homestead ?](#valet-or-homestead) - [安裝](#installation) - [升級](#upgrading) - [服務站點](#serving-sites) - [Park 命令](#the-park-command) - [Link 命令](#the-link-command) - [使用 TLS 構建安全站點](#securing-sites) - [分享站點](#sharing-sites) - [自定義 Valet 驅動](#custom-valet-drivers) - [本地驅動](#local-drivers) - [其他 Valet 命令](#other-valet-commands) <a name="introduction"></a> ## 簡介 Valet 是 Mac 極簡主義者的 Laravel 開發環境。沒有 Vagrant,沒有 `/etc/hosts` 文件。甚至可以使用本地隧道公開分享你的站點。 _Yeah, we like it too._ Laravel Valet 為你的 Mac 設置了啟動后始終在后臺運行 Nginx。然后,Valet 使用 [DnsMasq](https://en.wikipedia.org/wiki/Dnsmasq) 將所有指向安裝在本地計算機的站點的請求代理到 `*.dev` 域上。 換句話說,一個速度極快的 Laravel 開發環境只占用 7MB 內存。Valet 并不是想要完全替換 Vagrant 或 Homestead,只是提供另外一種使用起來更加靈活、方便、以及內存的占用更小的選擇。 Valet 支持但不局限于以下內容: <div class="content-list" markdown="1"> - [Laravel](https://laravel.com) - [Lumen](https://lumen.laravel.com) - [Bedrock](https://roots.io/bedrock/) - [CakePHP 3](https://cakephp.org) - [Concrete5](http://www.concrete5.org/) - [Contao](https://contao.org/en/) - [Craft](https://craftcms.com) - [Drupal](https://www.drupal.org/) - [Jigsaw](http://jigsaw.tighten.co) - [Joomla](https://www.joomla.org/) - [Katana](https://github.com/themsaid/katana) - [Kirby](https://getkirby.com/) - [Magento](https://magento.com/) - [Sculpin](https://sculpin.io/) - [Slim](https://www.slimframework.com) - [Statamic](https://statamic.com) - Static HTML - [Symfony](https://symfony.com) - [WordPress](https://wordpress.org) - [Zend](https://framework.zend.com) </div> However, you may extend Valet with your own [custom drivers](#custom-valet-drivers). 你可以使用 [自定義驅動](#custom-valet-drivers) 來擴展 Valet。 <a name="valet-or-homestead"></a> ### Valet 還是 Homestead? Laravel 還提供了另一種本地開發環境 [Homestead](/docs/{{version}}/homestead)。Homestead 和 Valet 的不同之處在于目標受眾和對本地開發的方式。Homestead 提供了一個完整的、具有自動化的 Nginx 配置的 Ubuntu 虛擬機。如果你想要完全虛擬化的 Linux 開發環境或 Windows/Linux,Homestead 是一個不錯的選擇。 Valet 僅支持 Mac,并要求你將 PHP 和數據庫服務器直接安裝到本地機器上。這可以很容易地通過使用 Homebrew 命令來實現,像 `brew install php71` 和 `brew install mysql`。Valet 提供了一個極快的、資源消耗最少本地開發環境,非常適合只需要 PHP/MySQL 并且不需要虛擬開發環境的開發人員。 Valet 和 Homestead 都是配置 Laravel 開發環境的絕佳選擇。選擇哪一個僅僅只是取決于個人喜好和團隊的需求。 <a name="installation"></a> ## 安裝 **Valet 需要 macOS 和 [Homebrew](http://brew.sh/)。在安裝之前,要確保沒有其他程序(如 Apache 或 Nginx )占用了本地機器的端口 80。** <div class="content-list" markdown="1"> - 使用 `brew update` 將 Homebrew 安裝或更新到最新版本。 - 通過 Homebrew 使用 `brew install homebrew/php/php71` 命令安裝 PHP 7.1 。 - 通過 Composer 使用 `composer global require laravel/valet` 安裝 Valet。確保 `~/.composer/vendor/bin` 目錄位于系統的「PATH」中。 - Run the `valet install` command. This will configure and install Valet and DnsMasq, and register Valet's daemon to launch when your system starts. - 運行 `valet install` 命令來配置和安裝 Valet 和 DnsMasq,并注冊 Valet 后臺隨機啟動。 </div> 安裝完 Valet,使用 `ping foobar.dev` 命令在終端上的 ping 任何一個 `*.dev` 的域名。如果 Valet 安裝正確,可以在終端上看到來自 `127.0.0.1` 的響應。 每次機器啟動時,Valet 會自動啟動其進程。所以只要完成了 Valet 的初始化,就無需再次運行 `valet start` 或 `valet install`。 #### 使用其它域名 默認情況下,Valet 使用 `.dev` 頂級域名為你的項目提供服務。如果你想使用其他域名,可以使用 `valet domain tld-name` 命令。 例如,如果你要使用 `.app` 而不是 `.dev`,就運行 `valet domain app`,Valet 會自動將站點域名改為 `*.app`。 #### 數據庫 如果你要用數據庫,在終端運行 `brew install mysql` 安裝 MySQL。安裝完后,你可以使用 `brew services start mysql` 命令啟動它。然后,你可以使用 `root` 作為用戶名和空字符串作為密碼連接到 `127.0.0.1` 的數據庫。 <a name="upgrading"></a> ### 升級 你可以在使用終端使用 `composer global update` 命令更新 Valet。升級后,如果需要,最好再運行一次 `valet install`,以便 Valet 可以對配置文件進行升級。 #### 升級到 Valet 2.0 Valet 2.0 將 Valet 底層的 Web 服務器從 Caddy 轉移到 Nginx。升級到此版本之前,你應該運行以下命令停止并卸載現有的 Caddy 進程: valet stop valet uninstall 接下來,就根據你如何采用的安裝方式來升級 Valet (通常是通過 Git 或 Composer )。如果是通過 Composer 安裝了 Valet,則應使用以下命令更新到最新的主要版本: composer global require laravel/valet 記住,只要下載了 Valet 的源碼,就要運行 `install` 命令: valet install valet restart 因為升級后,可能需要重新設置或重新鏈接你的站點。 <a name="serving-sites"></a> ## 服務站點 安裝了 Valet 之后,你就可以開始設置站點。Valet 提供兩個命令來為 Laravel 的站點提供服務:`park` 和 `link`。 <a name="the-park-command"></a> **`park` 命令** <div class="content-list" markdown="1"> - 運行 `mkdir ~/Sites` 命令在 Mac 上創建一個新的目錄。接下來,運行 `cd ~/Sites` 和 `valet park` 將當前的工作目錄作為 Valet 搜索站點的路徑。 - 接下來,在這個目錄中創建一個新的 Laravel 站點:`laravel new blog`。 - 在瀏覽器中打開 `http://blog.dev`。 </div> **就這么多。**現在,你在 「parked」的目錄中創建的任何 Laravel 項目將自動使用 `http://folder-name.dev` 這種方式訪問。 <a name="the-link-command"></a> **`link` 命令** 如果要在目錄中提供單個站點而不是整個目錄,就使用 `link` 命令。 <div class="content-list" markdown="1"> - 要使用該命令,先切換到你的某個項目并運行 `valet link app-name`。Valet 會在 `~/.valet/Sites` 中創建一個符號鏈接指向當前的目錄。 - 運行 `link` 命令后,你可以在瀏覽器通過 `http://app-name.dev` 訪問站點。 - </div> 運行 `valet links` 命令可以查看所有目錄鏈接的列表。你還可以使用 `valet unlink app-name` 來刪除符號鏈接。 > {tip} 你可以使用 `valet link` 將多個(子)域指向同一個應用。要添加子域名或其它域名到應用,可以在應用目錄下運行 `valet link subdomain.app-name`。 <a name="securing-sites"></a> **使用 TLS 構建安全站點** 默認情況下,Valet 使用 HTTP 協議提供站點。但是,如果你想使用 HTTP/2 提供加密的 TLS 站點,使用 `secure` 命令。例如,如果你的站點域名是 `laravel.dev`,可以這樣: valet secure laravel 要還原為 HTTP,使用 `unsecure` 命令。像 `secure` 命令一樣,此命令接受你要取消安全加密的站點名稱: valet unsecure laravel <a name="sharing-sites"></a> ## 分享站點 Valet 甚至包括與世界分享你的本地網站的命令。一旦安裝了 Valet,就不需要額外的軟件安裝。 要共享站點,先在終端切換到站點目錄,然后運行 `valet share` 命令。將可公開訪問的網址插入剪貼板,然后直接粘貼到瀏覽器中訪問。就這么簡單~ 要停止分享你的網站,按 `Control + C` 取消分享。 > {note} `valet share` 目前不支持使用 `valet secure` 命令保護共享的站點。 <a name="custom-valet-drivers"></a> ## 自定義 Valet 驅動 你可以編寫自己的 Valet 「驅動」來提供運行在另一個不是由 Valet 支持的框架或 CMS 上的 PHP 應用程序。安裝 Valet 時,會創建一個包含 `SampleValetDriver.php` 文件 `~/.valet/Drivers` 目錄。這個文件包含實現驅動程序的例子,演示了如何編寫自定義驅動程序。編寫驅動程序只需要實現三種方法:`serves`、 `isStaticFile` 和 `frontControllerPath`。 這三種方法都會收到 `$sitePath`、`$siteName` 和 `$uri` 值作為參數。`$sitePath` 是計算機上提供的站點的完整路徑,例如 `/Users/Lisa/Sites/my-project`。`$siteName` 是 「主機」 / 「站點名」 的域名部分,如 `my-project`。 `$uri` 則是輸入的請求地址,如 `/foo/bar`。 完成自定義 Valet 驅動后,使用 `FrameworkValetDriver.php` 這樣的命名將其放在 `~/.valet/Drivers` 目錄中。例如,如果你正在為 WordPress 編寫自定義 Valet 驅動程序,那你的文件名應該是 `WordPressValetDriver.php`。 接下來看看自定義 Valet 驅動應該實現的每種方法的實現示例。 #### `serves` 方法 如果你的驅動程序應該處理傳入的請求,那么 `serves` 方法應該返回 `true`。否則,該方法應返回 `false`。因此,在此方法中,你需要確定給定的 `$sitePath` 是否包含你要提供的類型的項目。 例如,假設我們正在編寫一個 `WordPressValetDriver`。`serve` 方法可能如下所示: /** * 確定驅動程序是否提供請求。 * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */ public function serves($sitePath, $siteName, $uri) { return is_dir($sitePath.'/wp-admin'); } #### `isStaticFile` 方法 `isStaticFile` 應該確定傳入的請求是否是一個「靜態」的文件,如圖像或樣式表。如果文件是靜態的,該方法應該將完整的路徑返回到磁盤上的靜態文件。如果傳入的請求不是靜態文件,則該方法應返回 `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; } > {note} 只有當傳入請求的 `serves` 方法返回 `true` 并且請求的 URI 不是 `/` 時,才會調用 `isStaticFile` 方法。 #### `frontControllerPath` 方法 `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'; } <a name="local-drivers"></a> ### 本地驅動 如果要為單個應用定義一個自定義 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'; } } <a name="other-valet-commands"></a> ## 其它 Valet 命令 | 命令 | 注釋 | | ------------- | ------------- | `valet forget` | 在被「parked」的目錄中運行這個命令,能夠將這個命令從「parked」目錄列表中刪除。 | | `valet paths` | 查看所有「parked」過的路徑。| | `valet restart` | 重啟 Valet | | `valet start` | 啟動 Valet | | `valet stop` | 停止 Valet | | `valet uninstall` | 卸載 Valet | ## 譯者署名 | 用戶名 | 頭像 | 職能 | 簽名 | |---|---|---|---| | [@JokerLinly](https://laravel-china.org/users/5350) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/5350_1481857380.jpg"> | 翻譯 | Stay Hungry. Stay Foolish. | --- > {note} 歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。 > > 轉載請注明:本文檔由 Laravel China 社區 [laravel-china.org](https://laravel-china.org) 組織翻譯,詳見 [翻譯召集帖](https://laravel-china.org/topics/5756/laravel-55-document-translation-call-come-and-join-the-translation)。 > > 文檔永久地址: https://d.laravel-china.org
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看