ThinkPHP模板替换与系统常量及应用实例教程


Posted in PHP onAugust 22, 2014

本文讲述了ThinkPHP模板替换与系统常量及应用,是ThinkPHP项目开发的基础知识,有必要加以牢固掌握。具体如下:

默认的模板替换规则:

../Public : 会被替换成当前项目的公共模板目录 通常是 / 项目目录 /Tpl/default/Public/
__PUBLIC__ :会被替换成当前网站的公共目录 通常是 /Public/
__TMPL__ : 会替换成项目的模板目录 通常是 / 项目目录 /Tpl/default/
__ROOT__ : 会替换成当前网站的地址(不含域名)
__APP__ : 会替换成当前项目的 URL 地址 (不含域名)
__URL__ : 会替换成当前模块的 URL 地址(不含域名)
__ACTION__ :会替换成当前操作的 URL 地址 (不含域名)
__SELF__ : 会替换成当前的页面 URL

还可以通过在项目配置文件中配置TMPL_PARSE_STRING的值来自定义替换规则,如:

TMPL_PARSE_STRING => array(
   '__PUBLIC__' => '/Common' ,  // 更改默认的 __PUBLIC__ 替换规则
   '__UPLOAD__' => '/Public/Uploads/' ,  // 增加新的上传路径替换规则
)

示例:

文件路径:/Home/Tpl/default/User/index.html,代码如下:

<p>__ROOT__代表当前网站的网址</p>
 <p>__URL__代表当前模块的URL地址/index.php/User</p>
 <p>../Public代表/aoli/Tpl/default/Public</p>
 <p>__PUBLIC__代表项目公共文件目录/Public</p>
 <p>__TMPL__代表当前项目的模板目录/aoli/Tpl/default/</p>
 <p>__APP__代表当前项目的入口文件地址/index.php</p>
 <p>__ACTION__代表当前的操作地址/index.php/User/index</p>
 <p>__SELF__代表当前URL地址/index.php/User/</p>
 <p>__UPLOAD__</p>
 <form action="__URL__/add" method="post">
  <input type="text" name="username" />
  <input type="submit" value="注册" />
 </form>

文件路径:/Home/Lib/Action/UserAction.class.php,代码如下:

<?php
 class UserAction extends Action {
    function index(){
      $this->display();     
    }
    function add(){
      dump($_POST);   
    }
 }
?>

访问路径:http://localhost/index.php/User/index输入内容,点击注册按钮后跳转到http://localhost/index.php/User/add并执行User模块下的add方法,输出提交的内容。

希望本文所述对大家的ThinkPHP程序设计有所帮助。

PHP 相关文章推荐
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
利用PHP制作简单的内容采集器的原理分析
Oct 01 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
ezSQL PHP数据库操作类库
May 16 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 PHP
smarty中常用方法实例总结
Aug 07 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 #PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 #PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 #PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 #PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 #PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 #PHP
ThinkPHP验证码和分页实例教程
Aug 22 #PHP
You might like
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
php数组分页实现方法
2016/04/30 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
js 居中漂浮广告
2010/03/21 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
警察思想汇报
2014/01/04 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
后天观后感
2015/06/08 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
五一放假通知怎么写
2015/08/18 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android