Laravel

前置步驟

  1. 安裝 VirtualBox 5.xVMWare
     
  2. 安裝 Vagrant
     
  3. 安裝 Git

Homestead 內建軟體

  • Ubuntu 14.04
  • Git
  • PHP 7.0
  • HHVM
  • Xdebug
  • Nginx
  • MySQL
  • Sqlite3
  • Postgres
  • Composer
  • Node(附帶了 PM2、Bower、Grunt 與 Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Blackfire 分析器

安裝 Homestead Vagrant box


    vagrant box add laravel/homestead

Cmd :

OR

  1. 直接下載 box_v5.2 ,並解壓縮
  2. 將laravel-VAGRANTSLASH-homestead 整個資料夾複製到 C:\Users\{改成你的使用者名稱}\.vagrant.d\boxes

    vagrant box list

是否有正確下載BOX :

Cmd :

圖示 :

安裝 Homestead(1/2)


    git clone https://github.com/laravel/homestead.git Homestead

Cmd :


    cd ~

OR

  1. 直接下載,並解壓縮
  2. 開啟C:\Users\{改成你的使用者名稱}的資料夾,並且新增一個名為 Homestead 的資料夾
  3. 把剛解壓縮的全部檔案放入此資料夾

安裝 Homestead(2/2)


    bash init.sh

一旦建立完 Homestead 資源庫,即可在 Homestead 目錄中執行 bash init.sh 指令來建立 Homestead.yaml 設定檔。

Homestead.yaml 檔案將會被放置在 ~/.homestead 隱藏目錄中:

設定 Homestead(1/4)


    provider: virtualbox

在 Homestead.yaml 檔案中的 provider 是用來設定你想要使用哪一個 Vagrant 提供者,像是:virtualboxvmware_fusion  vmware_workstation :

設定 Vagrant 提供者 :

設定 Homestead(2/4)

    
    folders:
        - map: ~/Code
          to: /home/vagrant/Code

你可以在 Homestead.yaml 檔案的 folders 屬性裡列出所有你想與 Homestead 環境共享的目錄。這些目錄中的檔案若有更動,它們將會同步更動在你的本機電腦與 Homestead 環境。你可以將多個共享目錄都設定於此:

設定共享目錄 :

設定 Homestead(3/4)

    
    sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

對 Nginx 不熟悉嗎?沒關係。sites 屬性幫助你可以輕易的指定 網域 對應至 homestead 環境中的目錄。在 Homestead.yaml 檔案中已包含一個網站設定範例。同樣的,你可以增加數個網站到 Homestead 環境中。Homestead 可以為每個你正在開發中的 Laravel 專案提供方便的虛擬化環境:

設定 Nginx 網站 :

設定 Homestead(4/4)

    
    192.168.10.10  homestead.app

你必須為 Nginx 網站在你機器中的 hosts 檔案增加「網域」。hosts 檔案會將你對 Homestead 網站的請求重導至 Homestead 機器。在 Mac 或 Linux 上,該檔案通常會存放在/etc/hosts。在 Windows 上,則存放於 C:\Windows\System32\drivers\etc\hosts。你增加至該檔案的內容看起來會像這樣:

Hosts 檔案 :

務必確認 IP 位置與你的 ~/.homestead/Homestead.yaml 檔案中設定相同。一旦將網域設定在hosts 檔案之後,你就可以透過網頁瀏覽器造訪網站!


    http://homestead.app

啟動 Vagrant box

    
    vagrant up

當你編輯完 Homestead.yaml 後,在終端機裡進入你的 Homestead 目錄並執行 vagrant up指令。Vagrant 就會自將虛擬主機啟動並自動設定你的共享目錄和 Nginx 網站。

啟動虛擬機:

    
    vagrant halt

關閉虛擬機:

    
    vagrant destroy --force

移除虛擬機:

常見用法

    
    vagrant ssh

你可以在終端機裡進入你的 Homestead 目錄並執行 vagrant ssh 指令藉此以 SSH 連上你的虛擬主機。

透過 SSH 連接 :

連接資料庫 :

連接 127.0.0.1 的連接埠 33060(MySQL)


    帳號 : homestead
    密碼 : secret

設定你的 SSH 金鑰

    
    ssh-keygen -t rsa -C "you@homestead"

你還需要將你的公有 SSH 金鑰的路徑配置在 Homestead.yaml 檔案中。你沒有 SSH 金鑰?在 Mac 和 Linux 下,你可以利用下面的指令來建立一組 SSH 金鑰:

Laravel

專案啟動

composer {cmd} -­‐help

  • 顯示 composer 所有的指令
     
  • 若在下指令的時候,突然忘了指令的全名時,可以先用這個指令查詢一下,再重新輸入指令即可
     
  • 範例:

          $composer list

composer [list]

  • 部份 composer 指令可接受額外參數,若一時忘記參數的使用方式時,可先加 --help 於該指令後方,即顯示該指令的說明文件,待確認用法後再重新輸入指令
     

  • 範例:
    $ composer list ­‐-help
    $ composer install -‐help

    $ composer help list
    $ composer help install

[sudo] composer self-update

  • Composer 本身更新非常頻繁,除了增加新功能、修正錯誤外,也在逐步改善效能不彰的問題
     

  • 請務必養成定期更新 Composer 的習慣,若超過 30天沒有更新,在使用 Composer 指令時,也會有更新提示
     

  • 範例:
    $ composer self‐update
    $ composer selfupdate

Packagist上查詢元件資訊

使用 Composer

建立 Laravel 專案 skeleton

    
    $ composer create-project laravel/laravel ­‐prefer-dist
  • 範例:
    $ composer create-project vendor/package {target-­‐directory} [version] ­‐prefer-dist
  • 參數說明:
    vendor:元件開發者名稱
    package:元件名稱
    target-directory:預定建立的資料夾名稱
    version:預定使用的版本
    --prefer-dist:使用zip散佈檔而不要clone整個源始碼

Laravel

By isamare0304

Laravel

  • 529