`

PHP有无必要使用Smarty呢??

阅读更多

使用Smarty是可以处理很多东西,但是近来本人相当的困惑,有无这个必要呢????它提供了很多页面的模板指令,但是我在开发的过程中实际上都很少用到... 每次都挂上这个东西是不是浪费呢??

 

比如这个生成RSS的代码,使用原生的PHP相当的简单

<?php
header("Content-Type:text/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>' //这后面不能加换行符;
?>
<rss version="2.0">
	<channel>
		<title>Module Action Menu</title>
		<link>appstore/contenter/action-menu/exep-menu.xml</link>
		<description>
			每个菜单模块下有多个菜单链接,每个连接对应此文件中的一个item项.
		这个文件必须放在外部访问不到的地方,客户端使用一个统一的控制器来获取相应的这个文件.
		此文件由PHP程序动态生成,并使用unicode编码,客户端获取后,反解析显示.
			为了提高效率,在后期可以生成缓存文件.
			
		</description>
		<language>zh-cn</language>
		<copyright>
			Copyright © 2006 Beijing Extreme Club. All Rights Reserved
		</copyright>
		
		<pubDate></pubDate>
		<lastBuildDate></lastBuildDate>
		<docs>http://www.beijingextreme.com.cn/rss</docs>
		<generator>iamsese vb2005xu</generator>
		<managingEditor>vb2005xu</managingEditor>
		<webMaster>trcn17@gmail.com</webMaster>
		
<?php
$menu_text  = array() ;
$menu_text['zh'] = array(
	'地理资讯','历史资讯','宗教',
	'传说','气候','高原反应',
	'西藏推荐行程','西藏寺庙','名山险峰',
	'地图','相册'
) ;
$menu_text['ru'] = array(
	'Географическая справка','Историческая справка','Религия',
	'Мифы','Климат','Горная болезнь',
	'Рекомендуемые маршруты в Тибете','Монастыри Тибета','Достопримечательности',
	'Карты','Фотогалерея'
) ;

$forwardCtl_Tibet = "f.php?action=" ;
$forwardCtl_Tibet = str_ireplace('&','#p#',$forwardCtl_Tibet);
$menu_href = array(
	"{$forwardCtl_Tibet}dl","{$forwardCtl_Tibet}lsh","{$forwardCtl_Tibet}zj",
	"{$forwardCtl_Tibet}chsh","{$forwardCtl_Tibet}qh","{$forwardCtl_Tibet}gyfy",
	"{$forwardCtl_Tibet}tjlch","{$forwardCtl_Tibet}xzsm","{$forwardCtl_Tibet}mshxf",
	"{$forwardCtl_Tibet}dt","{$forwardCtl_Tibet}xc"
) ;

for ($i=0;$i<count($menu_text['ru']);$i++){
?>
		<item>
			<title><?php echo $menu_text['ru'][$i] ?></title>
			<link><?php echo $menu_href[$i] ?></link>
			<description>这里要注意的是注意url参数连接字符的置换,这里使用#p#来代替</description>
			<pubDate><?php echo date('Y-m-d H:i:s') ?></pubDate>
			<guid><?php echo $i+1 ?></guid>
			<t><?php echo $menu_text['zh'][$i] ?></t>
		</item>
<?php	
}
?>		
		
	</channel>
</rss>

 

  • 大小: 72.3 KB
0
0
分享到:
评论
9 楼 七月十五 2009-05-03  
8 楼 skyfox 2009-05-01  
only_java 写道
zwws 写道
syu 写道
这么多年一直不是很喜欢smarty类的模板引擎.
就我的感受而言,smarty存在的目的就是为了将VC分离,其本身自带的那么多控制流程走向的东西,大概本意仅是用在实在得用的时候做为补充方法.一但在模板中用太多控制条件,那跟直接嵌入PHP也就没什么区别了.两相比较我更喜欢再轻型一点的smarttemplate.

恩,基本上感觉是和你一样的,判断条件多的时候,if else不胜其烦。

轻量级的就够了。

不是吧?smarty还有缓存的功能啊!

有缓存功能的多了,又不止只有smarty.
7 楼 only_java 2009-04-10  
zwws 写道
syu 写道
这么多年一直不是很喜欢smarty类的模板引擎.
就我的感受而言,smarty存在的目的就是为了将VC分离,其本身自带的那么多控制流程走向的东西,大概本意仅是用在实在得用的时候做为补充方法.一但在模板中用太多控制条件,那跟直接嵌入PHP也就没什么区别了.两相比较我更喜欢再轻型一点的smarttemplate.

恩,基本上感觉是和你一样的,判断条件多的时候,if else不胜其烦。

轻量级的就够了。

不是吧?smarty还有缓存的功能啊!
6 楼 imjl 2009-04-10  
喜欢smarty的

如果你只知道代替,那我想strtr也许更方便
5 楼 zwws 2009-04-09  
syu 写道
这么多年一直不是很喜欢smarty类的模板引擎.
就我的感受而言,smarty存在的目的就是为了将VC分离,其本身自带的那么多控制流程走向的东西,大概本意仅是用在实在得用的时候做为补充方法.一但在模板中用太多控制条件,那跟直接嵌入PHP也就没什么区别了.两相比较我更喜欢再轻型一点的smarttemplate.

恩,基本上感觉是和你一样的,判断条件多的时候,if else不胜其烦。

轻量级的就够了。
4 楼 syu 2009-04-08  
这么多年一直不是很喜欢smarty类的模板引擎.
就我的感受而言,smarty存在的目的就是为了将VC分离,其本身自带的那么多控制流程走向的东西,大概本意仅是用在实在得用的时候做为补充方法.一但在模板中用太多控制条件,那跟直接嵌入PHP也就没什么区别了.两相比较我更喜欢再轻型一点的smarttemplate.
3 楼 ycmhn 2009-04-08  
smarty主要是把样式展现和逻辑分开的
当然用php也可以做到
用php做需要精心设计文件组织,用smarty可以简化不少
何况smarty还可以很方便的静态化页面,也算是一个不错的功能
不过一般如果很小的项目似乎也不能从smarty得到多大的好处
2 楼 zwws 2009-04-08  
就是看情况...个人开发的话简单点挺好的.
1 楼 巫山霏云 2009-04-08  
如果是我的话,我会考虑按照需求和扩展性来....
像RSS这种东西我是觉得直接用php也挺好的

相关推荐

    Zend Framework+smarty用法实例详解

    Zend Framework是一个流行的PHP MVC(模型-...开发人员需要注意的是,整合过程需要对 Zend Framework 和 Smarty 的配置和使用方法都有一定的了解,且在整合过程中要确保文件路径正确、配置正确,以保证应用的正确运行。

    分类信息网站源码(php)

    2. **Web框架**:虽然标题没有明确指出使用了哪个PHP框架,但大多数现代Web应用都会使用框架来提高开发效率和代码复用性。常见的PHP框架有Laravel、Symfony、CodeIgniter等。了解框架的基本原理和使用方法是必要的。...

    计算机软件-编程源码-PHP_PHP4 中文手册.zip

    PHP4是PHP历史上的一个重要版本,虽然现在已经较为老旧,但仍然有许多遗留项目基于它运行,因此理解其语法和特性对于维护这些项目至关重要。 PHP4的特点包括: 1. **面向对象编程**:在PHP4中,首次引入了面向对象...

    基于PHP的Yodati答题系统php版源码.zip

    9. **模板引擎**:源码可能使用了某种模板引擎,如Smarty,以分离业务逻辑和视图展示。 10. **响应式设计**:考虑到系统可能需要在不同设备上运行,理解响应式Web设计原则是重要的。 11. **单元测试**:如果源码...

    PHP实例开发源码—题库系统php源码.zip

    不过,描述中没有明确指出是否使用了模板引擎,可能直接用PHP编写了视图部分。 7. **错误处理与日志记录**:在开发过程中,良好的错误处理和日志记录是必不可少的。PHP提供了错误报告机制,以及`error_log`函数用于...

    PHP实例开发源码-紫斑马php网站管理系统.zip

    3. **安全实践**:PHP开发需要关注输入验证、防止SQL注入、XSS攻击等安全问题,了解如何使用预处理语句、过滤函数和转义机制是必要的。 4. **session和cookie**:这些是维持用户状态的主要手段,用于存储用户登录...

    PHP实例开发源码-webstar php留言板 正式版.zip

    3. **模板引擎**:虽然这个实例可能没有使用现代的模板引擎,如Twig或Smarty,但通常PHP开发中会用到它们来分离视图和逻辑,提高代码的可维护性和可读性。在这个系统中,PHP直接嵌入HTML来生成页面,这是较基础的...

    基于PHP的多多在线报名系统 免费版.zip

    7. **模板引擎**:可能使用Smarty或其他PHP模板引擎,分离业务逻辑和视图展示。 8. **会话管理**:使用PHP的session机制来跟踪用户的登录状态和购物车等信息。 9. **文件上传**:处理用户上传的文件,如照片或文档,...

    基于PHP的5w网址导航程序php版UTF8源码.zip

    此外,PHP常与MySQL数据库结合使用,用于存储和检索网址数据,所以熟悉SQL查询语言也是必要的。 在【压缩包子文件的文件名称列表】中,我们只有一个文件名“132678304011530301”,这看起来像是一个随机生成的文件...

    PHP实例开发源码—牛年flash拜年PHP源代码.zip

    7. **模板引擎**:可能使用了某种PHP模板引擎,如Smarty,来分离业务逻辑和视图展示。 8. **Flash通信**:通过Flash External Interface(ExternalInterface)或ActionScript的URLLoader类,Flash与PHP之间进行通信...

    PHP实例开发源码-熊海php博客.zip

    5. **模板引擎**:为了方便页面渲染,源码可能使用了Smarty或其他PHP模板引擎,这有助于将业务逻辑和视图设计分开。 6. **路由与URL重写**:对于一个成熟的博客系统,URL管理是必要的,可能会涉及PHP的路由机制和...

    基于PHP的TblogPHPsqlite3博客系统源码.zip

    4. **模板引擎**:博客系统可能使用了模板引擎来分离业务逻辑和视图呈现,如Smarty或Twig,这可以提高代码的可维护性和可复用性。 5. **路由系统**:理解如何通过URL路由将用户请求映射到相应的PHP处理程序,如使用...

    PHP实例开发源码—美优 php 单用户相册管理系统.zip

    使用预编译的SQL语句、过滤用户输入、正确编码输出是必要的安全措施。 以上就是基于PHP的单用户相册管理系统可能涉及的一些核心知识点。这个压缩文件可能包含这些功能的实现代码,通过分析和学习这些源码,开发者...

    PHP实例开发源码—PHP相关关键字查询工具(网页版).zip

    1. **使用须知.txt** - 这个文件通常包含关于如何使用提供的源码、必要的依赖、许可信息、运行或部署应用的步骤等指导。用户在开始之前应该详细阅读此文件,以确保正确理解和使用源代码。 2. **132687499270141646**...

    基于PHP的漂亮的文章类整站程序源码 php版.zip

    4. **模板引擎**:为了实现前后端分离,源码可能使用了模板引擎(如Smarty或Twig),通过模板文件来渲染视图,这将涉及到模板语法的学习。 5. **用户认证与授权**:一个整站程序可能会有用户注册、登录功能,涉及...

    PHP100新闻发布系统

    学习如何使用PHP100的模板引擎,如Smarty或Twig,可以定制化网站的外观和布局。 6. **权限管理**:新闻发布系统通常有角色和权限的概念,如管理员、编辑等,不同的角色有不同的操作权限。理解并配置这些权限对维护...

    基于PHP的大气动漫视频网站整站模板php版源码.zip

    6. **模板引擎**:可能使用了如Smarty这样的PHP模板引擎,用于分离视图和逻辑代码。 7. **用户认证与授权**:网站可能有用户注册、登录功能,需要了解session和cookie的使用。 8. **安全防护**:防止SQL注入、XSS...

    基于PHP的良精PHP商城网店购物系统源码.zip

    了解PHP基础和相关框架对于理解和修改这个系统是必要的。 【压缩包子文件的文件名称列表】:132687423015586492 由于没有提供具体的文件名,我们无法详细分析每个文件的内容。但通常,一个完整的PHP商城系统源码...

    基于PHP的Ecmos(ecmall深度定制的系统) php版.zip

    5. **模板引擎**:Ecmos可能使用了某种模板引擎来分离业务逻辑和视图,如Smarty或Twig,了解模板引擎的工作原理可以方便修改前端展示。 6. **安全考虑**:电商系统需要处理敏感信息,因此开发者需要了解如何防止SQL...

Global site tag (gtag.js) - Google Analytics