转自:http://blog.sina.com.cn/s/blog_827ddd950100ulyv.html

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代码

//项目公共目录  
             $tmplContent = str_ireplace('../public',APP_PUBLIC_URL,$tmplContent);  
             //网站公共目录  
             $tmplContent = str_replace('__PUBLIC__',WEB_PUBLIC_URL,$tmplContent);  
             //网站根目录  
             $tmplContent = str_replace('__ROOT__',__ROOT__,$tmplContent);  
             //当前项目地址  
             $tmplContent = str_replace('__APP__',__APP__,$tmplContent);  
             //当前模块地址  
             $tmplContent = str_replace('__URL__',__URL__,$tmplContent);  
             //当前项目操作地址  
       $tmplContent = str_replace('__ACTION__',__ACTION__,$tmplContent);  
             //当前页面操作地址  
       $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框架的路径问题 - 总结

    thinkphp框架的路径问题 - 总结 (2011-06-21 11:01:28) 转载▼ 标签: thinkphp 框架 路径 杂谈 分类: Php TP中有不少路径的便捷使用方法,比如模板中使用 ...

  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框架中的PATHINFO模式功能(二)

    距离上一次发布的<制作类似ThinkPHP框架中的PATHINFO模式功能>(文章地址:http://www.cnblogs.com/phpstudy2015-6/p/6242700.ht ...

  8. (转)nginx下基于ThinkPHP框架的网站url重写

    nginx下基于ThinkPHP框架的网站url重写nginx下的基于thinkphp的应用的url重写,需了解thinkphp的各种url格式参数的处理逻辑以及nginx重写的原理.简单点说,无论哪 ...

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

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

随机推荐

  1. Android 中的Force Close

    今天写程序时遇到一个问题,领导希望在点击了setting里的force close 后,程序依然能够响应以前用alarmManager注册的receiver. 在网上看到了一些文章,写的是如何建立一个 ...

  2. iOS 中NSOperationQueue,Grand Central Dispatch , Thread的上下关系和区别

    In OS X v10.6 and later, operation queues use the libdispatch library (also known as Grand Central D ...

  3. 给mysql数据库插入当前时间

    mysql相关的三个函数有: NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中.CURDATE()以’YYYY-MM-DD’的格式返回 ...

  4. extjs插件开发上传下载文件简单案例

    前台,extjs,框架,mybatis,spring,springMVC,简单的文件上传下载案例. 必要的jar包,commons-fileupload-1.3.1.jar,commons-io-2. ...

  5. Java中Json用法

    首先导入json.jar,非常简单看过代码就明白怎么用了 package cn.mylucene; import java.util.HashMap; import java.util.Map; im ...

  6. LeetCode之Min Stack 实现最小栈

    LeetCode相关的网上资源比较多,看到题目一定要自己做一遍,然后去学习参考其他的解法. 链接: https://oj.leetcode.com/problems/min-stack/ 题目描述: ...

  7. Webservice加上SoapHeader验证方式

    提供一种基于SoapHeader的自定义验证方式,代码如下: public class MySoapHeader : System.Web.Services.Protocols.SoapHeader ...

  8. SQL事务的使用

    在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正 ...

  9. SU Demo之02Filtering--01Sufilter

    欢迎各位网友批评指正! 今天博文例子位于如下目录: 第一个脚本: 下面是显示结果: 第二个脚本: 运行结果如下: 第三个脚本: 第四个脚本: 第五个脚本: 最后看看sumute命令的说明:

  10. DP+BIT(优化复杂度) UESTC 1217 The Battle of Chibi

    题目传送门 题意:问n长度的序列,找出长度m的上升子序列的方案数. 分析:这个问题就是问:dp[i][j] = sum (dp[i-1][k]) (1 <= k <= n, a[k] &l ...