根目錄
目錄 | 二級目錄 | 簡介 | 作用 |
---|---|---|---|
/app | 應用目錄 | 應用的核心程式碼 | |
/bootstrap | 啟動目錄 | ||
app.php | 框架的啟動和自動載入配置 | ||
./cache | 路由和服務快取 | 框架為提升效能所生成的檔案 | |
/config | 配置目錄 | ||
/database | 資料庫目錄 | 資料庫遷移檔案及填充檔案 | |
/public | 對外公開目錄 | 應用入口檔案和前端資原始檔 | |
index.php | 應用入口檔案 | ||
/resources | 資源目錄 | 應用檢視檔案和未編譯的原生前端資原始檔 | |
/routes | 路由目錄 | ||
web.php | web 中介軟體組 | 支援 Session、CSRF 保護以及 Cookie 加密功能 | |
api.php | api 中介軟體組 | 支援頻率限制功能 | |
console.php | 控制檯命令 | 用於定義所有基於閉包的控制檯命令 | |
channels.php | 用於註冊應用支援的所有事件廣播頻道 | ||
/storage | 檔案儲存目錄 | Blade 、 Session、檔案快取,框架生成的檔案 | |
./app | 應用生成的檔案 | ||
./public | 用於儲存使用者生成的檔案 | ||
./framework | 框架生成的檔案和快取 | ||
./logs | 應用的日誌檔案 | ||
/tests | 測試目錄 | 可以通過 phpunit 命令執行測試 | |
/vendor | 依賴目錄 | 包含了應用所有通過 Composer 載入的依賴 |
備註
1.控制檯路由 /routes/console.php
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
php artisan inspire
應用目錄 /app
目錄 | 簡介 | 作用 |
---|---|---|
/Broadcasting | 廣播頻道類 | 事件廣播。make:channel |
/Console | 任務指令碼 | 註冊Artisan命令,定義排程任務。make:command |
/Events | 事件 | 存放事件類。event:generate 和 make:event |
/Exceptions | 異常處理 | 包含應用的異常處理器 |
/Http | Web應用 | 包含了控制器、中介軟體以及表單請求等 |
/Jobs | 佇列任務 | 存放佇列任務。make:job |
/Listeners | 事件監聽 | 事件監聽器。event:generate 和 make:listener |
郵件 | 郵件相關類。make:mail | |
/Models | Eloquent模型 | Eloquent模型類。make:model |
/Notifications | 通知 | 傳送通知。make:notification |
/Policies | 授權 | 授權策略。make:policy |
/Providers | 服務提供者 | 在應用啟動過程中繫結服務到容器、註冊事件以及執行其他任務。 |
/Rules | 驗證規則 | 在單個物件中封裝複雜的驗證邏輯。make:rule |
備註
PSR-4自動載入標準 https://learnku.com/docs/psr/...
1. 此處的“類”泛指所有的class類、介面、traits可複用程式碼塊以及其它類似結構。
2. 一個完整的類名需具有以下結構:
\<名稱空間>(\<子名稱空間>)*\<類名>
- 完整的類名必須要有一個頂級名稱空間,被稱為 "vendor namespace";
- 完整的類名可以有一個或多個子名稱空間;
- 完整的類名必須有一個最終的類名;
- 完整的類名中任意一部分中的下滑線都是沒有特殊含義的;
- 完整的類名可以由任意大小寫字母組成;
- 所有類名都必須是大小寫敏感的。
- 當根據完整的類名載入相應的檔案……
- 完整的類名中,去掉最前面的名稱空間分隔符,前面連續的一個或多個名稱空間和子名稱空間,作為“名稱空間字首”,其必須與至少一個“根目錄”相對應;
- 緊接名稱空間字首後的子名稱空間必須與相應的”檔案基目錄“相匹配,其中的名稱空間分隔符將作為目錄分隔符
- 末尾的類名必須與對應的以 .php 為字尾的檔案同名。
- 自動載入器(autoloader)的實現一定不能丟擲異常、一定不能觸發任一級別的錯誤資訊以及不應該有返回值。
3. 範例
| 完整類名 | 名稱空間字首 | 檔案基目錄 | 檔案路徑 |
| :--------------------------- | :-------------- | :--------------------- | :---------------------------------------- |
| \Acme\Log\Writer\File_Writer | Acme\Log\Writer | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
| \Aura\Web\Response\Status | Aura\Web | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
| \Symfony\Core\Request | Symfony\Core | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
| \Zend\Acl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |