Tp5命名空间及路由笔记
来源:互联网 发布:16年双十一淘宝交易额 编辑:程序博客网 时间:2024/06/18 04:21
TP5路由
1,ThinkPHP5的路由过程,就是从入口文件开始,找到对应的方法位置。
协议---->域名---->入口文件--->模块---->控制器---->方法---->参数列表
http://-->tp5.com-->index.php--->index---->user------>add--->101/peter
URL:http://tp5/index.php/index/user/add/101/peter
//传统url地址是如和进行路由的?
基本语法 : http://域名/入口文件?m=模块名&c=控制器名&a=方法名&键1=值1&键2=值2
例如 : http://tp5.com/index.php?m=index&c=user&a=add&id=101
http://tp5.com/index.php?m=index&c=user&a=add&id=101
域名及入口文件-------->模块----->控制器---->方法--->参数列表
传统路由对比TP5路由
序号
URL
说明
1
http://tp5.com/index.php?m=index&c=user&a=add&id=101
传统URL模式地址
2
http://tp5.com/index.php/index/user/add/101
PATH_INFO模式地址
命名空间
1,文件路径
Thinkphp/library/think/cache/driver/File.php
命名空间:namespace think\cache\driver;
Class File{
}
实例化该类
$class = new \think\cache\driver\File();
根命名空间
名称
描述
类库目录
think
系统核心类库
Thinkphp/library/think
traits
系统trait类库
Thinkphp/library/traits
app
应用类库
application
增加新的根命名空间的两种方式:
// Route::get(‘hello’ , ‘index/hello’);
// \think\Route::get(‘hello’,’index/hello’);
自动注册:
把自己的类库包放入EXTEND_PATH目录(默认为extend,可配置),就可以自动注册对应的命名空间.
例:
我们在extend目录下面新增一个my目录,然后定义一个\my\Test类(类文件位于extend\my\test.php)
如下:
Namespace my;
Class Test
{
Public function sayHello()
{
Echo ‘hello’;
}
}
我们可以直接实例化和调用
$Test = new \my\Test();
$Test->sayHello();
应用入口文件中重新定义了EXTEND_PATH常量,还可以改变\my\Test类文件的位置
例:
define(‘EXTEND_PATH’,’../vendor/’);
手动注册:
在应用公共文件中添加下面的代码:
\think\Loader::addNamespace(‘my’,’../application/extend/my/’);
同时注册多个根命名空间,可以使用
\think\Loader::addnamespace([
‘my’ => ‘../application/extend/my/’,
‘org’ => ‘../application/extend/org’,
]);
直接在应用的配置文件中添加配置,系统会在应用执行的时候自动注册.
‘root_namespace’ =>[
‘my’ => ‘../application/extend/my/’,
‘org’ => ‘../application/extend/
- Tp5命名空间及路由笔记
- TP5强制路由模式笔记
- tp5 命名空间和引入 namespace
- 路由&模块化设计&命名空间
- thinkphp学习笔记——命名空间多级命名空间及三种访问方式
- 命名空间及匿名命名空间
- 注释及命名空间
- Laravel的HTTP路由的命名空间
- C++笔记 命名空间
- Struts2 命名空间笔记
- 学习笔记----命名空间
- 命名空间学习笔记
- PHP 命名空间笔记
- 学习笔记——XML Schema简介及命名空间
- 《TP5.0学习笔记---URL和路由篇》
- TP5路由问题
- TP5路由机制
- TP5笔记
- vue开发:Vue 非父子组件通信方法(非Vuex)
- 【POJ3211】 Washing Clothes
- react native 环境搭建
- ASP以及web开发命名规则参考与书写规范
- angularjs-兼容各种浏览器的复制到剪切板功能的代码
- Tp5命名空间及路由笔记
- C#中Action、Func、Tuple的使用
- 张五常的学习方法为什么好?因为符合人类的认知原理
- etcd使用简介
- 算法题目---顺时针打印矩阵
- Android & iOS 开发全面对比分析
- 1293 球与切换器(dp)
- Kotlin-Kotlin中调用Java
- VMware中安装Centos