1.访问控制器
控制器访问支持queryStrng和pathInfo两种模式。下面是个例子:
这里假定控制器文件配置后缀是.php,方法前缀是do,方法名首字母大写不包含前缀。
QueryString模式:http://127.0.0.1/index.php?home.welcome.index/1/2&uid=333
说明:
1.这个地址是访问控制器目录下面的home文件夹里面的welcome.php里面的Welcome类的doIndex 方法。
2.同时向doIndex方法传递了两个参数,第一个是1和第二个是2。
3.还传递了一个get变量uid,可以通过$this->input->get('uid')获取333。
PathInfo模式:http://127.0.0.1/index.php/home.welcome.index/1/2?uid=333
说明:
1.这个地址是访问控制器目录下面的home文件夹里面的welcome.php里面的 doIndex 方法。
2.同时向doIndex方法传递了两个参数,第一个是1和第二个是2。
3.还传递了一个get变量uid,可以通过$this->input->get('uid')获取333。
可以看出两个模式的区别就是index.php后面一个是?一个是/,get方式传递和普通get方式一样。
2.代码规范
控制器类必须继承MpController类,控制器文件名和类名一样,类名首字母大写,而且如果有构造方法那么构造方法里面必须先调用父类的构造方法。
示例如下:
class Welcome extends MpController{ public function __construct() { parent::__construct(); } public function doIndex($name=''){ $this->view("welcome",array('msg'=>$name)); } public function __output($html){ echo '__output'.$html; } }3.输出控制
如果控制器里面有个public function __output($html)方法,那么该控制器所有的输出都会重定向到这个方法上,这个方法会被调用,参数是将要显示到浏览器的页面内容。在这个方法里面可以在输出之前进一步处理内容,该方法决定了内容是否显示到浏览器。
4.和控制器相关的配置
1.存放控制器文件的文件夹路径名称
$system['controller_folder'] = $system['application_folder'] . '/controllers';
2. 默认控制器
$system['default_controller'] = 'welcome';
3.控制器方法名称前缀
$system['controller_method_prefix'] = 'do';
4. 默认方法名称,不要带前缀
$system['default_controller_method'] = 'index';
5.控制器文件名称后缀,比如.php或者.controller.php
$system['controller_file_subfix'] = '.php';
Powered By 狂奔的蜗牛 | 历史版本 | 源代码 | 快速入门 | MicroPHP@开源中国
源代码许可证 Apache License v2.0
MicroPHP官方QQ交流群 : 42807575 , 有问题欢迎加群交流