二.TP5.0控制器和方法跨控制器调用,命名空间,URL解析

1.自己的总结
a.跨控制器的调用
1.$model=new \app\admin\controller\Index;echo $model->index();

2.$model=controller(‘admin/Index’); echo $model->index();

b.方法的调用(用的系统方法 还有其他)
echo action (‘Login/login’); 调用index下同一个控制器中的方法

echo action (‘Text/text’); 调用index下不同控制器中的方法

echo action (‘admin/User/user’); 调用admin下控制器中的方法
2.出错的地方
1.无论是调用控制器或者方法,都要写在想调用那个方法的里面,写在外面要报错.
2.$model=controller(‘admin/Index’); echo m o d e l − > i n d e x ( ) ; 输 出 的 是 model->index();输出的是 model>index();model->index();不是$this->index();还有就是index是控制器名称。自己实践中控制器变了而没有改名字导致运行出错.
3、URL解析
http:// www.tp.com /index.php /Index /Index /index 协议 域名 入口文件(可不要) 模块 控制器 方法
注意如果自己没有配置域名 访问url如下
127.0.0.1/tp5/public/ index.php /index/Index/index

4.命名空间
与目录有关(以前台index控制器命名空间为例) C:\AppServ\www\tp5\application\index\controller

namespace app\index\controller;

5、主要分析TP执行流程(了解知道流程就是,刚开始不怎么懂的)
1、入口文件(C:\AppServ\www\tp5\public\index.php)

           作业 (1)定义目录常量
		(2)加载框架引导目录	

2、加载框架的引导文件(C:\AppServ\www\tp5\thinkphp\start.php)

            作用:(1) 引导基础文件
		(2) 对应用进行运转

3、加载框架的基础引导文件(C:\AppServ\www\tp5\thinkphp\base.php);
作用: (1) 加载系统常量
(2) 引入loader类 ( C:\AppServ\www\tp\thinkphp\library\think\loader.php)

		(3) 引入环境变量
		(4) 注册自动记载机制
		(5) 注册异常处理机制(C:\AppServ\www\tp5\thinkphp\library\think\Error.php)
		(6) 记载惯例配置(C:\AppServ\www\tp5\thinkphp\convention.php)

4、运行应用(C:\AppServ\www\tp5\thinkphp\library\think\App.php) 下的run方法; 1、第一步: 加载当前控制器中 initCommon() 方法

	2、第二步: 加载当前控制器中 init() 方法			1、加载各种配置文件			2、加载公共文件			3、加载语言包
	3、第三步: 设置时区
	4、第四步: 加载当前控制器 routeCheck() 方法 路由检测
	5、第五步: 调用控制器中exec方法			根据用户请求进行分发处理
	6、第六步: 根据不同请求类型记载对应文件 module方法
		加载到对应的控制器和对应方法

5、响应输出 用户看到的所有界面就加载出来了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值