ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build类库。
thinkPHP5默认自带了一个定义自动生成规则文件,build.php,位于根目录下
<?php
return [
// 生成应用公共文件
'file' => ['common.php', 'config.php', 'database.php'],
// 定义demo模块的自动生成 (按照实际定义的文件名生成)
'demo' => [
'file' => ['common.php'], //生成的文件,不定义会默认生成config.php文件
'dir' => ['behavior', 'controller', 'model', 'view'], //生成目录(支持多级目录)
'controller' => ['Index', 'Test', 'UserType'], //生成controller类
'model' => ['User', 'UserType'], //生成model类
'view' => ['index/index'], //生成html文件,支持子目录
],
// 其他更多的模块定义
];
模块的自动生成则以 APPPATH.’模块名/‘ 为起始目录。
在入口文件index.php中tp5已经定义了APPPATH,即起始目录位于applicaton文件夹下
define('APPPATH', DIR . '/../application/');
并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面
在入口文件index.php中可以直接调用\think\Build类的方法进行自动生成:
<?php
// 定义应用目录
define('APPPATH', DIR . '/../application/');
// 加载框架引导文件
require DIR . '/../thinkphp/start.php';
// 读取自动生成定义文件
$build = include './../build.php';
// 运行自动生成
\think\Build::run($build);
保存后在浏览器地址栏输入localhost/tp5/public/
运行tp5
这时在打开application文件下,会多出一个demo文件夹:
也可以直接使用默认目录生成模块
<?php
// 定义应用目录
define('APP_PATH', __DIR . '/../application/');
// 加载框架引导文件
require __DIR . '/../thinkphp/start.php';
// 自动生成admin模块
\think\Build::module('admin');
根据tp5URL访问规则:http://serverName/index.php
(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值…]
默认访问地址http://localhost/tp5/public/
访问的是index.php,index.php中定义了应用入口文件夹application,默认访问的是index模块下的Index控制器下的index类
等效于访问地址http://localhost/tp5/public/index.php/index/index/index
因此,若访问上面建立的demo模块的Index控制器的index类,访问地址应为:
http://localhost/tp5/public/index.php/demo/index/index
打开demo/controller/Index.php
,修改为:
<?php
namespace app\demo\controller;
class Index
{
public function index()
{
return 'demo';
}
}
保存退出后浏览器访问结果为:
本文地址:https://www.zhuimengzhu.com/details/170.html
转载地址:https://blog.csdn.net/weixin_36185028/article/details/77062919
转载说明:转载时请在文首注明来源zhuimengzhu.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。zhuimengzhu 保留追究相应责任的权利。