Laravel 學習筆記(3) - 目錄及指令

Laravel

當您安裝完成,就可以打開 laravel 網站的目錄來認識它的架構:
最上層目錄
  • app:應用程式的主目錄,包含 models, views, controllers 等等目錄,大部份時間都是在這個目錄中操作。
  • bootstrap:一些環境變數設定。大部份都不需更動。但可以修改 start.php 中的 $env 變數,來依不同環境啟用不同的設定檔。
  • public:唯一的公開目錄,使用者連到這個網站唯一的進入點,可以將 CSS, Javascript, 圖片等檔案放在此。
  • vendor:放置 laravel 的原始碼及相依套件的程式碼,還有第三方套件的程式碼。

app 目錄及檔案

  • commands:放置讓你可以在終端機使用的指令。
  • config:應用程式中各種功能的設定檔。一開始要動到 app.php, database.php 兩個檔案。你可以建立不同的目錄,然後在其中加入同名的檔案來覆寫設定。例如你會有一個 local 目錄及一個 production 目錄,local 的設定是針對你的開發環境,production 的設定則是針對實際運作的伺服器。這樣你就不需因為伺服器環境和本機開發環境不同,而對設定改來改去。
  • controllers:MVC 中的 controller 的程式碼檔案,你的程式碼會在這裡處理各種資料後丟給 View 來顯示。
  • database:其中有兩個目錄,migrations 放置資料庫遷移檔案。seeds 放置要自動填入資料庫假資料的檔案。
  • lang:多國語系資源目錄,每個子目錄對應到一個語系。
  • models:MVC 中的 model,對應到資料庫資料表的模型。
  • start:程式啟動時要執行的檔案。
  • storage:laravel 用來暫存檔案的目錄,例如 cache, log 或 session 等,因為是給 laravel 使用的,所以你無需去動這個目錄裡的檔案。這個目錄必須設為可寫入的權限。
  • tests:單元測試目錄。
  • views:MVC 中的 view ,放置 HTML 網頁模版的目錄。
  • filters.php:應用程式或 Route 的過濾器。
  • routes.php:網址路由,指定某個網址的內容要由哪個 controller 來負責處理。

Artisan 指令說明

Artisan 是 Laravel 的指令工具,可以用來幫你處理許多雜事。
進入剛才建立的網站目錄下,可以看到 artisan 這個檔案,使用方式是在終端機輸入:
php artisan 參數
例如:要啟動一個內建伺服器,可以輸入:
php artisan serve
這個伺服器會在此終端機下被建立,專屬這個專案,可以使用 Ctrl + C 來關閉。而這個伺服器預設就是顯示 public 目錄的內容,所以只要在瀏覽器上輸入
http://localhost:8000
就可看到網站的頁面了。

Artisan 常用指令瀏覽

要查看有哪些命令選項可用(後面不接任何選項):
php artisan

清除已編譯的類別檔:
php artisan clear-compiled

重新產生 autoload 檔,當你有新建 controller 時要使用:
php artisan dump-autoload

執行資料庫遷移檔:
php artisan migrate

退回上一次的資料庫遷移動作:
php artisan migrate:rollback

產生資料庫遷移檔:
php artisan migrate:make

清除應用程式快取:
php artisan cache:clear

使用種子建立資料庫資料:
php artisan db:seed

產生 controller 檔:
php artisan generate:controller

產生 migragtion 檔:
php artisan generate:migration

產生 model 檔:
php artisan generate:model

產生 view 檔:
php artisan generate:view

產生應用程式使用的金鑰:
key:generate
本文網址:http://blog.tonycube.com/2014/12/laravel-3.html
Tony Blog 撰寫,轉載時請註明出處及文章連結,謝謝 😀

2 則留言

  1. 你好,
    本人剛剛接觸laravel.有一些疑問. 希望能解答.
    1. 請問如何在1個laravel內建立多個project. 我是能夠成功建立的, 但當http://localhost:8000時, 只開到第1個project
    2. 請問如何更改default port呢? 例如我想用http://localhost/XXX就能開到我的網頁.
    感謝賜教.

    回覆刪除
    回覆
    1. 一個 Laravel 專案代表一個網站,如果你要有多個網站,那就要建多個 Laravel 專案,
      當你在一個 Laravel 專案中使用 php artisan serve 指令,
      只會開啟一個暫時使用的伺服器,它直接指向該專案的 public 目錄,
      所以該專案就會把 http://localhost:8000 佔用掉,
      不過你可以指定 port
      php artisan serve --port=8080

      如果你要蓋掉 80 port,要有權限
      sudo php artisan serve --port=80

      建議還是裝MAMP,XAMPP什麼的比較好,
      或是使用 Homestead
      http://blog.tonycube.com/2016/12/laravel-homestead.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FYJzd+%28Tony+Blog%29

      刪除

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。