thinkphp框架的路径问题 - 总结

thinkphp框架的路径问题 - 总结

 (2011-06-21 11:01:28)
标签: 

thinkphp

 

框架

 

路径

 

杂谈

分类: Php
TP中有不少路径的便捷使用方法,比如模板中使用的__URL__,__ACTION__等,如果你对这些路径不是很明白,用起来说不定就会有这样或那样的问题,抑或出了错也不知道怎么改,现在我们看一下这些路径到底是代表了什么吧!
假如你项目首页的URL是:www.test.com/other/Form
假如当前模块是:Index
假如当前操作是:index
那么首页完整的URL:http://www.test.com/other/Form/index.php/Index/index
__ROOT__:/other/thinkphp/mydemo
__SELF__:/other/thinkphp/mydemo/Form/index.php
__ACTION__: /other/thinkphp/mydemo/Form/index.php/Index/index
__URL__: /other/thinkphp/mydemo/Form/index.php/Index
__APP__: /other/thinkphp/mydemo/Form/index.php
__PUBLIC__:/other/thinkphp/mydemo/Public
../public(不区分大小写):/other/thinkphp/mydemo/Form/Tpl/default/Public
APP_PUBLIC_URL:/other/thinkphp/mydemo/Form/Tpl/default/Public
WEB_PUBLIC_URL:/other/thinkphp/mydemo/Public

模板中对路径部分的操作是这样子的:
PHP代码
  1. //项目公共目录  
  2.          $tmplContent = str_ireplace(‘../public‘,APP_PUBLIC_URL,$tmplContent);  
  3.          //网站公共目录  
  4.          $tmplContent = str_replace(‘__PUBLIC__‘,WEB_PUBLIC_URL,$tmplContent);  
  5.          //网站根目录  
  6.          $tmplContent = str_replace(‘__ROOT__‘,__ROOT__,$tmplContent);  
  7.          //当前项目地址  
  8.          $tmplContent = str_replace(‘__APP__‘,__APP__,$tmplContent);  
  9.          //当前模块地址  
  10.          $tmplContent = str_replace(‘__URL__‘,__URL__,$tmplContent);  
  11.          //当前项目操作地址  
  12.    $tmplContent = str_replace(‘__ACTION__‘,__ACTION__,$tmplContent);  
  13.          //当前页面操作地址  
  14.    $tmplContent = str_replace(‘__SELF__‘,__SELF__,$tmplContent);
1、路径问题
我的TP心得:“路径问题,是个大问题!”
针对THINKPHP2.0,我发现以下名称和对应的路径为:
假如你项目首页的URL是:http://<servername>/openexam/
假如当前模块是:Index
假如当前操作是:index
那么首页完整的URL:http://<servername>/openexam/index.php/Index/index
__ROOT__:http://<servername>/openexam/
__SELF__:http://<servername>/openexam/index.php
__ACT
ION__: http://<servername>/openexam/index.php/Index/index
__URL__: http://<servername>/openexam/index.php/Index
__APP__: http://<servername>/openexam/index.php
APP_PUBLIC_URL:http://<servername>/openexam/Tpl/default/Public
注 意:以上缩写仅适用于模板中使用,如在php中则使用U方法做URL路由来实现

有很多人在THINKPHP下使用jQuery框架,但不 知如何加入。
我发现,多数问题都是路径问题。
我的项目架构是:http://localhost/openexam/
在 C:\xampp\htdocs\Openexam\下放着一个名为script的文件夹,里面是jquery-1.4.1.js。
所以,在 C:\xampp\htdocs\Openexam\Tpl\default\Index\studentLogin.html中,使用:
<html>
<head>
<meta http-equiv="Content"
<title>{$title}</title>
<script src="__ROOT__/Openexam/script/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function(){
alert("ok");
}
)
</script>
</head>
<body>
<form method="POST" action="">
Openexam欢迎您,请您登录:<br>
......
</body>
</html>
即 可。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。