本文目录一览:
php是干什么用的??
这么说吧,php就是实现用户和服务器交流的语言。前台就是你看到的那些东西,有些事不会变的,但有些东西是会变的,你告诉服务器你想要什么,服务器就给你显示什么,这个过程就需要用到php来实现,也就是后台的数据调用。
就拿这个百度知道的页面说吧,你每个问题看到的东西都不一样,但是结构都是一样的,这个结构就是前台设计好的,而这些内容就是根据你点的问题,通过php(也可能是其他服务端脚本语言)来获取相应的数据,然后在相应的位置显示相应的内容;你填写好提问或回答,点提交,然后又是通过php把你的提交的数据保存起来,以便以后或其他人查看。
php是什么?
PHP(PHP:Hypertext Prerocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理动态网页,也包含了命令行执行接口(command line interface),或者产生图形使用者接口(GUI)程序。[1]
PHP 最早由 Rasmus Lerdorf 在1995年发明,现在PHP实质上的标准由PHP Group和开放源代码社群维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不相容。[2]
PHP 目前被广泛的应用,特别是在服务器端的网页程序开发。一般来说 PHP 大多执行在网页服务器上,透过执行PHP程序码来产生使用者浏览的网页。PHP 几乎可以在任何的操作系统上执行,而且使用 PHP 完全是免费的。根据2007年4月的统计资料,PHP 已经被安装在超过2000万个网站和100万台服务器上[3]。
目录 [隐藏]
1 开发历史
1.1 版本历程
2 应用
3 语法
3.1 类型
3.2 变量
3.3 面向对象
4 PHP相关资源
4.1 函数库
4.2 源代码编码和加速
4.3 样板引擎
5 未来发展
5.1 PHP 5.3
6 参考资料
7 外部链接
[编辑] 开发历史
PHP 的发明人 Rasmus Lerdorf
Zend Technologies的创办人之一 - Andi GutmansFile:Zeev Suraski.jpg
Zend Technologies的创办人之一 - Zeev SuraskiPHP 原本的简称为 Personal Home Page[4],是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量[5]。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程序开发与寻找错误[6]。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。[5]
在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 的开发。[5]
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强[8]。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。[9][10]
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化[11][12] 。PHP 6 的开发也正在进行中,主要的改进有移除register_globals[13]、magic quotes 和 Safe mode的功能。[9][14]
[编辑] 版本历程
代表意义
红色 旧版;官方停止支持
黄色 旧版;官方维护中
绿色 目前版本
蓝色 未来版本
主要版本 次要版本 释出日期 说明
1.0 1.0.0 1995年6月8日 正式名称为"Personal Home Page Tools (PHP Tools)",第一次使用了"PHP"的名字。[5]
2.0 2.0.0 1994年4月16日 针对PHP 1.0的改进版,速度更快、体积更小,更容易产生动态网页。[5]
3.0 3.0.0 1998年6月6日 开发方式改成多人共同参与。Zeev Suraski 和 Andi Gutmans 为了这个版本重写了剖析引擎。[5]
4.0 4.0.0 2000年5月22日 改成以Zend引擎作为剖析器,具有两阶段剖析/标签剖析系统等先进功能。[15]
4.1.0 2001年12月10日 加入"超全域变量"(superglobals)功能,包含了$_GET、$_POST、 $_SESSION等[15]
4.2.0 2002年4月22日 默认取消register_globals功能。从网络接收的资料将不会设定成全域变量,增加程序安全性[15]。
4.3.0 2002年12月27日 加入命令行执行档,称为CLI。[15]
4.4.0 2005年7月11日 Added man pages for phpize and php-config scripts.[15]
4.4.8 2008年1月3日 Several security enhancements and bug fixes. Was to be the end of life release for PHP 4. Security updates only until 2008-08-08, if necessary.[16]
4.4.9 2008年8月7日 More security enhancements and bug fixes. The last release of the PHP 4.4 series.[17][18]
5.0 5.0.0 2004年7月13日 Zend Engine II with a new object model.[19]
5.1.0 2005年11月24日 Performance improvements with introduction of compiler variables in re-engineered PHP Engine.[19]
5.2.0 2006年11月2日 Enabled the filter extension by default.[19]
5.2.8 2008年12月8日[20] emergent bug fix[20]
5.2.9 2009年2月26日[21] 这个版本解决了5.2.*的超过了50多个错误和多个安全问题,增加了稳定性。[21]
5.2.9-2(Windows) 2009年3月10日[22] 这个版本解决了在Windows系统下OpenSSL的安全缺陷,与其绑定的OpenSSL版本升级到0.9.8k。[22]
5.3.0 预计2009年第二季[23] 支持命名空间; 使用XMLReader和XMLWriter增强XML支持; 支持SOAP ,[24] 延迟静态绑定, 跳转标签(有限的 goto), 闭包,Native PHP archives
6.0 6.0.0 ??? 支持Unicode; 移除ereg扩展, 'register_globals', 'magic_quotes' 和 'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support[25]
[编辑] 应用
PHP 是一个应用范围很广的语言,特别是在网络程序开发方面。一般来说 PHP 大多在服务器端执行,透过执行 PHP 的程序码来产生网页提供浏览器读取,此外也可以用来开发命令行脚本程序和使用者端的GUI应用程序。PHP可以在许多的不同种的服务器、操作系统、平台上执行,也可以和许多数据库系统结合。使用 PHP 不需要任何费用,官方组织 PHP Group 提供了完整的程序源代码,允许使用者修改、编译、扩充来使用。[26]
[编辑] 语法
PHP的语法参考了Perl、C语言,而且可以整合在HTML之中,以下是一个简单的Hello World程序:
?php
echo 'Hello World!';
?
PHP剖析引擎只剖析?php到?之间的程序码,而不包含在?php到?之间的内容则会直接送出,所以可以用以下的方式来将PHP程序码嵌入在HTML之中:
?php
//-PHP程式码
?
html内容
?php
//-PHP程式码
?
但是在判断语句中的HTML代码并不会被直接送出:
?php
if (false) {
?
HTML Code
?php
}
?
PHP可以用三种注解的形式:C与C++所使用的“/*...*/”与“//”,和Perl的“#”。
[编辑] 类型
PHP主要有以下四种变量类型:
整数 (integer)
浮点数 (float)
布尔数 (boolean)
字串 (string)
两种复合类型:
阵列 (array)
物件 (object)
两种特殊类型
NULL
资源 (resource)[27]
[编辑] 变量
PHP中,变量以“$”后接变量名称来表示。变量名称区分大小写。有效的变量名称以字母或底线开头,后接任意数目的字母、数字或底线。[28]
[编辑] 面向对象
PHP从PHP 3开始有了基本的面向对象的特性,但直到PHP 5将面向对象部份重新改写之后,PHP的面向对象功能才比较完善。现在PHP可以说是一个有完整面向对象功能的语言。
[编辑] PHP相关资源
[编辑] 函数库
主条目:PHP函数库列表
内建多样化的函数是PHP主要的特点之一,这些开放程序码的函数提供了各种不同的功能,例如档案处理、FTP、字串处理、等等。这些函数的使用方法和C语言相近(例如printf),这也是PHP广为流行的原因之一。
除了内建的函数之外,PHP也提供了很多延伸函数库(extension),像是各种数据库连接函数、资料压缩函数、图形处理等等。有些延伸函数库需要从PECL(PHP Extension Community Library)取得。
[编辑] 源代码编码和加速
PHP源代码是可以直接读取的,即使放到服务器上执行也是一样。虽然让PHP多了弹性,但相对的会造成安全危机和性能下降的问题。
透过PHP编码器,可以保护PHP的源代码不被读取(对商业软件来说特别有需求),也可以提升执行的效能。有许多公司或团体开发PHP的编码器,将PHP程序编译成字节码(byte code),再透过服务器上安装对应的程序来执行PHP脚本。
除了透过编码器加速之外,PHP还可以透过动态的快取机制来提升速度,加速工具有商业版的,例如Zend Platform,也有开放源代码的加速软件如eAccelerator、APC、XCache。
[编辑] 样板引擎
样板引擎让PHP应用程序可以做逻辑和使用接口上的分离,让程序开发更容易进行,目前比较受欢迎的样板引擎是PHP官方开发的Smarty。不过样板引擎有效能上的争议,因为PHP本身就是一个样板引擎,使用样板引擎反而变成“重新发明了轮子”(reinventing the wheel)。样板引擎最主要的好处就是让不懂PHP程序码的人也可以参与使用接口的开发,因为样板引擎的语言远比PHP简单。
[编辑] 未来发展
[编辑] PHP 5.3
命名空间(namespaces)原本预计在PHP 6提供支持,现在可能改至PHP 5.3就支持[29
PHP是什么。他能做什么
PHP是什么
PHP(外文名:PHP: Hypertext
Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP
独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP能做什么
PHP是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中去。 它的语法利用了C、Java 和
Perl,易于学习。该语言的主要目标是允许 Web 开发人员快速编写动态生成的 Web 页面,但 PHP
的用途远不只于此。PHP还包含了命令列执行接口(command line interface),或者产生图形使用者接口(GUI)程式。
PHP应用范围
目前PHP的应用范围已经相当广泛,尤其是在网页程式的开发上。一般来说PHP大多执行在网页服务器上,透过执行PHP程式码来产生使用者浏览的网页。PHP可以在多数的服务器和操作系统上执行,而且使用PHP完全是免费的。根据2007年4月的统计资料,PHP已经被安装在超过2000万个网站和100万台服务器上。
PHP是世界上最好的语言,是黑PHP还是怎么滴??
一个梗而已。
所谓一粉顶十黑。一门语言使用范围广,使用时间久,大部分使用者就会认为它很完善,且有较发达的生态圈。而这些人中的一部分傻X就会觉得老子用的语言天下第一。这个梗就由此而来了。
其实它并不是讽刺PHP语言本身,而是在讽刺并不深入理解PHP的开发者。毕竟一门语言仅仅是工具,算法思想才是最有价值的东西。
Php开源什么意思,干什么的?
与你这个使用者关系不太大,开源指其许可协议 (license)。
php使用的许可协议是类似BSD的,还有个比较常使的叫GPL。
我先说GPL比较好,GPL是个限制性很强的开源license。一旦用GPL发行软件,则必须带有源代码。允许软件使用者修改源代码,修改后可重新发行,但必须继续以GPL做许可协议,并且一定也要带有源代码。“发行”不一定是免费的。
BSD license关键特点在于完全免费,也可以修改源代码后发行,可以不再以BSD协议发行,使用上几乎完全自由。
你可以看到两者的一些区别:
BSD的软件被修改后不再以BSD许可协议发行,因此可以不带源代码,用户不能再修改了,往往被直接用作商业用途。有很多商业例子,像mac os x就是使用FreeBSD的内核,加上苹果自己的图形系统。
GPL的软件强制性要带有源代码,其修改后的产品也只能用GPL继续发行,确保以后的用户有修改的权利,也确保了用户不能将别人的代码“据为己有”。
GPL软件其实是可以卖钱的,最少可以卖出一次。但“再发行者”要免费,原始作者也没办法阻止。
你作为php的使用者,你用php生产产品,不带有php这个工具的一部分,所以不属于修改php的源代码。
PHP人才到底有多紧缺?
第一届
PHP中国开源发展及人才状况调查报告
(简报)
2007年6月
一、调查结论摘要
1.1中国PHP从业者资源状况
中国PHP从业者特征
以男性为主;
年龄集中分布在18岁至30岁之间;
受教育程度较高,学历在普遍大专以上;
职业以开发工程师为主;
平均月收入约为5,000元;
主要分布在北京、广东、上海等经济发达的省市;
44.1%接触PHP在2年以上;
多数毕业或就读于计算机相关专业。
中国PHP从业者使用PHP情况
74.8% 曾经从phpchina.com获得过PHP资源
45.9% 使用Intel(r)Xeon**eroC-lauD*平台
53.3% 在Zend Studio环境下开发PHP
70.3% 在开发PHP时使用过Smarty模板技术
68.8% 使用Smarty开发框架
95.2% 使用MYSql数据库
95.1% 使用Apache服务器
PHP从业者对PHP发展期望
34.3% 认为高效是PHP语言的优势
32.6% 认为开源是PHP语言的优势
51.9% 认为功能扩展是PHP应用存在的问题
50.7% 认为性能优化是PHP应用存在的问题
62.2% 喜欢使用PHP5面向对象编程方式
78.1% 希望未来PHP版本继续完善OOP机制
71.7% 希望未来PHP版本增加多线程机制
66.2% 认为社区讨论是在中国推广PHP的有效手段
63.5% 认为培训是在中国推广PHP的有效手段
71.2% 愿意加入社区,共享自己的PHP产品
PHP从业者如何提升PHP技术
71.0% 认为在使用PHP的时候最需要注意的地方是规范开发
99.2% 认为自己的PHP技术存在提升空间
54.9% 打算通过自学实践方式提升个人技术
PHP从业者个人工作情况
69.9% 从事与PHP相关的工作
30.1% 目前是业余研究PHP
39.2% 计划在三个月内变动工作
39.1% 曾在phpchina.com获取求职/招聘PHP职位信息
1.2 中国PHP初学者资源状况
PHP初学者结构特征
男性比例约为92%
年轻人居多,年龄在18-25岁之间的初学者在60%左右
学历以大专/大学本科为主
职业中学生族较多,占到28%
平均月收入在3,700元左右
多数居住在东部省市
81.5%接触PHP时间不超过2年
66.9%毕业或正在就读于计算机专业
PHP初学者使用PHP情况
52.2% 使用PHP5
19.3% 使用的第一个计算机语言是PHP
73.0% 在学习PHP时尝试开发过数据库查询模块
90.3% 使用PHP开发过网站
72.4% 有可能用PHP开发论坛项目
71.9% 经常登录phpchina.com
72.1% 使用的PHP加密工具是Zend Guard
41.1% 使用Intel(r)Xeon**eroC-lauD*平台
61.6% 选择PHP应用平台时注重稳定可靠性
38.2% 使用的开发环境是Zend Studio
77.8% 使用MYSql数据库
PHP初学者对PHP认知程度
73.6% 知道Discuz!软件基于PHP开发
68.3% 不清楚居住所在地有什么使用PHP开发的网站
80.0% 认为PHP可以胜任企业级开发
69.0% 不了解PHP的企业级应用平台Zend Platform
PHP初学者如何提升技术
76.9% 愿意加入PHPChina线下的活动组织
36.9% 认为培养专业PHP技术人员需要1年的时间
43.4% 选择PHP培训机构时看重的因素是教学质量
PHP初学者个人工作情况
38.9% 计划在三个月内变动工作
81.3% 选择网络作为获得求职/招聘信息的主要渠道
30.9% 曾在phpchina.com获取求职/招聘PHP职位信息
1.3 中国PHP爱好者资源状况
PHP爱好者结构特征
男性较多,占该类人才的86.3%
也是以18-25岁的年轻人为主
73.7%是大专/大学本科学历
42.2%目前是学生族
平均月工资约为3,100元
在广东省居住的比例最高,约为11.3%
64.1%接触PHP不足半年
仅有一半左右的人学习计算机相关专业
爱好者对PHP认知情况
62.1% 从互联网上第一次知道PHP软件
50.7% 登录过phpchina.com网站
73.1% 认为高效是PHP优势
64.8% 认为开源是PHP优势
61.5% 能够正确认识到"开源软件不一定免费"
66.9% 知道PHP是开源软件
62.0% 不清楚LAMP的意义
45.7% 认为Discuz!软件是PHP开发产品
64.8% 知道Zend是PHP软件的创始开发公司
PHP爱好者培训需求
47.5% 认为中国PHP程序员的水平一般
36.1% 希望参加培训课程来提高自己技术
45.8% 选择培训机构时关心该机构的教学质量
33.7% 认为三个月是一个专业PHP培训的最佳时长
87.5% 认为学习PHP的同时还应该掌握数据库
62.0% 认为学习PHP的同时还应该学习SQL语言
58.2% 认为学习PHP的同时还应该学习JavaScript语言
二、调研背景
2007年《首届PHP中国开源发展及人才状况调查》是由PHPChina和爱好者网站(cfan.com.cn)联合发起,国内多家社区门户、IDC服务商、广告联盟机构以及数百家知名社区网站充分参与的大型互联网调查。
作为全球最普及的互联网开发语言之一,PHP从1994年诞生至今已被2000多万个网站采用,全球知名互联网公司Yahoo!、Google、Lycos、YouTube和中国知名网站新浪、百度、腾讯、TOM等均是PHP技术的经典应用。并且,随着PHP技术的成熟和完善,PHP已经从一种针对网络开发的计算机语言发展成为了一个适合于企业级部署的技术平台,IBM、Cisco、西门子、Adobe等公司均在普遍选用PHP技术。
PHP技术传入中国10年后,中国PHP人才发展状况如何?他们在使用PHP做什么?他们使用的PHP版本是什么?PHP人才供求情况怎样?PHP技术对各大厂商技术有哪些帮助?这些问题在本次调查中均有涉及。
本报告《2007年首届PHP中国开源发展及人才状况调查》针对各类PHP人才进行调查研究,主要分析了中国PHP人才的基本特征、对PHP的了解程度、使用PHP行为特征、使用偏好,以及他们对PHP未来技术发展的期望,对PHP培训的需求状况等。
三、 报告相关定义
PHP从业者
对PHP非常熟悉的人才。样本来自在本次调查筛选问题"请问您对PHP的了解程度是?"中,选择 "非常熟悉"选项的受访者,共1,519人。
PHP初学者
对PHP有一定了解,并且使用过PHP的人才。样本来自在本次调查中,选择"了解,偶尔使用"选项的受访者,共1,252人。
PHP爱好者
仅听说过PHP,尚不会使用PHP的人才,他们中的一些人在未来有可能成为PHP初学者,甚至通过学习成为PHP从业者。样本为本次调查选择"听说过,但不会使用"的受访者,共1,497。
四、调研及分析方法
(1)依据统计学理论和行业惯例,本次调查主要采用互联网调查方式进行,通过在中国45家网络媒体和58家重点网站相关频道投放网幅广告和文字链接广告,将问卷放置在(调查链接:)在PHPChina、爱好者网站官方指定网站上,于2007年5月10日-6月10日期间,由用户自主填写并提交问卷的方式来获取信息。
(2)本次调研主要采用频数分析、交叉列联分析、轮廓图分析等统计分析方法从调研数据中提炼信息,并通过一系列的条形图、饼图、柱图、折线图和百分比堆积图等直观的展示分析结果。