1.PHP简介


Posted in PHP onOctober 09, 2006

PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。本教程并不想让你完全了解这种语言,只是能使你尽快加入开发动态web站点的行列。我假定你有一些HTML(或者HTML编辑器)的基本知识和一些编程思想。

1.简介

PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。

PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上安装PHP的资料可以在PHP官方站点上找到。安装过程很简单。

如果你的机器解决了2000问题,那么PHP也一样没有千年虫问题! 

1.1 历史

三年前,Rasmus Lerdorf为了创建他的在线简历而创造了"个人主页工具"(Personal Home Page Tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这种语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中。

PHP虽然很容易学习,但是速度上比mod_perl(植入web服务器的perl模块)慢。现在有了可以与mod_perl速度想媲美的被称作Zend的新引擎,而PHP4就可以充分利用这个引擎。PHP4还处在BETA测试阶段。Andy Gutmans和Zeev Suraki是Zend的主要作者。可以去Zend站点(http://www.zend.com)了解更多。

PHP的应用在个人性质的web工程中增长显著。根据Netcraft在1999年10月的报告,有931122个域和321128个IP地址利用PHP技术。

1.2 PHP的先进之处

应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之前)。但是PHP的邮件列表很是有用而且除非你正在运行像Yahoo!或者Amazon.com这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不同。最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点:

- 学习过程

我个人更喜欢PHP的非常简单的学习过程。与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。

PHP的语法与C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。

你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。

- 数据库连接

PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。

- 可扩展性

就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。

- 面向对象编程

PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。

- 可伸缩性

传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。

- 更多特点

PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!

1.3 竞争对手:ASP,mod_perl,JSP

我当然不清楚ASP/JSP能做些什么。不过明确的是编写那样的代码有多简单,购买它们会有多昂贵以及它们需要多么昂贵和强大的硬件。如果你有什么中立的观点(比如说没有被SUN和Microsoft的百万美金所影响),请顺便通知我。

据我所知,JSP基于Java,因此Java程序员可以轻松开始编码。ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。

mod_perl与Perl一样强大,只是更快一些。

PHP 相关文章推荐
php cookie的操作实现代码(登录)
Dec 29 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
微信小程序和php的登录实现
Apr 01 PHP
5.PHP的其他功能
Oct 09 #PHP
2.PHP入门
Oct 09 #PHP
4.与数据库的连接
Oct 09 #PHP
利用PHP创建动态图像
Oct 09 #PHP
ip签名探针
Oct 09 #PHP
PHP默认安装产生系统漏洞
Oct 09 #PHP
把PHP安装为Apache DSO
Oct 09 #PHP
You might like
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Django的性能优化实现解析
2019/07/30 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
大学军训感言800字
2014/02/27 职场文书
教师党员公开承诺书
2014/03/25 职场文书
捐款倡议书
2014/04/14 职场文书
2014年防汛工作总结
2014/12/08 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
原告代理词范文
2015/05/25 职场文书
雷锋的故事观后感
2015/06/10 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android