cari
Rumahpembangunan bahagian belakangtutorial php PHP有无必要运用Smarty呢?

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>

?

1 楼 巫山霏云 2009-04-08  
如果是我的话,我会考虑按照需求和扩展性来....
像RSS这种东西我是觉得直接用php也挺好的

2 楼 zwws 2009-04-08  
就是看情况...个人开发的话简单点挺好的.

3 楼 ycmhn 2009-04-08  
smarty主要是把样式展现和逻辑分开的
当然用php也可以做到
用php做需要精心设计文件组织,用smarty可以简化不少
何况smarty还可以很方便的静态化页面,也算是一个不错的功能
不过一般如果很小的项目似乎也不能从smarty得到多大的好处

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

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

轻量级的就够了。

6 楼 imjl 2009-04-10  
喜欢smarty的

如果你只知道代替,那我想strtr也许更方便

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

轻量级的就够了。
不是吧?smarty还有缓存的功能啊!

8 楼 skyfox 2009-05-01  
only_java 写道
zwws 写道
syu 写道
这么多年一直不是很喜欢smarty类的模板引擎.
就我的感受而言,smarty存在的目的就是为了将VC分离,其本身自带的那么多控制流程走向的东西,大概本意仅是用在实在得用的时候做为补充方法.一但在模板中用太多控制条件,那跟直接嵌入PHP也就没什么区别了.两相比较我更喜欢再轻型一点的smarttemplate.
恩,基本上感觉是和你一样的,判断条件多的时候,if else不胜其烦。

轻量级的就够了。
不是吧?smarty还有缓存的功能啊!
有缓存功能的多了,又不止只有smarty.

9 楼 七月十五 2009-05-03  
这个问题争论不休,公说公理,婆说婆理
发几个争论帖子观摩一下吧
http://bbs.phpchina.com/viewthread.php?tid=110467
http://bbs.phpchina.com/viewthread.php?tid=67407
http://bbs.phpchina.com/viewthread.php?tid=67221
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimanakah anda dapat mencegah serangan penetapan sesi?Bagaimanakah anda dapat mencegah serangan penetapan sesi?Apr 28, 2025 am 12:25 AM

Kaedah yang berkesan untuk mengelakkan serangan tetap sesi termasuk: 1. Meningkatkan semula ID Sesi selepas log pengguna masuk; 2. Gunakan algoritma penjanaan ID sesi yang selamat; 3. Melaksanakan mekanisme masa tamat sesi; 4. Menyulitkan data sesi menggunakan HTTPS. Langkah -langkah ini dapat memastikan bahawa aplikasi itu tidak dapat dihancurkan apabila menghadapi serangan tetap sesi.

Bagaimana anda melaksanakan pengesahan tanpa sesi?Bagaimana anda melaksanakan pengesahan tanpa sesi?Apr 28, 2025 am 12:24 AM

Melaksanakan pengesahan bebas sesi boleh dicapai dengan menggunakan JSONWEBTOKENS (JWT), sistem pengesahan berasaskan token di mana semua maklumat yang diperlukan disimpan dalam token tanpa penyimpanan sesi pelayan. 1) Gunakan JWT untuk menjana dan mengesahkan token, 2) memastikan bahawa HTTPS digunakan untuk mengelakkan token daripada dipintas, 3) menyimpan token dengan selamat di sisi klien, 4) mengesahkan token di sisi pelayan untuk mengelakkan gangguan, 5) melaksanakan mekanisme pembatalan token.

Apakah beberapa risiko keselamatan biasa yang berkaitan dengan sesi PHP?Apakah beberapa risiko keselamatan biasa yang berkaitan dengan sesi PHP?Apr 28, 2025 am 12:24 AM

Risiko keselamatan sesi PHP terutamanya termasuk rampasan sesi, penetapan sesi, ramalan sesi dan keracunan sesi. 1. Sesi rampasan boleh dicegah dengan menggunakan HTTPS dan melindungi kuki. 2. Penetapan sesi boleh dielakkan dengan menanam semula ID sesi sebelum log pengguna masuk. 4. Keracunan sesi boleh dicegah dengan mengesahkan dan menapis data sesi.

Bagaimana anda memusnahkan sesi PHP?Bagaimana anda memusnahkan sesi PHP?Apr 28, 2025 am 12:16 AM

Untuk memusnahkan sesi PHP, anda perlu memulakan sesi terlebih dahulu, kemudian membersihkan data dan memusnahkan fail sesi. 1. Gunakan session_start () untuk memulakan sesi. 2. Gunakan session_unset () untuk membersihkan data sesi. 3. Akhirnya, gunakan session_destroy () untuk memusnahkan fail sesi untuk memastikan keselamatan data dan pelepasan sumber.

Bagaimanakah anda boleh menukar sesi simpan sesi lalai di php?Bagaimanakah anda boleh menukar sesi simpan sesi lalai di php?Apr 28, 2025 am 12:12 AM

Bagaimana cara menukar laluan penjimatan sesi lalai PHP? Ia boleh dicapai melalui langkah -langkah berikut: gunakan session_save_path ('/var/www/sesi'); session_start (); Dalam skrip PHP untuk menetapkan laluan penjimatan sesi. Tetapkan session.save_path = "/var/www/sesi" dalam fail php.ini untuk menukar laluan penjimatan sesi di seluruh dunia. Gunakan memcached atau redis untuk menyimpan data sesi, seperti ini_set ('session.save_handler', 'memcached'); ini_set (

Bagaimana anda mengubah suai data yang disimpan dalam sesi PHP?Bagaimana anda mengubah suai data yang disimpan dalam sesi PHP?Apr 27, 2025 am 12:23 AM

Tomodififydatainaphpsession, startTheSessionWithSsion_start (), thenuse $ _SessionToset, Modify, Orremovariables.1) startTheSession.2) setOrmodifySessionVariabelinging $ _Session.3) ReveVariablesWithunset ()

Berikan contoh menyimpan array dalam sesi PHP.Berikan contoh menyimpan array dalam sesi PHP.Apr 27, 2025 am 12:20 AM

Array boleh disimpan dalam sesi PHP. 1. Mulakan sesi dan gunakan session_start (). 2. Buat array dan simpan dalam $ _Session. 3. Dapatkan array melalui $ _Session. 4. Mengoptimumkan data sesi untuk meningkatkan prestasi.

Bagaimanakah pengumpulan sampah berfungsi untuk sesi PHP?Bagaimanakah pengumpulan sampah berfungsi untuk sesi PHP?Apr 27, 2025 am 12:19 AM

Pengumpulan sampah sesi PHP dicetuskan melalui mekanisme kebarangkalian untuk membersihkan data sesi yang telah tamat tempoh. 1) Tetapkan kebarangkalian pencetus dan kitaran hayat sesi dalam fail konfigurasi; 2) Anda boleh menggunakan tugas cron untuk mengoptimumkan aplikasi beban tinggi; 3) Anda perlu mengimbangi kekerapan dan prestasi pengumpulan sampah untuk mengelakkan kehilangan data.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft