smarty模板(smarty模板引擎原理)
smarty和mvc的区别
我估计你有点混淆概念。
smarty 是模板框架 换句话说只是为了处理前台页面的渲染。
而MVC 是整个项目的结构,model负责从数据库调数据,Controller负责处理数据并分配前台数据.View层就是你项目的前端工程师切的HTML页面。smarty是人们为了增加view层开发效率所发明的。
我刚毕业的时候和你一样搞不清楚这些东西。做了几个项目就有了更深理解。程序员的成长一定是敲出来的。多说一句:做发开这条路不好走。最累最没地位。一个什么都不懂的产品能把你折腾的团团转。但是也有其中的乐趣。
ThinkPhp3.2.3 使用Smarty模板后提示 Class 'Smarty' not found
//可以在config配置文件里面自定义success和error的提示页面模板的位置
'TMPL_ACTION_SUCCESS'='Public:dispatch_jump',
‘TMPL_ACTION_ERROR'='Public:dispatch_jump',
但是会存在一个问题,smarty模板引擎是无法解析这个跳转页面的!
smarty模板引擎跟TP框架有什么区别?什么是模板引擎?
smarty是PHP模板引擎技术,而thinkphp才是框架
smarty是PHP模板引擎技术,分离了PHP代码和HTML代码,使程序员和页面设计师可更好的管理自己的模块。而thinkphp才是框架,就是了他定义好一些规则,封装好一些常用的操作,你按照他写好的规则来编程,从而使你的工作更有效率。
smarty是PHP官方推荐使用的模板引擎,TP自带的是参考TP写的,不过远没smarty强大,smarty的强大在于自定义标签和缓存,如果用TP整合smarty,当前遇到的问题是在分组时候不能加载模板。
模板引擎:(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
smarty 模板怎样使用php标签
smarty本身是不推荐使用php标记的,可以通过编写插件(block,function,modifier)来代替。
smarty默认不开启php标记,需要在创建smarty对象后做如下设置:
$smarty-php_handling = SMARTY_PHP_ALLOW ;
在smarty模板中创建多级目录怎么写代码
Smarty以其诸多的优点成为模板的首选,那么下面是我的一点亲自体会,供更多phper分享
注意:这里Smarty要求web服务器运行php4.0.6和以上版本. Smarty要求4个目录,默认下命名为:tempalates, templates_c, configs and cache。每个都是可以自定义的,可以修改Smarty类属性: $template_dir, $compile_dir, $config_dir, and $cache_dir respectively
Smarty的 $compile_dir 和$cache_dir必须可写
1.首先我们需要从Smarty库,大家可以Google一下从Smarty官网下载,一般不超过1M,这里以Smarty-2.6.24为例
2.下载完车后解压Smarty压缩文件,然后只取出libs文件夹就可以了,当然demo文件夹是一些例子,对大家学习Smarty很有帮助,这里我们暂且将libs文件夹放入网站根目录下,如htdocs/下,然后将其改名为Smarty(这个可以改成自己风格的名称)
3.按照以下代码配置文件
通常将这个文件作为被包含的文件这里我们将这个文件名定为Smarty.inc.php,我们只要在使用时包含这个文件即可?php//首先包含Smarty类文件
include_once('Smarty/Smarty.class.php');
//实例化Smarty类文件
$smarty=new Smarty();
//设置配置目录,可以不设置
//注意一下文件夹需要自己创建,并且可以改名
//$smarty-config_dir=
//$smarty-cache_dir="./caches";//设置缓存目录
//$smarty-caching=true;//关闭缓存,调试中建议关闭 默认为关闭即设置成false
$smarty-cache_lifetime=60;//单位为秒 设置缓存时间
$smarty-template_dir="./templates";//设置模版目录
$smarty-compile_dir="./templates_c";//设置编译目录必选
$smarty-cache_dir="./smarty_cache";//缓存文件夹可选为减轻压力
//设置开始结束边界默认为{} 但容易与javascript冲突
$smarty-left_delimiter="{";
4.演示一下Smarty模板的使用
新建一个php文件 文件名为helloworld.php 代码如下?php//包含smarty配置文件
include 'smarty.inc.php';
//将变量name赋值为helloworld
$smarty-assign('name','Hello world!');
//在模板下的helloworld.html文件显示注意这里必须对应的是模板目录下的helloworld.html换成别的文件名不行,必须和php的文件对应
$smarty-display('helloworld.html');?设置helloworld.html文件html{$name}!--输出到浏览器页面--/html注意:两个文件名必须相同除扩展名!还要将smarty.inc.php 和helloworld.php放于同一目录下
5.下来就可以参考Smarty手册和demo尝试了,一起加油phper!
smart 模板是什么意思,怎么用?
一、什么是smarty?smarty是一个使用PHP写出来的模板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的地方:1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用smarty会丧失php开发迅速的优点。四、安装smarty类:安装smarty的环境:php版本4.06以上版本。安装smarty方法非常简单,从 中下载smarty.t...将LIB中所有文件拷入comm目录,完成基本安装.