php编程[编辑]
php编程
PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。 PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。
基本信息
中文名称:超文本预处理器编程
外文名称:PHP: Hypertext Preprocessor
简 称:php编程
运行平台:微软Windows
技术简介
PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,可以从PHP官方php站点自由下载。PHP遵守 GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上安装 PHP的资料可以在PHP官方站点上找到。安装过程很简单。
先进之处
应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之前)。但是PHP的邮件列表很是有用而且除非正在运行像Yahoo!或者Amazon这样的极受欢迎的站点,不会感觉出PHP的速度与其他的有什么不同。
发展历史
PHP原始为 Personal Home Page的缩写,现已经正式更名为 "PHP: Hypertext Preprocessor"的缩写。注意不是"Hypertext Preprocessor"的缩写,这种将名称放到定义中的写法被称作递归缩写。
ISAPI筛选器94年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。
在1995年早期以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性。比如循环语句和数组变量等等;在新的成员加入开发行列之后,Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。
在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础。而 PHP 也在这个时候改称为PHP:Hypertext Preprocessor.[5]。经过几个月测试,开发团队在1997年11月发布了 PHP/FI 2。随后就开始 PHP 3 的开放测试,最后在1998年6月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写PHP 的核心,这个在1999年发布的剖析器称为 Zend Engine[7],他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。至2013年PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新稳定版本:5.3.21(2013.1.17)
PHP最新发布版本:5.4.11(2013.1.17)
学习过程
与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。
PHP的语法与C,Perl,ASP或者JSP类似。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。
只需要30分钟就可以将PHP的核心语言特点全部掌握,可能已经非常了解HTML,甚至已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在设计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可以做到你想让它做到的一切而且无所不能!
乱码解决
PHP中文乱码是软件编程新手在进行PHP开发中的常见问题之一,中文乱码现像有时发生在网页本身,有些产生在于MYSQL交互的过程中,有时与操作系统有关,下面进行总结:最好最快的解决办法就是使页面申明的编码与数据库内部编码一致,如果页面申请的编码与数据库内部的编码不一致时,那就设定连接编码。Mysql_query("setnames gb2312") 或者 Mysql_query("setnames utf8")。
1、 php文件本身的编码与网页的编码应匹配,如果欲使用gb2312编码,那么php要输出头header("Content-type:text/html;charset=gb2312")。静态页面添加<meta http-equiv="Contenttype"content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
2、 如果欲使用uft-8编码,那么php要输出头header("Content-type:text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-type"content="text/html; charset=utf-8">,所有文件的编码格式为utf-8.保存为utf-8可能会有点麻烦,一般utf-8开头会有BOM,如果使用 Session就会出现问题,可用editplus软件来保存。在这个软件中,选择工具?参数选择?文件?UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
3、PHP本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。在需要做数据库操作的PHP程序前加mysql_query("set names 编码"),编码和PHP编码一致,如果PHP编码是gb2312那么mysql编码也就是gb2312,如果是uft-8,那么mysql中就是utf8.这样改过后就不会出现乱码了。
4、header和meta之间区别。首先,header是php的内置函数,而meta是html的信息。其次,apache在给浏览传递网页编码内容时,如果发现php文件使用header设置网页显示编码则将不会再解析meta设置的编码。最后,如果你写的代码是这样,php文件header("Content-type:text/html; charset=gbk2312"),静态页面添加<meta http-equiv="Content-type"content="text/html; charset=utf-8">,浏览会默认显示为gbk2312而不是utf-8。这些规则是apache和php之间的协议。
竞争对手
ASP,mod_perl,JSP当然不清楚ASP/JSP能做些什么。不过明确的是编写那样的代码有多简单,购买它们会有多昂贵以及它们需要多么昂贵和强大的硬件。
JSP基于Java,因此Java程序员可以轻松开始编码。ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript,C#mod_perl与Perl一样强大,只是更快一些。
对比
NET:4分
PHP:5分
JSP:2分
资源包括能获取到的学习资料、开放源码,以及各种插件和库。PHP在这方面遥遥领先,粗略看来,各种网站的知名开源产品,大都使用PHP实现,如博客wordpress、论坛discuz、Wiki知识库MediaWiki等。 相应的各种插件、库、开源代码的数量和质量更是其它语言无法相比。.NET资源也比较丰富,选用.NET幸福的是有MS这么一个强大后台做有力的技术支持,CSDN 的资料不但多,质量更是上乘;JSP由于其门槛高的缘故,致使在这方面的资料也比较少。PHP学习算是基于.net和JSP之间,语法与C语言一脉相承,上手也算容易。
php;编程;
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。