国产PHP框架ThinkPHP与SpeedPHP的浅析对比
本文主要简析两个国产的PHP框架ThinkPHP与SpeedPHP。通过学习发现,它俩在很多方面有着相似但又不同的地方:
1.单一入口,二者都是单一入口文件。每个app都需要一个入口文件,且只能有一个入口文件。ThinkPHP生而就有多app支持的功能,比如在根目录下建一个index.php,一个admin.php,其中index.php是前端app的入口,而admin.php则作为后台app的入口。配置方法类似,只是define(‘APP_PATH’,’apppth’)和define(‘APP_NAME’,’appname’)略有不同而已。SpeedPHP尽管默认支持单app,但通过合理配置模板目录也可以实现这样的功能,只是模板自动输出功能就用不上了,只好手动写模板输出代码。
2.模板变量赋值和输出模板。先说ThinkPHP,它给模板变量赋值是这样的:$this->assign(‘var’,$var2),SpeedPHP中给模板变量赋值使用$this->var=$var2,其中两个$var都是模板中要使用的变量,$var2则为控制器中的变量。模板输出两个框架相同,都使用:
$this->display(‘templatepath’) .
3.数据模型。两个框架都是在Model中定义,不同的是ThinkPHP在类中几乎不用写任何代码,只要把类名和数据库名保持一致就行,而SpeedPHP则需要手动指定数据库表和主键。使用的时候都要先实例化。
4.模板方面:ThinkPHP支持多种模板,默认使用自已研发的Think模板系统,据说比Smarty要快,这点无从考证;SpeedPHP支持的模板较少,默认使用smarty。
5.数据处理:个人感觉ThinkPHP的数据处理要比SpeedPHP强大的多,不仅表现在查询语言上,而且它支持在多个模型中动态切换且不丢失数据。
6.安全性方面:ThinkPHP自身集成了安全验证功能,SpeedPHP没有,需自己实现。
总之,个人认为SpeedPHP的性能优于ThinkPHP了,因此在项目开发中首选后者较为妥当。
转载来自//blog.kiccp.com/321.html