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中static静态变量的使用方法详解
Jun 04 PHP
codeigniter框架批量插入数据
Jan 09 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
php注册和登录界面的实现案例(推荐)
Oct 24 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 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
重置版游戏视频
2020/04/09 魔兽争霸
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Django admin美化插件suit使用示例
2017/12/12 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
python链表类中获取元素实例方法
2021/02/23 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
成语的广告词
2014/03/19 职场文书
文明生主要事迹
2014/05/25 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
导游词之日月潭
2019/11/05 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server