(完正无误版)smarty半小时快速上手教程_PHP教程
一:smarty的程序设计部分:
在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计。下载Smarty文件放到你们站点中。
index.php PHP代码:
/**
*
* @version $Id: index.php
* @package
* @author www.2cto.com
* @action 显示实例程序
*/
include_once("./Smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->templates("./templates"); //设置模板目录
$smarty->templates_c("./templates_c"); //设置编译目录
$smarty->cache("./cache"); //缓存目录
$smarty->cache_lifetime = 0; //缓存时间
$smarty->caching = true; //缓存方式
$smarty->left_delimiter = "{#";
$smarty->right_delimiter = "#}";
$smarty->assign("name", "zaocha"); //进行模板变量替换
$smarty->display("index.htm"); //编译并显示位于./templates下的index.htm模板
?>
二:解释smarty的程序
我们可以看到,smarty的程序部分实际就是符合php语言规范的一组代码,我们依次来解释一下:
1:/**/语句:
包含的部分为程序篇头注释。主要的内容应该为对程序的作用,版权与作者及编写时间做一个简单的介绍,这在smarty中不是必需的,但从程序的风格来讲,这是一个好的风格。
2:include_once语句:
它将安装到网站的smarty文件包含到当前文件中,注意包含的路径一定要写正确。
3:$smarty = new Smarty():
这一句新建一个Smarty对象$smarty,简单的一个对象的实例化。
4:$smarty->templates(""):
这一句指明$smarty对象使用tpl模板时的路径,它是一个目录,在没有这一句时,Smarty默认的模板路径为当前目录的templates目录,实际在写程序时,我们要将这一句写明,这也是一种好的程序风格
。
5:$smarty->templates_c(""):
这一句指明$smarty对象进行编译时的目录。在模板设计篇我们已经知道Smarty是一种编译型模板语言,而这个目录,就是它编译模板的目录,要注意,如果站点位于linux服务器上,请确保
teamplates_c里定义的这个目录具有可写可读权限,默认情况下它的编译目录是当前目录下的templates_c,出于同样的理由我们将其明确的写出来。
6:$smarty->left_delimiter与$smarty->right_delimiter:
指明在查找模板变量时的左右分割符。默认情况下为"{"与"}",但在实际中因为我们要在模板中使用<script>,Script中的函数定义难免会使用{},虽然它有自己的解决办法,但习惯上我们将它重新定义</script>
为"{#"与"#}"或是""或其它标志符,注意,如果在这里定义了左右分割符后,在模板文件中相应的要使每一个变量使用与定义相同的符号,例如在这里指定为"",htm模板中也要
相应的将{$name}变成,这样程序才可以正确的找到模板变量。
7:$smarty->cache("./cache"):
告诉Smarty输出的模板文件缓存的位置。上一篇我们知道Smarty最大的优点在于它可以缓存,这里就是设置缓存的目录。默认情况下为当前目录下的cache目录,与templates_c目录相当,在linux系统中
我们要确保它的可读可写性。
8: $smarty->cache_lifetime = 60 * 60 * 24:
这里将以秒为单位进行计算缓存有效的时间。第一次缓存时间到期时当Smarty的caching变量设置为true时缓存将被重建。当它的取值为-1时表示建立起的缓存从不过期,为0时表示在程序每次执行时缓
存总是被重新建立。上面的设置表示将cache_lifetime设置为一天。
9: $smarty->caching = 1:
这个属性告诉Smarty是否要进行缓存以及缓存的方式。它可以取3个值,0:Smarty默认值,表示不对模板进行缓存;1:表示Smarty将使用当前定义的cache_lifetime来决定是否结束cache;2:表示
Smarty将使用在cache被建立时使用cache_lifetime这个值。习惯上使用true与false来表示是否进行缓存。
10:$smarty->assign("name", "zaocha"):
该数的原型为assign(string varname, mixed var),varname为模板中使用的模板变量,var指出要将模板变量替换的变量名;其第二种原形为assign(mixed var),我们要在后面的例子详细的讲解这个成员函数的使用方法,assign是Smarty的核心函数之一,所有对模板变量的替换都要使用它。
11. $smarty->display("index.tpl"):
该函数原形为display(string varname),作用为显示一个模板。简单的讲,它将分析处理过的模板显示出来,这里的模板文件不用加路径,只要使用一个文件名就可以了,它路径我们已经在$smarty->templates(string path)中定义过了。
程序执行完后我们可以打开当前目录下的templates_c与cache目录,就会发现在下边多出一些%%的目录,这些目录就是Smarty的编译与缓存目录,它由程序自动生成,不要直接对这些生成的文件进行修改。
以上我简单的把Smarty程序中的一些常用的基本元素介绍了一下,在后边的例子中你可以看到将它们将被多次的使用。
三:模板说明
接下来介绍一个section循环块与foreach循环块,本来它应该属于模板部分,但是由于它们是smarty的精华所在,而且与smarty程序设计部分联系非常紧密,所以就在本节单独拿出来讲一下。
1: foreach:用于循环简单数组,它是一个选择性的section循环,它的定义格式为:
{foreach from=$array item=array_id}
{foreachelse}
{/foreach}
其中,from 指出要循环的数组变量,item为要循环的变量名称,循环次数由from所指定的数组变量的个数所决定。{foreachelse}用来当程序中传递过来的数组为空时的处理,下面是一个简单的例子:
模板文件:example.htm
foreach 输出一个“二维关联数组”的数据:
{#foreach item=new from=$news#}
新闻编号:{#$new.id#}
新闻内容:{#$new.title#}
--------------------------------------------------------------------------------
{#foreachelse#}
数据库中没有新闻输出!
{#/foreach#}
--------------------------------------------------------------------------------
注:bkJia上面的写法是这样的:(2cto.com的链接:http://www.BkJia.com/html/webkaifa/PHP/PHPyingyong/2009/0429/2897.html)
{foreach from=$newsArray item=newsID}
新闻编号:{$newsID}
新闻内容:{$newsTitle}
--------------------------------------------------------------------------------
{foreachelse}
对不起,数据库中没有新闻输出!
{/foreach}
这是一个错误的不显示数据,本文做了更正。运行正确如下图片:

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Selon les informations du 26 avril, le Wi-Fi portable 5G U50S de ZTE est désormais officiellement en vente, à partir de 899 yuans. En termes de conception d'apparence, le Wi-Fi portable ZTE U50S est simple et élégant, facile à tenir et à emballer. Sa taille est de 159/73/18 mm et est facile à transporter, vous permettant de profiter du réseau haut débit 5G à tout moment et en tout lieu, offrant ainsi une expérience de bureau mobile et de divertissement sans entrave. Le ZTE 5G portable Wi-Fi U50S prend en charge le protocole avancé Wi-Fi 6 avec un débit de pointe allant jusqu'à 1 800 Mbps. Il s'appuie sur la plate-forme 5G hautes performances Snapdragon X55 pour offrir aux utilisateurs une expérience réseau extrêmement rapide. Non seulement il prend en charge l'environnement réseau bimode 5G SA+NSA et la bande de fréquences inférieure à 6 GHz, mais la vitesse du réseau mesurée peut même atteindre un étonnant 500 Mbps, ce qui est facilement satisfaisant.

Selon les informations du 17 avril, HMD s'est associé à la célèbre marque de bière Heineken et à la société créative Bodega pour lancer un téléphone à clapet unique : The Boring Phone. Ce téléphone est non seulement plein d'innovation dans le design, mais revient également à la nature en termes de fonctionnalité, dans le but de ramener les gens à de véritables interactions interpersonnelles et à profiter du pur moment de boire entre amis. Le téléphone mobile ennuyeux adopte un design à rabat transparent unique, montrant une esthétique simple mais élégante. Il est équipé d'un écran QVGA de 2,8 pouces à l'intérieur et d'un écran de 1,77 pouces à l'extérieur, offrant aux utilisateurs une expérience d'interaction visuelle de base. Côté photographie, bien qu'il ne soit équipé que d'un appareil photo de 30 mégapixels, celui-ci suffit pour gérer des tâches simples du quotidien.

Après la pluie en été, vous pouvez souvent voir une scène météorologique spéciale magnifique et magique : l'arc-en-ciel. C’est aussi une scène rare que l’on peut rencontrer en photographie, et elle est très photogénique. Il y a plusieurs conditions pour qu’un arc-en-ciel apparaisse : premièrement, il y a suffisamment de gouttelettes d’eau dans l’air, et deuxièmement, le soleil brille sous un angle plus faible. Par conséquent, il est plus facile de voir un arc-en-ciel l’après-midi, après que la pluie s’est dissipée. Cependant, la formation d'un arc-en-ciel est grandement affectée par les conditions météorologiques, la lumière et d'autres conditions, de sorte qu'il ne dure généralement que peu de temps, et la meilleure durée d'observation et de prise de vue est encore plus courte. Alors, lorsque vous rencontrez un arc-en-ciel, comment pouvez-vous l'enregistrer correctement et prendre des photos de qualité ? 1. Recherchez les arcs-en-ciel En plus des conditions mentionnées ci-dessus, les arcs-en-ciel apparaissent généralement dans la direction de la lumière du soleil, c'est-à-dire que si le soleil brille d'ouest en est, les arcs-en-ciel sont plus susceptibles d'apparaître à l'est.

Selon les informations du 12 juillet, la série Honor Magic V3 a été officiellement lancée aujourd'hui, équipée du nouvel écran de protection oculaire Honor Vision Soothing Oasis. Bien que l'écran lui-même ait des spécifications élevées et une haute qualité, il a également été le pionnier de l'introduction de la protection oculaire active AI. technologie. Il est rapporté que les « lunettes de myopie » sont le moyen traditionnel de soulager la myopie. La puissance des lunettes de myopie est uniformément répartie pour garantir que la zone centrale de la vue est imagée sur la rétine, mais la zone périphérique est imagée derrière la rétine. La rétine sent que l'image est derrière, favorisant la direction de l'axe de l'œil plus tard, approfondissant ainsi le degré. À l'heure actuelle, l'un des principaux moyens d'atténuer le développement de la myopie est la « lentille de défocalisation ». La zone centrale a une puissance normale et la zone périphérique est ajustée au moyen de cloisons de conception optique, de sorte que l'image dans la zone périphérique tombe dans l'image. devant la rétine.

Selon les informations du 13 mai, le vivoX100s a été officiellement lancé ce soir. En plus d'excellentes images, le nouveau téléphone fonctionne également très bien en termes de signal. Selon l'introduction officielle de vivo, le vivoX100s utilise un système universel innovant d'amplification du signal, équipé de jusqu'à 21 antennes. Cette conception a été réoptimisée sur la base de l'écran direct pour équilibrer de nombreuses exigences de signal telles que la 5G, la 4G, le Wi-Fi, le GPS et le NFC. Cela fait du vivoX100s le téléphone mobile doté de la capacité de réception de signal la plus puissante de l’histoire de Vivo. Le nouveau téléphone utilise également un design surround unique à 360°, avec des antennes réparties autour du corps. Cette conception améliore non seulement la force du signal, mais optimise également diverses postures de maintien quotidiennes pour éviter les problèmes causés par des méthodes de maintien inappropriées.

Selon les informations du 29 juillet, le téléphone mobile Honor X60i est officiellement en vente aujourd'hui, à partir de 1 399 yuans. En termes de design, le téléphone mobile Honor X60i adopte un design d'écran droit avec un trou au centre et des bordures ultra-étroites presque illimitées sur les quatre côtés, ce qui élargit considérablement le champ de vision. Paramètres du Honor X60i Affichage : écran haute définition de 6,7 pouces Batterie : batterie de grande capacité de 5 000 mAh Processeur : processeur Dimensity 6080 (TSMC 6 nm, 2x2,4G A76 + 6 × 2G A55) Système : système MagicOS8.0 Autres caractéristiques : amélioration du signal 5G , capsule intelligente, empreinte digitale sous l'écran, double micro, réduction du bruit, questions-réponses sur les connaissances, capacités de photographie : système de double caméra arrière : caméra principale de 50 millions de pixels, objectif auxiliaire de 2 millions de pixels, objectif selfie avant : 8 millions de pixels, prix : 8 Go

Selon les informations du 19 juillet, le Xiaomi MIX Fold 4, le premier nouveau téléphone pliable phare, a été officiellement lancé ce soir et est équipé pour la première fois d'une « batterie tridimensionnelle de forme spéciale ». Selon les rapports, Xiaomi MIX Fold4 a réalisé une percée majeure dans la technologie des batteries et a conçu une « batterie tridimensionnelle de forme spéciale » innovante spécifiquement pour les écrans pliants. Les appareils à écran pliant traditionnels utilisent principalement des batteries carrées conventionnelles, qui ont une faible efficacité d'utilisation de l'espace. Afin de résoudre ce problème, Xiaomi n'a pas utilisé les cellules de batterie à enroulement courantes, mais a développé un nouveau processus de stratification pour créer une nouvelle forme de batterie, ce qui a considérablement amélioré l'utilisation de l'espace. Innovation technologique en matière de batterie Afin d'empiler alternativement et avec précision des feuilles d'électrodes positives et négatives et d'assurer l'intégration sûre des ions lithium, Xiaomi a développé une nouvelle machine de soudage par ultrasons et une nouvelle machine de stratification pour améliorer la précision du soudage et de la découpe.

Les spécialisations de modèles C++ affectent la surcharge et la réécriture des fonctions : Surcharge de fonctions : les versions spécialisées peuvent fournir différentes implémentations d'un type spécifique, affectant ainsi les fonctions que le compilateur choisit d'appeler. Remplacement de fonction : la version spécialisée dans la classe dérivée remplacera la fonction modèle dans la classe de base, affectant le comportement de l'objet de classe dérivée lors de l'appel de la fonction.
