ThinkPHP中URL路径访问
ThinkPHP中URL路径访问
在thinkphp中有很多自定义的常量路径,具体如下:[php] view plainc opy
1.// echo "
ThinkPHP
2. //系统常量定义
3. //去THinkPHP手册中进行查找
4.// echo "
"."网站的根目录地址".__ROOT__." ";
5.// echo "
"."入口文件地址".__APP__." ";
6.// echo "
"."当前模块地址".__URL__." ";
7.// echo "
"."当前url地址".__SELF__." ";
8.// echo "
"."当前操作地址".__ACTION__." ";
9.// echo "
"."当前模块的模板目录".__CURRENT__." ";
10.// echo "
"."当前操作名称".ACTION_NAME." ";
11.// echo "
"."当前项目目录".APP_PATH." ";
12.// echo "
"."当前项目名称".APP_NAME." ";
13.// echo "
"."当前项目的模板目录".APP_TMPL_PATH." ";
14.// echo "
"."项目的公共文件目录".APP_PUBLIC_PATH." ";
15.// echo "
"."项目的配置文件目录".CONFIG_PATH." ";
16.// echo "
"."项目的公共文件目录".COMMON_PATH." ";
17.// //自动缓存与表相关的全部信息
18.// echo "
"."项目的数据文件目录".DATA_PATH." runtime下的data目录";
19.// echo "
"." ".GROUP_NAME."";
20.// echo "
"." ".IS_CGI."";
21.// echo "
"." ".IS_WIN."";
22.// echo "
"." ".LANG_SET."";
23.// echo "
"." ".LOG_PATH."";
24.// echo "
"." ".LANG_PATH."";
25.// echo "
"." ".TMPL_PATH."";
26.//
27.// //js放入的位置,供多个应用的公共资源
28.// echo "
"." ".WEB_PUBLIC_PATH."";
登录页面
[html] view plainc opy
1.
2.
3.
4.
5.
6.
7.
8.模板路径
9.__URL__:当前模块的URL地址
10.../Public 当前模板的public目录
11.__PUBLIC__ 与主目录平级的public目录,供多个项目应用
12.__TMPL__ 项目模板目录
13.__APP__ 项目的Url
14.__ACTION__当前操作的URL地址
15.__SELF__ 当前整个路径的链接
16.
17.
22.
26.
27.
获取页面:
[html] view plainc opy
1.
2.
3.
4.
5.
6.
7.
8.
12. -->
13.
14.
15.
16.
获取的action:
[php] view plainc opy
1.
2.// 本类由系统自动生成,仅供测试用途
3.//最好独立写成php对应的文档
4.class UserAction extends Action{
5. //http://localhost/MyThinkPHP/admin.php/index/hello
6.public function index(){
7. header("Content-Type:text/html; charset=utf-8");
8. echo "UserAction.index!";
9. $this->verify();
10.
11. }
12.public function fuck(){
13. header("Content-Type:text/html; charset=utf-8");
14. echo "UserAction.the world!";
15. $this->verify();
16.
17. }
18.private function verify(){
19. $this->display();
20. echo "
UserAction.验证方法";
21. }
22.public function login(){
23. $this->assign("content","这是内容啊");
24. $this->display();
25. echo "
UserAction.验证方法";
26. }
27.public function add(){
28. dump($_POST);
29. echo $_POST['username'];
30. $this->assign("username",$_POST['username']);
31. $this->display();
32. }
33.}
34.?>
使用frame搭建页面:不要引入静态的html文件,应该在Action的方法中填写,如下:
indexAction
[php] view plainc opy
1.
2.// 本类由系统自动生成,仅供测试用途
3./**
4. * thinkphp一共有四种路径访问模式,可以在conf文件夹中修改
5. * 0: 普通模式:http://localhost/MyThinkPHP/admin.php?m=index&a=hello
6. * 1:pathInfo:
7. * http://localhost/MyThinkPHP/admin.php/index/hello
8. * http://localhost/MyThinkPHP/admin.php/index/hello
9. * 2:rewrite(伪静态):自己可以写相关的rewrite规则,也可以使用系统提供的rewrite
规则
10. * http://localhost/MyThinkPHP/index/hello
11. * Apache收藏的URL指南中有介绍
12. * 3:兼容模式:路径访问(防止服务器不支持pathInfo模式)
13. * http://localhost/MyThinkPHP/admin.php?s=/index/hello
14. *
15. * 如何在MVC中来显示模板
16. *
17. */
18.class IndexAction extends Action{
19. //thinkphp当中模块控制器,动作,与URL路径之间的关系
20. //我们的所以动作,都必须经过项目入口文件,只有这样才能找到模块(控制器)
21. //http://localhost/MyThinkPHP/admin.php/index/index
22. //访问indexAction中的index方法(默认访问indexAction)
23.public function index(){
24. header("Content-Type:text/html; charset=utf-8");
25.// echo "
ThinkPHP
26. //系统常量定义
27. //去THinkPHP手册中进行查找
28.// echo "
"."网站的根目录地址".__ROOT__." ";
29.// echo "
"."入口文件地址".__APP__." ";
30.// echo "
"."当前模块地址".__URL__." ";
31.// echo "
"."当前url地址".__SELF__." ";
32.// echo "
"."当前操作地址".__ACTION__." ";
33.// echo "
"."当前模块的模板目录".__CURRENT__." ";
34.// echo "
"."当前操作名称".ACTION_NAME." ";
35.// echo "
"."当前项目目录".APP_PATH." ";
36.// echo "
"."当前项目名称".APP_NAME." ";
37.// echo "
"."当前项目的模板目录".APP_TMPL_PATH." ";
38.// echo "
"."项目的公共文件目录".APP_PUBLIC_PATH." ";
39.// echo "
"."项目的配置文件目录".CONFIG_PATH." ";
40.// echo "
"."项目的公共文件目录".COMMON_PATH." ";
41.// //自动缓存与表相关的全部信息
42.// echo "
"."项目的数据文件目录".DATA_PATH." runtime下的data目录";
43.// echo "
"." ".GROUP_NAME."";
44.// echo "
"." ".IS_CGI."";
45.// echo "
"." ".IS_WIN."";
46.// echo "
"." ".LANG_SET."";
47.// echo "
"." ".LOG_PATH."";
48.// echo "
"." ".LANG_PATH."";
49.// echo "
"." ".TMPL_PATH."";
50.//
51.// //js放入的位置,供多个应用的公共资源
52.// echo "
"." ".WEB_PUBLIC_PATH."";
53.
54. $this->display();
55.
56. }
57.public function top(){
58. $this->display();
59. }
60.public function left(){
61. $this->assign("content","这是内容啊");
62. $this->display();
63. }
64.public function right(){
65. $this->display();
66. }
67.
68.
69.
70.
71. //访问模式:path_Info
72. //http://localhost/MyThinkPHP/admin.php?m=index&a=hello
73. //http://localhost/MyThinkPHP/admin.php/index/hello
74.public function hello(){
75. header("Content-Type:text/html; charset=utf-8");
76. echo "这是我自己的方法哦!";
77. }
78. /**
79. * 模板使用
80. * 大小写一定要注意
81. */
82.public function template(){
83. //必须在对应的项目的Tpl的default下创建与当前控制器名相同的文件夹Index
84. //然后html文件名为方法名
85.
86. //默认分割符方式{$content}
87. //可以在模板指南针中进行定界符的修改
88. $this->assign("content","小和尚下山去化斋,老和尚有交代");
89. $this->display();
90. //1.同级下面指定新模板
91. //$this->display("newTemplate");
92. //2.跨控制器的引用模板(也可以添加分组信息)
93. //$this->display("分组:User:verify");
94. //3.跨皮肤引用
95.// $this->display("test@User:verify");
96. //4.全路径输出(在项目同级目录新建public文件夹)
97. //加载文件的位置全以主入口文件来定位
98.// $this->display("./public/ss.html");
99. //display参数
100.// $this->display("位置","utf-8","text/xml");
101. }
102.}
103.?>
index.html
[html] view plainc opy
1.
left.html
[html] view plainc opy
1.
2.
3.
4.
5.
6.
7.
8.我是模板我是模板
9.{$content}
10.
11.
我是模板我是模板
12.
13.
right.html top.html
[html] view plainc opy
1.
2.
3.
4.
5.
6.
7.
8.我是模板我是模板
9.
10.