文件目录结构
注意:
- common无法通过url直接访问,安全性高。tp把他定义为公共模块。
可通过引用来使用其下的控制器。比如:
<?php
namespace app\index\controller;
use app\common\controller\Index as commonIndex; //通过命名空间,别名使用
class Index
{
public function index()
{
return "this is index Index index";
}
public function common(){
$common=new commonIndex();
return $common->index();
}
}
我们可以在common中编写一个顶级类,然后供其他模块类继承,做到代码重复利用。比如权限校检。
- tp5版本发生了很多变化,控制器命名无需加后缀Controller.
修改application目录
为了操作方便,将文件夹applicaiton重命名为app,
找到public目录下的index.php,打开将applicion修改为app.
define('APP_PATH', __DIR__ . '/../app/');
TinkPhp5配置
惯例配置:
- 配置文件设置
1、打开public目录下的index.php,修改为:
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../app/');
//定义配置文件目录
define('CONF_PATH',__DIR__.'/../conf/'); // 增加的代码
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
2、在app同级目录下新建一个conf文件夹,用于配置文件存放。
3、框架惯例配置文件所在目录:/thinkphp/convention.php.
应用配置
我们建议不能直接修改框架的配置文件,防止框架升级的时候带来很多不便。
因此我们可以配置自己的配置文件,在上述建立的conf文件夹下面新建config.php(文件名必须是这样)
配置文件的编写很简单,在config.php中返回一个数组即可。
例如:
return [
//数据库配置信息
'host' => '127.0.0.1',
'port' => '3306',
'name' => 'root',
'charset' => 'utf8',
'dbname' => 'database'
];
我们可以发现,这个配置文件在每个应用模块中都生效了。应用程序配置文件会覆盖掉框架默认配置(但是不会真正的把框架配置文件改掉,而是在运行的时候把两个配置文件做比较后存放在内存中。)
扩展配置
一般情况下,上述配置无法满足程序配置需求,因为配置项目太多,不方便维护,于是又有了扩展配置的概念。
操作方法: