你会看到control文件夹下很多php文件和文件夹,目录很清晰,admin是后台管理的,app是手机app端的,pccaiji是文章采集使用的控制层文件夹,plugin是插件使用的控制层文件夹,control文件夹下php文件就是前端页面相关的控制层文件。
那么如果在根目录下定义一个新的控制层文件呢,跟着我的步骤来,我们举例说明,新建一个test.php控制层文件,如图:
在control下新建一个test.php文件,结构如图。Testcontrol固定的,文件名+control,
function testcontrol(& $get, & $post) {
parent::__construct($get, $post);
}
这是控制层构造函数,写法必须这样,文件名+control(& $get, & $post),
parent::__construct($get, $post);
这个是必须加,目的是继承并实现基类相关属性和函数。
class testcontrol extends base
extends base,表示继承base类,那么base类在什么地方呢,答案在Model下的base.class.php文件里
Ondefault()函数当然是方法名,路由解析应该是这样(已经伪静态) :域名/test/default.
如果是default可以省略不写。
我们会看到现在是无权限访问,对,我们路由是会过滤输入的url的,
Checkable函数就是检测url规则的,如果你不是管理员就得做权限检测,
你必须把test/default加入到规则白名单,checkable函数在 Model/base.class.php文件里面.
如图,现在就可以正常访问了。
控制层怎么解析模板呢,我们在往下看,假设我们的模板用的是sowenda模板,也就是360模板,
我们把控制层的default函数改改
这样目的是解析到模板下的test文件。我们在sowenda下新建test.html
模板在sowenda/test.html,你新建的html模板。
最后会在网页里显示
如果要应用系统网站公共的头部和底部,那么就把模板改成这样
好了,看看结果:
好了,控制层就说到这。