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. java socket报文通信(二)报文的封装

    昨天我们谈了怎么建立socket通信的服务端和客户端,今天我们就来谈一谈怎么封装报文. 什么是报文这里我就不在阐述了,不清楚的朋友可以自己去查资料.我们今天要谈的报文主要友以下几个部分组成: 3位同步 ...

  2. redis的5种数据结构的简介

    5种数据结构 1.字符串 Redis 字符串是一个字节序列.在 Redis 中字符串是二进制安全的,这意味着它们没有任何特殊终端字符来确定长度,所以可以存储任何长度为 512 兆的字符串. 示例 12 ...

  3. java equals 心得体会

    要记住最有用的一点: equals 在已经被系统定义好的类中 是已经被重写好了的 父类中的 equals方法是比较的两个对象是否指向同一引用 在被定义除了父类以外比较的是两个对象的内容 因此 人为定义 ...

  4. HTML解析利器 - HtmlAgilityPack

    HtmlAgilityPack 是CodePlex 上的一个开源项目.它提供了标准的DOM API 和XPath 导航--即使 HTML 不是适当的格式! 使用HtmlAgilityPack操作HTM ...

  5. Combination Sum,Combination Sum II,Combination Sum III

    39. Combination Sum Given a set of candidate numbers (C) and a target number (T), find all unique co ...

  6. Python标准库内置函数——hasattr

    hasattr(object, name): # object 对象 name 特征名称 判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, nam ...

  7. JVM调优基础

    一.JVM调优基本流程 1.划分应用程序的系统需求优先级 2.选择JVM部署模式:单JVM.多JVM 3.选择JVM运行模式 4.调优应用程序内存使用 5.调优应用程序延迟 6.调优应用程序吞吐量 二 ...

  8. python bottle使用多个端口(多个进程)提高并发

    我的程序是用python结合bottle框架写的,但bottle自带wsgi原本只是单进程单线程运行模式(Bottle 默认运行在内置的 wsgiref 服务器上面.这个单线程的 HTTP 服务器在开 ...

  9. python functools.wraps装饰器模块

    # -*-coding=utf-8 -*-#实现一个函数执行后计算执行时间的功能 __author__ = 'piay' import time, functools def foo(): ''' 定 ...

  10. jquery之下拉列表select

    选择下拉列表中的一项,文本框显示其值 html代码如下: <select id="ttt"> <option value="Volvo" id ...