对于Web开发者来说,PHP是一款非常强大而又受欢迎的编程语言。 业内有句梗,叫 PHP 是世界上最好的语言!
世界上很多顶级的网站及 Web 应用都是基于 PHP 开发的,比如百度(Baidu),腾讯的腾讯云,新浪系的门户、新浪博客(Blog)、新浪微博(Weibo),早期非常流行的论坛系统,如 Phpbb、vBulletin、 Discuz,国外的Yahoo,世界上使用最广泛的 WordPress … CMS系统如 Drupal、Xoops 等,都是基于PHP开发的。 下面开始对PHP主流框架进行一下简单介绍:
提示:开发PHP,不一定非用框架,框架的好处是团队协作开发,规范统一、协作高效,增加可维护性。平时开发也可以用原生PHP开发,原生的PHP代码执行效率最高。
Laravel是一款免费并且开源的PHP应用框架,它是为开发基于MVC的WEB应用而设计的,个人觉得,Laravel是很棒的PHP框架了,它可以帮助你创建一些很酷的WEB应用,而且可以轻松地使用权限验证、URL路由、Session以及缓存等功能。
<?php class Idea extends Eloquent { /** * Dreaming of something more? * * @with Laravel */ public function create() { // Have a fresh start... }
官方网站:http://laravel.com
CodeIgniter是一款非常敏捷的开源PHP框架,如果你要用PHP开发一个简单而优雅的工具包,那么CodeIgniter就非常合适。
Yii是一款快速、安全和专业的PHP框架,同时它也是一款开发WEB 2.0应用的高性能PHP框架,Yii的功能非常强大,内置以下功能:MVC、DAO/ActiveRecord、I18N、权限验证、缓存、安全控制、测试、数据访问对象等。
官方网站:http://www.yiiframework.com/
Yaf 是一个通过底层 C 实现的 PHP 扩展,而框架类似 Zend Framework, 新浪微博就是基于 Yaf 框架开发的,创始人是国人,知名的鸟哥。
$/path/to/phpize $./configure --with-php-config=/path/to/php-config $make && make install
Yaf 框架经典目录结构:
- .htaccess // Rewrite rules + public | - index.php // Application entry | + css | + js | + img + conf | - application.ini // Configure - application/ - Bootstrap.php // Bootstrap + controllers - Index.php // Default controller + views |+ index - index.phtml // View template for default controller - library - models // Models - plugins // Plugins
index.php
为统一的入口文件
bootstrap() //call bootstrap methods defined in Bootstrap.php ->run();
官方网站:http://pecl.php.net/package/yaf
Yaf 开发手册:http://www.laruence.com/manual/index.html
Symfony是一款为Web项目准备的PHP框架,它可以帮助你加速创建和维护PHP应用。Symfony可以帮助你省去很多重复的编码工作,让你的工作重心转移到设计和控制上面来。
Symfony是一款可重用的PHP组件,它是基于MIT协议的开源软件,很多CMS系统和论坛程序都是基于Symfony开发的,例如上面提到的 Drupal 和 phpBB。
官方网站:http://symfony.com/
CakePHP是一款老牌的PHP框架,现在稳定版本已经是V3.0了。CakePHP可以帮助你简单、快捷地创建PHP应用程序,并且你可以用很少的代码实现强大的功能。
官方网站:http://cakephp.org/
Medoo是一款最轻量级的PHP框架,可以用它来加速我们的应用开发。它只有13KB的一个文件,学习和使用都非常简单,并且Medoo也是开源的。
Composer require
$ composer require catfan/Medoo
Update
$ composer update
PHPixie是一款轻量级的PHP MVC框架,它非常小巧,而且文档也比较全面,我们只需要做尽可能的配置就可以了。
官方网站:http://phpixie.com/
Slim是一款轻量级的PHP框架,作为一个微框架,Slim可以让你简单地创建一些功能强大的应用程序和API接口。Slim有强大的路由功能、自定义视图模板、flash消息、AES-256加密的安全cookies、HTTP缓存、可自定义的日志、异常处理以及调试和简单的配置。
get('/hello/{name}', function (Request $request, Response $response, array $args) { $name = $args['name']; $response->getBody()->write("Hello, $name"); return $response; }); $app->run();
官方网站:http://www.slimframework.com/
Flight是一款扩展性很强的微型PHP框架,Flight可以让你快速创建 RESTful 风格的 Web 应用,如果写 Restful API
应用,可以考虑。注意它需要PHP5.3以上的版本支持,当然Flight也是基于MIT协议开源的。
RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。
require 'flight/Flight.php'; Flight::route('/', function(){ echo 'hello world!'; }); Flight::start();
这个不多说了,算支持一下国人的努力。
通过搜索 GitHub 的流行程度可以感知。
通常开发中,我们需要不同的 PHP 扩展,首先应该到 PHP官方
的 PECL 中查询相应的扩展和对应PHP版本的支持,比如 ProtocolBuffer (Google 的一种序列化的传输协议,效率比 json 要高)等,其次在需要安装扩展的官网,一般都会提供相应官方的so,比如Memcache等。