TP5自動生成模塊
阿新 • • 發佈:2017-10-12
是否 開啟 apache fig uil module 自動 avi es2017
- 如何去掉public?
方法①:把網站根目錄放到public目錄下即可,如
www/ 改為 www/public,TP5的文件還是直接放在www/目錄下
方法②:將public下的index.php移動到根目錄,修改index.php裏面的代碼,改變引用路徑如下:
// 定義應用目錄
define(‘APP_PATH‘, __DIR__ . ‘./application/‘);
// 加載框架引導文件
require __DIR__ . ‘./thinkphp/start.php‘;
如果要開啟重寫機制,還要將public下的.htaccess也一起剪到根目錄(限apache服務器)
2.自動生成模塊
1)在網站根目錄有一個bulid.php文件,可以用於生成模塊,內容如下:
return [
// 生成應用公共文件
‘__file__‘ => [‘common.php‘, ‘config.php‘, ‘database.php‘],
// 定義demo模塊的自動生成 (按照實際定義的文件名生成)
‘demo‘ => [
‘__file__‘ => [‘common.php‘],
‘__dir__‘ => [‘behavior‘, ‘controller‘, ‘model‘, ‘view‘],
‘controller‘ => [‘Index‘, ‘Test‘, ‘UserType‘],
‘model‘ => [‘User‘, ‘UserType‘],
‘view‘ => [‘index/index‘],
] ,
// 其他更多的模塊定義
];
2)復制一份 demo 部分代碼,把“demo”修改成自己需要的模塊名字,其他部分默認不需要修改
return [
// 生成應用公共文件
‘__file__‘ => [‘common.php‘, ‘config.php‘, ‘database.php‘],
// 定義demo模塊的自動生成 (按照實際定義的文件名生成)
‘demo‘ => [
‘__file__‘ => [‘common.php‘],
‘__dir__‘ => [‘behavior‘, ‘controller‘, ‘model‘, ‘view‘],
‘controller‘ => [‘Index‘, ‘Test‘, ‘UserType‘],
‘model‘ => [‘User‘, ‘UserType‘],
‘view‘ => [‘index/index‘],
] ,
// 其他更多的模塊定義
‘admin‘ => [
‘__file__‘ => [‘common.php‘],
‘__dir__‘ => [‘behavior‘, ‘controller‘, ‘model‘, ‘view‘],
‘controller‘ => [‘Index‘, ‘Test‘, ‘UserType‘],
‘model‘ => [‘User‘, ‘UserType‘],
‘view‘ => [‘index/index‘],
],
];
3)在網站index.php文件中添加兩段代碼,運行自動生成文件
// 定義應用目錄
define(‘APP_PATH‘, __DIR__ . ‘./application/‘);
// 加載框架引導文件
require __DIR__ . ‘./thinkphp/start.php‘;
//讀取自動生成定義文件
$build = include ‘./build.php‘;
//運行自動生成
\think\Build::run($build,‘app‘,false);
4)直接訪問站點首頁,會執行index.php這個文件,自動生成模塊及其相應的目錄文件(如下)
註意事項:
1) 開始多模塊必須保證開啟了多模塊(默認開啟),可在config.php中設置
// 是否支持多模塊
‘app_multi_module‘ => true,
2)index.php不一定在public文件中,有時候會被設置在根目錄下,要保證bulid.php的文件目錄引入路徑正確
TP5自動生成模塊