先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架。
在进行项目接口的开发过程中,笔者在寻找一个方便针对API开发的框架时,发现了PhalApi。经过了短时间的尝试,发现PhalApi确实很便捷,效率很高。 之后就把PhalApi运用到正式的项目上。而且在后面的项目仍一直使用。其间,也和很多希望了解PhalApi框架的朋友做过很多交流。为此,决定写一篇关于这个框架的教程。一方面是为了帮助一些初学者能够快速地了解PhalApi,另一方面是希望把自己在实际运用中总结出的一些小技巧分享出来。
附上:
喵了个咪的博客:w-blog.cn
开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release
官网上面有一句话让我特别有感受--接口,从简单开始!
怎样的感受呢,在最近进行一个项目开发的时候,因为项目比较紧急需要快速地开发。从确定完需求以及接口之后,借助PhalApi,我仅用了8个小时就完成项目接口的开发。整个项目的接口差不多20来个,从这点可以看出,如果PhalApi框架用得熟练的话,效率将会提高更多。
其实,接口最关心的就是性能。通过测试下来,Phalapi消耗相对比较小,引入文件在10个左右,空框架返回2核2G并发点击数在1700左右。很是给力。在2核2G正常请求数据库接口相对于一套完整的业务。平均下来最快的1000并发,最慢的600并发。所以我觉得性能方面,PhalApi完全没有问题(压力测试使用的是Loadrunner,ab压力基本是Loadrunner的3倍不太清楚为什么)。
引用:
勿忘初心,方得始终
虽然现在这个社会的节奏很快,但如果有时间时,我们不妨静下来,稍微地思考一下,然后你会发现:慢慢来,比较快。
PhalApi 的初衷:
我们之所以开源这个框架,是因为我们想致力于提供可以快速进行开发后台接口的框架,并且通过这个框架分享更多开发的最佳实践、原则和模式!这就是我们的初心,也希望我们能一直坚持下去。
PhalApi命名的来源
得益于开源社区,现在有很多优秀的开源框架。确实有很多框架值得我们去学习和使用,其中高性能的Phalcon框架和可视化代码评审工具Phabricator都是相当令人敬佩和认可的。前者在思想、模式和原则上有很好的文档说明;后者在包管理、命名写法等都非常好地体现了代码重用。受此两个框架的影响,故取名为:PhalApi。
通过PhalApi,我们希望可以
支撑轻量级项目后台接口的快速开发;阐明如何进行框架设计、对应复杂领域业务、支撑海量服务等,以及分享好的思想、技巧工具和最佳实践。最后,争取成为国内主流的PHP接口开发框架。
在这里推荐使用(我后面的配置等都会基于以下环境)lnmp:
Liunx+Nginx+php5.4以上+mysql
我使用的是centos6.5
有三种方式配置环境:
1.手动编译安装(网上资料也挺多的,但是容易出现一些依赖性的问题,新手不推荐。)。
2.yum或apt-get安装(yum安装无法指定目录,都会装到/etc下面去,不方便管理,但是要玩liunx必须要会。)。
3.lnmp一键安装工具(推荐:但是这个推荐是基于上面几种方式都尝试过的情况下,这个安装方式基于--编译安装。)。
我推荐一个lnmp一键配置软件:
官网:OneinStack – 一键PHP/JAVA安装工具:http://oneinstack.com/
因为官网介绍得比较详细,在这里就不再多做说明。其余几种方式教程都比较多也不做说明。
那不了解liunx怎么办?wampserver在windows下还是比较好用的。
最后,希望大家在通读PhalApi官方文档后,再接着看下面的文章,会更容易理解。在这一套教程中,我会以构建一个完整的项目为基础,拓展开来讲解一些框架的机制。大家可以跟着一起做,相信能够收获得更多。
注:笔者能力有限,有说的不对的地方,希望大家能够指出。也希望多多交流!
官网QQ交流群:421032344 欢迎大家的加入!