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>
即 可。

thinkphp框架的路径问题 - 总结的更多相关文章

  1. 转载--thinkphp框架的路径问题 - 总结

    转自:http://blog.sina.com.cn/s/blog_827ddd950100ulyv.html TP中有不少路径的便捷使用方法,比如模板中使用的__URL__,__ACTION__等, ...

  2. 使用ThinkPHP框架高速开发站点(多图)

    使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ...

  3. 使用ThinkPHP框架高速发展网站(多图)

    使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ...

  4. [转]使用ThinkPHP框架快速开发网站(多图)

    本文转自:http://blog.csdn.net/ruby97/article/details/7574851 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkP ...

  5. ThinkPHP框架快速开发网站

    使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助 ...

  6. 番外一:关于thinkphp框架下的文件导入路径问题

    总的来说,要使在thinkphp框架下面HTML导入的图片.css文件和js文件有效,只有两种方法:(1)使用绝对路径:(2)在项目目录下创建新目录Public,把所有的img文件夹.js文件夹和cs ...

  7. 攻城记:Thinkphp框架的项目规划总结和踩坑经验

    一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...

  8. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

  9. 关于在BAE上部署ThinkPHP框架的问题

    现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...

随机推荐

  1. (转)sql中 in 、not in 、exists、not exists 用法和差别

    exists (sql 返回结果集为真)  not exists (sql 不返回结果集为真)  如下:  表A  ID NAME  1    A1  2    A2  3  A3 表B  ID AI ...

  2. Windows下使用ODBC API访问数据库之关键

    本文采用SQL2005 + VS2008环境,以ODBC API方式成功连接数据库. 1.SQL安装和环境配置 这部分网上随便搜一下都有很多资料,而且很容易就可以配置成功. 注意的关键点: SA账号配 ...

  3. iOS_SN_Xcode内存泄露调试

    用Xcode进行内存调试有两种方法: 1.静态方法 2.动态方法 静态方法是直接在Xcode的菜单栏中选择product-->analyze 如截图所示. 之后会看到Xcode的编译状态上会有如 ...

  4. 新建一个vs2010的MFC工程

    1.在新建mfc工程时Visual C++下的MFC MFC ActiveX Control用来生成MFC ActiveX控件程序 MFC Application用来生成MFC应用程序. MFC DL ...

  5. js字符串数字计算

    1.字符串转换为数字用 -0 var a=1; var b='2'; var c= a+b;(12) var c=a+(b-0);(3)

  6. jquery 自动实现autocomplete+ajax

    来公司也差不多一个半月了,一直做点小东西,现在在做公司的出货系统,也只是做来锻炼锻炼的. 好了 不废话了 下面是实现 jquery插件 autocomplete+ajax 自动实现.也是刚学,勿喷. ...

  7. 继刚接触play framework后,一些心得

    我是个小菜鸟,我这些体会跟心得纯属个人观点,仅供参考,勿喷,我想记录下学习的历程,不断成长 在play2.0的框架里面  用到的最多的语言就是scala,对于习惯了java语言的我们来说  看这些语言 ...

  8. maven项目依赖被改为文件夹时如何改回lib

    如图

  9. JS 没有块级作用域

    在函数(方法)中声明的所有变量,他们在整个函数中都有定义 var scope="abc"; function f() { alert(scope);  //显示undefine v ...

  10. Scala学习笔记--xml

    http://blog.csdn.net/beautygao/article/details/38497065 https://github.com/scala/scala-xml http://st ...