热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php自定义模板引擎,php原生模板引擎

本文目录一览:1、介绍个php模板引擎2、t

本文目录一览:


  • 1、介绍个 php模板引擎


  • 2、thinkphp3.2 自定义模板路径 thinkphp 如何自定义模板路径?比如display($template);


  • 3、PHP 模板引擎的简单代码怎么弄!


  • 4、模板引擎种类和适用范围 smarty是不是只可用于php


  • 5、php模板都有哪些啊,我是新手老是听说php模板,但是不清楚php模板都有哪些,及哪些php模板安全和流行


  • 6、php 模板引擎有什么好?本想自己写一个模板引擎,融合到自己设计的框架中去(现在使用类似 word

介绍个 php模板引擎

模板只用smarty。大小皆宜。

虽然目前模板也有不少种,但只有smarty最接近MVC。

另外,就如你说,小站不太适合smarty,有点大炮打鸟的感觉。

没听说国内有什么好的模板引擎。不过有些不错的开发框架 。PHP的开发框架多如牛毛。楼上的PHPLIB也是国外的。

smarty也有中文手册,当然,是国内翻译的,smarty网站上是找不到的。PHPLIB虽然小,但是如果使用了它,对于网站的访问速度上远不如smarty好。因为smarty有一个编译缓存机制,PHPLIB只有一个编译机制,没有缓存。

所以还是直接就上手smarty吧。

其实smarty很容易的,就那么几条命令,还没有PHP的一组字符串操作函数多。

thinkphp3.2 自定义模板路径 thinkphp 如何自定义模板路径?比如display($template);

那你可以自己创建一个公共控制器如 commonController.class.php。然后每一个前端的控制器都继承这个公共的控制器,在这个控制器里面创建一个方法,参考display方法写一个,将里面的路径什么的按照自己的喜好写就行了。

PHP 模板引擎的简单代码怎么弄!

//phpcms 的核心模板解析函数

/*

*/

function template_parse($str)

{

$str = preg_replace("/\{(\\$[a-zA-Z0-9_\[\]\'\"\$\x7f-\xff]+)\}/es", "addquote('?php echo \\1;?')",$str);

$str = preg_replace("/\{([A-Z_\x7f-\xff][A-Z0-9_\x7f-\xff]*)\}/s", "?php echo \\1;?",$str);

$str = preg_replace("/([\n\r]+)\t+/s","\\1",$str);

$str = preg_replace("/\\!\-\-\{(.+?)\}\-\-\/s", "{\\1}",$str);

$str = preg_replace("/\{template\s+(.+)\}/","\n?php include template(\\1); ?\n",$str);

$str = preg_replace("/\{include\s+(.+)\}/","\n?php include \\1; ?\n",$str);

$str = preg_replace("/\{php\s+(.+)\}/","\n?php \\1?\n",$str);

$str = preg_replace("/\{if\s+(.+?)\}/","?php if(\\1) { ?",$str);

$str = preg_replace("/\{else\}/","?php } else { ?",$str);

$str = preg_replace("/\{elseif\s+(.+?)\}/","?php } elseif (\\1) { ?",$str);

$str = preg_replace("/\{\/if\}/","?php } ?",$str);

$str = preg_replace("/\{loop\s+(\S+)\s+(\S+)\}/","?php if(is_array(\\1)) foreach(\\1 AS \\2) { ?",$str);

$str = preg_replace("/\{loop\s+(\S+)\s+(\S+)\s+(\S+)\}/","\n?php if(is_array(\\1)) foreach(\\1 AS \\2 = \\3) { ?",$str);

$str = preg_replace("/\{\/loop\}/","\n?php } ?\n",$str);

$str = preg_replace("/\{tag_([^}]+)\}/e", "get_tag('\\1')", $str);

$str = preg_replace("/\{\\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\(([^{}]*)\))\}/","?php echo \\1;?",$str);

$str = preg_replace("/\{(\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/","?php echo \\1;?",$str);

}

function addquote($var)

{

return str_replace("\\\"", "\"", preg_replace("/\[([a-zA-Z0-9_\-\.\x7f-\xff]+)\]/s", "['\\1']", $var));

}

模板引擎种类和适用范围 smarty是不是只可用于php

Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

Smarty优点1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。

2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)

3. 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。

4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。

5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

不适合使用Smarty的地方需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。

小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。

(PS:不过为了整个项目的规范,请大家尝试去使用模板引擎。其实习惯了,开发速度会更加快,以上是没有用习惯模板引擎的开发者遇到的问题)

php模板都有哪些啊,我是新手老是听说php模板,但是不清楚php模板都有哪些,及哪些php模板安全和流行

SmartySmarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。

Heyes Template Class一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。

FastTemplate一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。

ShellPage一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。

STP Simple Template Parser一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。

OO Template Class一个你可以用在自己程序中的面向兑现的模板类。

SimpleTemplate一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。

bTemplate短小但是快速的模板类,允许你把PHP逻辑代码从HTML修饰代码中分离。

Savant一个强大且轻量级的PEAR兼容模板系统。它是非编译型的,使用PHP语言本身做为它的模板语言。

ETS - easy template system可以使用完全相同数据重组模板的模板系统。

EasyTemplatePHP适用于你的站点的一个简单但是强大的模板系统。

vlibTemplate一个快速、全能的模板系统,它包含一个缓存和调试类。

AvanTemplate多字节安全的模板引擎,占用很少系统资源。它支持变量替换,内容块可以设置显示或隐藏。

Grafx Software’s Fast Template一个修改版本的Fast Template系统,它包括缓存功能,调试控制台以及沉默去除为赋值块。

TemplatePower一个快速、简单、功能强大的模板类。主要功能有嵌套的动态块支持,块/文件包含支持以及显示/隐藏未赋值的变量。

TagTemplate这个库的功能被设计来使用模板文件,同时允许你从HTML文件检索信息。

htmltmpl: templating engine一个适用于Python和PHP的模板引擎。它面向希望在项目中分离代码和设计的web应用开发人员。

PHP Class for Parsing Dreamweaver templates一个分析Dreamweaver模板的简单类,被用于Gallery 2 和WordPress的自定义模块中。

MiniTemplator (Template Engine)针对HTML文件的一个紧凑型模板引擎。对于模板变量和块定义它具有简单的语法。其中块可以嵌套。

Layout Solution简化网站开发和维护。它拥有常用的变量和页面元素使你不需要重复做页面布局工作。

Cached Fast Template它已经纳入 FastTemplate ,允许你缓存模板文件,甚至可以在分离的块内容上缓存不同的规格。

TinyButStrong一个支持MySQL, Odbc, Sql-Server和ADODB的模板引擎。它包含7个方法和两个属性。

Brian Lozier’s php based template engine只有2K大小,非常快并且是面向对象设计。

WACT一个从设计中分离代码的模板引擎。

PHPTAL一个PHP下面的XML/XHTML模板库。

php 模板引擎有什么好?本想自己写一个模板引擎,融合到自己设计的框架中去(现在使用类似 word

推荐使用thinkphp框架,使用wp框架其实并不需要include包含了,可以把自定义代码全部写到functions.php里或做个插件


推荐阅读
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 在编写业务代码时,常常会遇到复杂的业务逻辑导致代码冗长混乱的情况。为了解决这个问题,可以利用中间件模式来简化代码逻辑。中间件模式可以帮助我们更好地设计架构和代码,提高代码质量。本文介绍了中间件模式的基本概念和用法。 ... [详细]
  • 代理模式的详细介绍及应用场景
    代理模式是一种在软件开发中常用的设计模式,通过在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象进行访问,从而简化系统的复杂性。代理模式可以根据不同的使用目的分为远程代理、虚拟代理、Copy-on-Write代理、保护代理、防火墙代理、智能引用代理和Cache代理等几种。本文将详细介绍代理模式的原理和应用场景。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了在Oracle数据库中创建序列时如何选择cache或nocache参数。cache参数可以提高序列的存取速度,但可能会导致序列丢失;nocache参数可以避免序列丢失,但在高并发访问时可能导致性能问题。文章详细解释了两者的区别和使用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了关于smarty自定义缓存名的解决思路,通过放弃生成缓存,直接生成html的静态页面来提高速度。同时提供了一个参考链接供参考。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
author-avatar
七锦少年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有