根據(jù)自己的需求做了一些目錄的改動跟初始化的東西。主要用于提供 API 接口。 此代碼在 PHP8.1 環(huán)境使用的,8.1 版本以下的可以自己改造一下,去除掉 enum 的支持。
├──Admin
│ ├── Controller
│ └── Models
├── Api
│ ├── Controller
│ └── Models
├── Enums
├── Middleware
├── Models
└── functions.php
app 目錄下的文件夾全部大寫(強迫癥,這樣代碼引用的時候就能都是大寫了)
根目錄增加了 routes 文件專門用來存放路由文件(PS 各個路由文件并不是獨立的,只是拆分為多個文件,便于管理查看)
app目錄增加子目錄(Admin ,Api)用于多應用模式
實例為兩個應用模塊,一個為 Admin,一個為 Api,各自可以有單獨的 Models 文件夾,也有共用的 Models 文件夾。這兩個模塊分別對應根目錄 routes 中 admin.php 路由文件和 api.php 路由文件。
執(zhí)行 composer install
復制目錄下的 .env.example 文件為 .env
修改 .env 中環(huán)境變量
啟動
"psr/container": "^v1", // 依賴注入
"php-di/php-di": "^6.4", // 依賴注入
"doctrine/annotations": "^1.13", // 依賴注入
"illuminate/database": "^9.9", // laravel 默認的數(shù)據(jù)庫
"illuminate/pagination": "^9.12", // laravel 默認的數(shù)據(jù)庫分頁
"illuminate/events": "^9.11", // laravel 默認的數(shù)據(jù)庫事件
"illuminate/redis": "^9.9", // redis 依賴
"vlucas/phpdotenv": "^5.4", // .env 文件支持
"symfony/translation": "^6.0", // 多語言支持
"symfony/cache": "^6.0", // 緩存支持
"archtechx/enums": "^0.3.0" // enum 快捷使用
與 webman 官網(wǎng)提供的多應用解決方案不同,我主要才用路由文件來實現(xiàn)。
以示例代碼來看,Admin 和 Api 分別對應不同的應用。
分別對應 routes/admin.php, routes/api.php,啟動后的地址為 http://localhost:8787/admin、http://localhost:8787/api/。然后 nginx 轉發(fā)時,對應不同的域名即可。
代碼 github 地址 https://github.com/ljnchn/webman-start
感謝分享