ThinkPHP笔记——URL结构与模块分组
2012-03-27 20:37
387 查看
ThinkPHP的URL结构对初学者来说是一个很难理解的问题,比如同样的一个页面:
http://localhsot/index.php
我也可以使用 http://localhost/index.php/Index/index显示出来。
从这里来看能够很好的拆解URL地址的含义对学号ThinkPHP尤为重要。下面看一下实例:
我建立的ThinkPHP实例,在根目录下创建项目home,并使用了Home和Admin模块分组,实现了模块的分组操作。
基本的ThinkPHP URL访问是这样的:
http://域名/项目名/分组名/模块名/操作名/其他参数
比如我的域名就是 localhost;项目名没有;分组名就是Home 或者Admin;模块名就是Index;操作名就是IndexAction.class.php控制器中的某个函数。
这里必须知道控制器、操作名、项目分组等含义。个人理解入口文件是每个页面都需要的index.php;项目名就是这个入口文件建立的项目的名字;控制器就是项目文件夹中lib\action\文件夹中的类似IndexAction.class.php的类文件;操作名也是方法,就是控制器中的function方法名。
写控制器时需要注意控制器的命名规则:
1、控制的文件名命名: IndexAction.class.php 首字母大写,加上 .class;
2、类的定义: class IndexAction extends Action 类名和文件名师对应的(注意大写),还需要继承Action类
3、控制器可以使用Private方式定义function,但是只能在该控制器中使用。
空操作方法的定义:
空操作方法的性质有点类似于GET或者POST提交输出的方式,通过浏览器输入的网址中的操作名来进行相应的操作(如果存在相应的操作即进行相关操作,如果不存在则进行空操作)
知道了空操作,空模型就不用再多说什么也就很容易理解了。当用户在地址栏输入的地址中的控制器不存在时,就只直接导入到空模型中。
http://localhsot/index.php
我也可以使用 http://localhost/index.php/Index/index显示出来。
从这里来看能够很好的拆解URL地址的含义对学号ThinkPHP尤为重要。下面看一下实例:
我建立的ThinkPHP实例,在根目录下创建项目home,并使用了Home和Admin模块分组,实现了模块的分组操作。
基本的ThinkPHP URL访问是这样的:
http://域名/项目名/分组名/模块名/操作名/其他参数
比如我的域名就是 localhost;项目名没有;分组名就是Home 或者Admin;模块名就是Index;操作名就是IndexAction.class.php控制器中的某个函数。
这里必须知道控制器、操作名、项目分组等含义。个人理解入口文件是每个页面都需要的index.php;项目名就是这个入口文件建立的项目的名字;控制器就是项目文件夹中lib\action\文件夹中的类似IndexAction.class.php的类文件;操作名也是方法,就是控制器中的function方法名。
写控制器时需要注意控制器的命名规则:
1、控制的文件名命名: IndexAction.class.php 首字母大写,加上 .class;
2、类的定义: class IndexAction extends Action 类名和文件名师对应的(注意大写),还需要继承Action类
3、控制器可以使用Private方式定义function,但是只能在该控制器中使用。
空操作方法的定义:
空操作方法的性质有点类似于GET或者POST提交输出的方式,通过浏览器输入的网址中的操作名来进行相应的操作(如果存在相应的操作即进行相关操作,如果不存在则进行空操作)
public function _empty($name) { $this->city($name); } protected function city($name) { echo $name; }
知道了空操作,空模型就不用再多说什么也就很容易理解了。当用户在地址栏输入的地址中的控制器不存在时,就只直接导入到空模型中。
<?PHP class EmptyAction extends Action { public function index(){ $cityname = MODULE_NAME; $this->city($cityname); } private function city($cityname) { echo $cityname; } } ?>
相关文章推荐
- ThinkPHP 学习笔记 ( 一 ) 项目部署:应用部署方式与模块分组部署方式
- ThinkPHP-项目模块分组后自定义类库文件放去哪?
- 【Thinkphp教程】 如何进行模块分组
- thinkphp 启用模块分组配置
- thinkphp学习笔记1—目录结构和命名规则
- ThinkPHP 学习笔记(六) URL模式
- thinkphp3.1模块分组的建立详细步骤
- thinkphp5带分组功能的树形结构的无限级分类节点展示
- Thinkphp5笔记六:公共模块common的使用
- mojoportal学习笔记之 几个模块的数据库结构
- ThinkPHP去除url中的index.php以及绑定模块
- node.js学习笔记--官方原生模块-queryString,url,Buffer
- thinkphp分组模块记录
- ThinkPHP控制器模块分组
- thinkphp学习笔记1—目录结构和命名规则
- ThinkPHP(模块分组)
- thinkPHP--模块分组
- magento 模块开发 实例-magento基本URL结构解析
- THINKPHP URL模块大小写导致404问题
- ThinkPHP5学习笔记(1)-自动生成目录结构