PHP简介
阅读量:20023
发布时间:2015-10-19 20:37:26
一、php简介
PHP是一种开源的通用计算机语言,可以在Windows、Linux、Unix上执行,是现在流行的三大网站开发语言之一(ASP、JSP、PHP 注:暂时把ASP、ASP.NET算为一种,这都是微软开发的作为网页后端语言),PHP比较适合网络开发并嵌入HTML中使用(对于初学者来说),PHP主要是是用于网络开发人员快速编写动态网页,PHP也被用于其他领域(如:CURL的数据抓取、模拟登录、代理等)。
PHP最初是由勒多夫在1995年开始开发的,现在已经有二十年的历史了,目前版本以5.2/5.3/5.4/5.5/5.6为主,最新版本为php7 2015年10月15发布测试版本,php7的性能能达到或者超过HHVM(HHVM是一个开源的PHP虚拟机,HHVM是Facebook公司的一种PHP执行引擎)。
二、php系统架构
PHP是一种面向对象的变成语言,一般的大公司都是将PHP作为前端语言使用,后端用C++、Java、Go等
-
小型网站:PHP做后端,html、CSS、JavaScript做前端
-
中型网站:Java做后端,PHP、html、CSS、JavaScript做前端
-
大型网站:C++做后端,PHP、html、CSS、JavaScript做前端
-
超大网站:Go做后端,PHP、html、CSS、JavaScript做前端
还有一些新兴的网页架构如:Ruby、Node.js+Express+AngulaJS+MongoDB
三、Apahce与Nginx
Apache作为PHP的专属HTTP服务器,具有不错的性能、详尽的文档、很少的bug,是PHP的服务器的首选,这也是百度的web服务器。
Nginx是一款俄罗斯人开发的web反代理服务器,Nginx具有更高的性能,配置更加简单,占用内存更低,具有更高的并发连接数(同时连接数在20000+),可以作为php HTTP服务器,也可以配置支持JSP,可以同时支持两者。
Tengine是淘宝网发起的Wbe服务器,从2011年12月开始,成为一个开源项目。它是在Nginx基础上,针对大范问量网站的需求,添加了很多高级功能。2015年8月12日发布2.1.1稳定版,一直是国内高并发网站首先的Web服务器。
IIS这是运行Windows Web服务器,也可以用来作为PHP服务器(Windows也可以直接用Apache作为Web服务器)。性能:大多数人认为Windows server上IIS性能更高,具体只有自己测试过才知道(不建议使用IIS作为PHP Web服务器)。
四、Smarty——php前后端分类工具
Smarty是一个PHP的模板引擎。更明确来说,它可以帮助开发者更好地 分离程序逻辑和页面显示。
Smarty主要是利用正则表达式,剔除HTML代码中的变量、预处理内容,替换成PHP中的内容,是一个很好的将前后端分离的模板引擎,模板一般以 .tpl .lbi结尾,有些PHP框架整合了Smarty的内容,当时Smarty可是自定义functions函数、modifiers变量调节器,是我认为最好用的模板引擎。
五、PHP框架
PHP的框架不是为了增加学习者的难度,是为了开发方便,减少开发周期,分离的思想方便后期的维护(开发需要30%的时间,维护就有可能需要50%的时间),以及一些输入过滤、使用不同的数据库(如:MongoDB)、Debug功能、测试网页性能、以及一些内部优化,注:使用框架不是为了不用书写代码,思想还是一样的前台的页面还是需要自己一点一点的数学,后台的逻辑部分还是需要自己的书写和调用控制器,就像编辑器一样:好的编辑器不是帮助你书写代码,仅仅是熟悉编辑器以后方便开发。
- Laravel 是目前使用率最高的PHP Web开发框架,标语是:为网页艺术家创造的PHP框架,目前国内使用的不是很多,国内教学视频几乎没有,参考文档也很少。
- YII Yii是最有效率的PHP框架之一,于2008年1月1日开始开发。一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架,视频、文档资源比较多。
- ThinkPHP 是一个快速、兼容而且简单的轻量级国产PHP开发框架,2007年正式上线,并遵循Apahce2开源协议,使用面向对象的开发结构和MVC模式,TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。2014年10发布ThinkPHP3.2,ThinkPHP社区也比较活跃。注:代码里面都是中文的注释,适合国人学习的PHP框架,有很好的Debug功能。
六、PHP的优秀系统
以下是PHP优秀系统,适合二次开发和快速搭建服务器,具有良好的兼容性、适合二次开发,修改需要读懂源码,可以用来学习PHP用法。
- WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。
- ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。
- Discuz 是PHP网络论坛程序,目前最新版本是Discuz!X3.2。由康盛创想所有(现已被腾讯收购)。是国内使用最多的论坛系统。
七、其它
ReactPHP── PHP版的Node.js
ReactPHP与Node.js有着相同的特点
许多人认为ReactPHP是Node.js的php版本,这是有一定道理的。他们的确有很多相似的特点。
事件驱动,异步执行,非阻塞IO
当前没有评论