Archive for the ‘lightphp’ Category

[lightphp入门教程]使用lightphp框架开发小型blog系统

Wednesday, October 7th, 2009

lightphp适合熟练的phper进行企业级应用开发,如果单纯论及代码自动生成,ORM模型和yml载入之类功能,lightphp无法跟一些成熟的框架(例如symfony)相比。我们的目的是,按需定制,性能优先。 如果做访问量不高且功能简单的应用,lightphp就不是明智的选择,建议使用成熟的框架和数据操作方案,例如:symfony + Doctrine。但是一个入门教程又不可能写得太复杂,所以还是用构建小型blog应用做例子,麻雀虽小,但五脏俱全,基本涵盖了lightphp的开发流程,希望起到抛砖引玉的作用。 (本教程基于linux + apache + mysql + php平台) 1.下载安装lightphp zip tar.gz 解压缩lightphp1.0.zip到你的web目录,配置虚拟主机为: DocumentRoot "/home/htdocs/framework/lightphp/blog/0.2/control" ServerName blog.lightphp.com DirectoryIndex index.php Options Indexes FollowSymLinks AllowOverride All Order deny,allow Allow from all 修改/etc/hosts,加入: 127.0.0.1 blog.lightphp.com 重新启动网络和apache服务器,在浏览器里输入http://blog.lightphp.com既可以访问到lightphp的欢迎界面。 2.blog数据库设计 数据库名就叫:lightphp_blog,由于功能实现很简单,所以我们只需要两个表即可实现。 文章表 lightphp_article{ recordID:(int(8)) title:(varchar(100)) ...

lightphp API

Wednesday, October 7th, 2009

lightphp使用原生php语法,所以框架api很少,只用到了最基本的内容。 1.load_config($file) 功能:载入配置文件 实例: 载入/config/custom.config.php文件 load_config('custom.config'); 2.load_lib($file) 功能:载入方法或者类 实例: 载入/lib/mysql.db.class.php文件 load_lib('mysql.db.class'); 3.template($tpl,$data = "") 功能:输出模板 实例: 动作程序:/module/default/index.php,

轻型php开发框架lightphp的由来和简介

Sunday, October 4th, 2009

一直以来,从php嵌套html开发到最终使用法国造symfony这个重型开发框架,我还一直没有碰到有关性能的问题,直到后来使用symfony1.2.7开发的项目竟然不堪重负,虽然团队伙伴最终发现是因为symfony1.2开启了路由缓存导致cpu占用过高,symfony官方网站也给出了解决办法,但是从这件事情看来,用别人的东西,尤其是一个非常复杂的东西,总是不保险的。由此我也萌生了开发一个最简单php框架的想法。 轻量级php框架lightphp主要特点 1.本框架使用面向过程(在处理某些特殊功能需求时还是会用到面向对象知识,例如图像处理类)的php开发模式; lightphp之所以采用面向过程的架构设计,主要是参考了康盛创想uchome系列产品的设计思路,有的时候,使用底层的技术,虽然代码可读性和程序灵活性上差强人意,但是性能的提升是不可忽略的。 2.本框架使用者最好是已经使用PHP一年以上者,推荐新手去使用那些面向对象且方便开发的PHP框架,例如symfony; lightphp中很多东西需要开发者去考虑,去实施,例如配置虚拟主机使url友好,如何规划项目方法库和类库,如何重构模板等等,这一切都不会像symfony等重型框架那样帮你去完成。所以需要使用者有一定的开发经验。 2.使用MVC模式实现,模板拼装需要手工完成; MVC是比较流行而高效的开发模式,lightphp使用MVC设计思想来实现模型层、视图层和控制器之间的配合,lightphp没有使用模板引擎,而是在模板中使用了普通的php语法,也没有引入模板缓存方案。 3.取消文件自动载入功能,手工载入需要的文件; 文件自动载入可以方便开发,但是却在牺牲性能,所以我们抛弃这种方案。 4.友好的url路由规则使用手写.htaccess文件实现,推荐将其复制到虚拟主机配置中加快速度; 网站需要友好的url,这已经是做网站必须考虑的,一些重型框架可以通过yml文件配置而实现url重写,但是这种路由规则实现方案过于耗费系统资源,会降低性能,所以我们改为开发中使用.htaccess文件实现url重写,建议在最终发布产品时把重写规则粘贴到虚拟主机配置中加快访问速度。 5.数据操作使用原始sql查询,没有ORM,建议自己封装一个数据操作类使用即可; propel和doctrine在使用上很便捷,但方便开发是以牺牲效率为代价的,所以数据查询推荐使用普通sql查询,当然lightphp可以安装ORM,但我们不推荐这样做。 6.取消yml文件载入配置信息方式,一切使用php常量和数组实现; 一些重型php框架配置信息载入使用yml文件为载体,lightphp中用到的配置信息全部以php常量或数组实现。