2018年,PHP的smarty还有必要学吗?
没必要,现在用smarty的真心不多,很落伍,速度慢
smarty是用来做前后段代码分离的
其实我个人觉得很鸡肋,对于现在前段来说,后端部分代码也是能看懂的
稍微有点经验的都不在乎这些 效率还低,没啥突出的
我们公司就不用这个,之前接触的公司用这个的真心不多
smarty模板引擎跟TP框架有什么区别?什么是模板引擎?
smarty是PHP模板引擎技术,而thinkphp才是框架
smarty是PHP模板引擎技术,分离了PHP代码和HTML代码,使程序员和页面设计师可更好的管理自己的模块。而thinkphp才是框架,就是了他定义好一些规则,封装好一些常用的操作,你按照他写好的规则来编程,从而使你的工作更有效率。
smarty是PHP官方推荐使用的模板引擎,TP自带的是参考TP写的,不过远没smarty强大,smarty的强大在于自定义标签和缓存,如果用TP整合smarty,当前遇到的问题是在分组时候不能加载模板。
模板引擎:(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
smarty和mvc的区别
我估计你有点混淆概念。
smarty 是模板框架 换句话说只是为了处理前台页面的渲染。
而MVC 是整个项目的结构,model负责从数据库调数据,Controller负责处理数据并分配前台数据.View层就是你项目的前端工程师切的HTML页面。smarty是人们为了增加view层开发效率所发明的。
我刚毕业的时候和你一样搞不清楚这些东西。做了几个项目就有了更深理解。程序员的成长一定是敲出来的。多说一句:做发开这条路不好走。最累最没地位。一个什么都不懂的产品能把你折腾的团团转。但是也有其中的乐趣。
php 的框架与模板
楼主的认知不对哦,以下为楼主解惑:
框架:在php源码的基础上,开发者将常用的功能进行二次封装形成的代码集合,其本身往往不具备任何可用的功能,其目的仅仅是使开发人员可以基于框架更快的开发出符合要求的应用。例如,不使用框架开发一个用户管理功能可能需要5天,使用框架可以将这个时间缩短到2天。实际上,对于任何一个项目,访问控制、数据库访问、文件处理等功能都是必备的,框架就是将这些常用功能进行了更易用的封装,避免开发人员在通用组件上重复开发,浪费时间。
模板:为了将PHP内容和html内容更好的分离为目的产生的一种应用,其主要目的是为了网页制作人员可以不去学习PHP就能修改页面的内容(可惜不学PHP还要学smarty,因此我个人并不觉得模板真的能带来什么实际的好处)
另外,如dede,DZ,PHPCMS等是基于PHP的产品,本身已经具备了大量的功能,安装之后就能使用,当然,因为需求的不同可能需要在该产品的基础上进行二次开发。
综述,模板没有太大的价值,完全可以在非用不可的时候再去学习,对于PHP开发人员来说,smarty可以立刻上手。它可以(也只能)被框架或PHP产品使用。框架是必须掌握的,定制性很强的项目必然都是基于框架开发的。PHP产品,如果你要开发的项目和某个PHP产品的功能达到80%以上的契合,那么应该考虑基于该产品进行开发。
一些网站提供简单的博客,留言板等的源码,不基于框架的小项目实际上只能称为练习,只有参考价值。
注:不是说不使用框架的项目就不算项目,事实上如果一个项目如果没有使用某某框架,其项目的一部分代码也必然的会具有框架的特征,即自定义框架也是框架。