创建好应用程序之后才能创建控制器。
如下是一个基础控制器类的例子。在Phpcmf中,所有的控制器都继承了控制器基类。
dayrui/App/Test/Controllers/Home.php
- <?php namespace Phpcmf\Controllers;
- class Home extends \Phpcmf\Common {
- public function __construct(...$params) {
- parent::__construct(...$params);
- }
- public function index() {
- echo 'hello php7cms';
- }
- }
路由访问
/index.php?s=test&c=home&m=index
自定义路由地址
开发者可以自定义路由的访问URL,配置文件根目录/config/rewrite.php(/表示根目录)
- #在[]内部增加下面代码,表示/test.html指向本控制器
- 'test.html' => 'index.php?s=test&c=home&m=index',
非常清晰的路由映射关系。
PHPCMF控制器分为三种类型:前端控制器、用户控制器Member、后台控制器Admin。
1、前端控制器:浏览者访问的动作,例如网站首页等
dayrui/App/Test/Controllers/Home.php
- <?php namespace Phpcmf\Controllers;
- class Home extends \Phpcmf\Common {
- public function __construct(...$params) {
- parent::__construct(...$params);
- }
- public function index() {
- \Phpcmf\Service::V()->assign([
- 'meta_title' => dr_lang('测试页面'),
- ]);
- \Phpcmf\Service::V()->display('test.html');
- }
- }
访问地址:index.php?s=应用程序目录&c=控制器名称&m=方法名称
2、用户控制器:需要用户登录账号的操作,例如密码修改等
dayrui/App/Test/Controllers/Member/Home.php
- <?php namespace Phpcmf\Controllers\Member;
- class Home extends \Phpcmf\Common {
- public function __construct(...$params) {
- parent::__construct(...$params);
- }
- public function index() {
- \Phpcmf\Service::V()->assign([
- 'meta_title' => $this->lang('测试页面'),
- ]);
- \Phpcmf\Service::V()->display('test.html');
- }
- }
访问地址:index.php?s=member&app=应用程序目录&c=控制器名称&m=方法名称
3、后台控制器:管理员的操作
dayrui/App/Test/Controllers/Admin/Home.php
- <?php namespace Phpcmf\Controllers\Admin;
- class Home extends \Phpcmf\Common {
- public function __construct(...$params) {
- parent::__construct(...$params);
- }
- public function index() {
- \Phpcmf\Service::V()->assign([
- 'meta_title' => $this->lang('测试页面'),
- ]);
- \Phpcmf\Service::V()->display('test.html');
- }
- }
访问地址:admin.php?s=应用程序目录&c=控制器名称&m=方法名称
运用视图模板
- \Phpcmf\Service::V()->assign([
- 'test_var' => '这是一个变量',
- ]);
- \Phpcmf\Service::V()->display('test.html');
上面代码是将变量赋值给模板输出,那么我们输出的模板是test.html
1、前端控制器模板文件
- /template/pc或mobile/default/home/应用目录/test.html
2、用户控制器模板文件
- /template/pc或mobile/default/member/应用目录/test.html
3、后台控制器模板文件
- ./Views/test.html
./表示当前的应用目录
全局调用控制器
可以在自定义函数或者类中调用控制器中的方法和变量
- \Phpcmf\Service::C(); 当前的控制器对象
- \Phpcmf\Service::C()->member; 当前已经登录的用户信息,数组存储
文档最后更新时间:2017-09-27 03:14:28