PHP

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(iconv)
(Zend)
(未显示1个用户的25个中间版本)
第4行: 第4行:
 
[[Image:pear-icon.gif|right]] [[Image:pecl-icon.gif|right]]
 
[[Image:pear-icon.gif|right]] [[Image:pecl-icon.gif|right]]
  
[[Image:elePHPant-680x100.jpg|其实我是一头象|right]]
 
 
==什么是PHP==
 
==什么是PHP==
 
PHP是一种服务器端脚本语言,它是专门为Web而设计的.在一个HTML页面中,你可以嵌入PHP代码,这些代码在每次页面被访问时执行.PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出.
 
PHP是一种服务器端脚本语言,它是专门为Web而设计的.在一个HTML页面中,你可以嵌入PHP代码,这些代码在每次页面被访问时执行.PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出.
第25行: 第24行:
 
==新闻==
 
==新闻==
 
{{SeeWikipedia}}
 
{{SeeWikipedia}}
<rss>http://www.php.net/feed.atom|short|date|max=8</rss>
+
<rss>http://www.php.net/feed.atom|short|max=8</rss>
 +
 
 +
==语言规范==
 +
*[https://github.com/php/php-langspec/blob/master/spec/00-specification-for-php.md Specification for PHP]
 +
 
 +
==PHP7==
 +
*PHP7将于2015年11月12日正式发布。
 +
*[http://php7.zend.com/ PHP7 @ Zend]
 +
*[http://docs.huihoo.com/infoq/qconbeijing/2015/day2/PHP-7.pdf PHP 7 - New Engine For The Good Old Train]
 +
*[http://www.laruence.com/ 鸟哥,PHP7核心开发者,他的博客要看]
 +
*[http://www.laruence.com/2015/06/19/3063.html 让你的PHP7更快(GCC PGO)]
 +
*[http://www.laruence.com/2014/12/18/2976.html PHP7 VS HHVM (WordPress)]
 +
*[https://github.com/pangee/Migrating-from-PHP5.6.x-to-PHP7.0.x PHP 5.6.x 版本迁移至 PHP 7.0.x 版本]
 +
 
 +
==PHP6==
 +
新特征:
 +
*1、支持Unicode。Unicode是有其必然,虽然Unicode占用较多的空间,但Unicode带来的便利性,远超过占用空间的缺点,尤其在国际化的今天,硬件设备越来越强大,网速也大幅度的提升,这么一点小小的缺点是可以忽略的。另外一点,PHP也可以在.ini文件中设定能不能开启支持Unicode,决定权在你自己,这是一个不错的点子,关掉Unicode的支持,PHP的性能并不会有大幅度的提升,主要的影响在于需要引用字符串的函数。
 +
*2、Register Globals 将被移除这是一个主要的决定,老的PHP使用者会觉得Register Globals蛮方便的,但是却忽略了Register Globals会带来程序上安全性的隐患,大多数的主机上此项功能是关闭的,印象中从PHP4.3.x版开始,此项默认配置值即是关闭状态,PHP6正式移除Register Globals也代表着如果程序是PHP3时代的产物,将完全不能运用,除了改写用途外,别无他法。
 +
*3、Magic Quotes 将取消Magic Quotes主要是自动转义须要转义的字符,此项功能移除也符合大多数PHP开发者的心声。
 +
*4、Safe Mode 取消。老实说,这个模式不知道哪里不好,取消就取消吧,反正也用不到。
 +
*5、’var’ 别名为 ‘public’,在类中的var声明变成public的别名,相信是为了兼容PHP5而作的决定,PHP6现在也可以称作为OO语言了。
 +
*6、通过引用返回将出错未来通过引用返回编译器将会报错 例如$a =& new b()、function &c(),OO语言默认就是引用,所以不须要再运用 &了。
 +
*7、zend.ze1 compatbility mode 将被移去(Zend.ze1相容模式将被移去),PHP5是为兼容旧有PHP4,所以在.ini中可选择是否开启相容模式,原由在于PHP5运用的是第二代分析引擎,但是相容模式并不是百分之百能分析 PHP4语法,所以旧时代的产物,移除。
 +
*8、Freetype 1 and GD 1 support 将不见这两个Libs存在了很久,php6将不再支持,况且GD1早已被现在的GD2取代了。
 +
*9、dl() 被移到 SAPI 中dl()主要是让设计师加载extension Libs,现在被移到 SAPI 中。
 +
*10、Register Long Array 去除 从PHP5起默认是关闭,在PHP6中正式移除。
 +
*11、一些Extension的变更例如 XMLReader 和 XMLWriter 将不再是以Extension的方式出现,他们将被移入到PHP的核心之中,并且默认是开启,eregextension将被放入PECL,代表着它将被移出PHP核心,这也是为了让路给新的正则表达式extension,此外,Fileinfo extension 也将被导入PHP的核心之中。
 +
*12、APC将被导入核心这是一个提高PHP性能的功能,现在它将被放入PHP核心中,并且可以选择是否启用APC。
 +
*13、告别ASP风格的起始标签原来是为了取悦ASP开发者转向运用 PHP,现今已经不再须要这种做法了。
  
 
==PHP5==
 
==PHP5==
*Migrating from PHP 4 to PHP 5 - http://www.php.net/manual/en/migration5.php
+
自 PHP 5 起完全重写了对象模型以得到更佳性能和更多特性。这是自 PHP 4 以来的最大变化。PHP 5 具有完整的对象模型。
 +
 
 +
PHP 5 中的新特性包括访问控制,抽象类和 final 类与方法,附加的魔术方法,接口,对象复制和类型约束。
 +
 
 +
PHP 对待对象的方式与引用和句柄相同,即每个变量都持有对象的引用,而不是整个对象的拷贝。详见:[http://docs.huihoo.com/php/manual/2014-05-09/chinese/language.oop5.html 类与对象]
 +
 
 +
*[http://docs.huihoo.com/php/manual/2014-05-09/chinese/faq.migration5.html 从 PHP 4 移植到 PHP 5]
 
*http://derickrethans.nl/pres-breaking/talk.html
 
*http://derickrethans.nl/pres-breaking/talk.html
 +
 +
==PHP4==
 +
[[Zend Engine]] 1是PHP 4所有版本使用的内部引擎。它的维护已停止,但是PHP 4仍然在被广泛使用中。
  
 
==编译==
 
==编译==
 
./configure --prefix=/usr/local/php5 --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-pgsql --with-curl --disable-debug --enable-pic --disable- rpath --enable-inline-optimization --with-bz2 --with-xml --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with- mhash --enable-xslt --enable-memcache --enable-zip --with-pcre-regex
 
./configure --prefix=/usr/local/php5 --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-pgsql --with-curl --disable-debug --enable-pic --disable- rpath --enable-inline-optimization --with-bz2 --with-xml --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with- mhash --enable-xslt --enable-memcache --enable-zip --with-pcre-regex
make
+
 
make install
+
 
==iconv==
 
==iconv==
 
  iconv -f gb2312 -t utf-8 -c forum-gb2312.sql > forum-utf8.sql  
 
  iconv -f gb2312 -t utf-8 -c forum-gb2312.sql > forum-utf8.sql  
 
  ok, cool :)
 
  ok, cool :)
 +
 +
==Eclipse==
 +
使用 [[Aptana]] 进行 PHP 应用开发。
  
 
==PHP应用框架==
 
==PHP应用框架==
 
[[文件:php-mvc.png|right|thumb|PHP MVC]]
 
[[文件:php-mvc.png|right|thumb|PHP MVC]]
 +
*[https://github.com/ziadoz/awesome-php Awesome PHP] [[文件:Awesome.png]]
 
*[[CakePHP]]
 
*[[CakePHP]]
 
*[[Symfony]]
 
*[[Symfony]]
第68行: 第107行:
 
*[[PHPXref]]
 
*[[PHPXref]]
 
*[[Smarty]]
 
*[[Smarty]]
 +
*[https://github.com/tencent-php/tsf Tencent Server Framework] 业务逻辑服务协程框架
 +
*[[Swoole]]
  
==Zend==
+
==虚拟机==
[[Zend]] - http://www.zend.com
+
PHP编译器、虚拟机
 +
*[[HHVM]]
 +
*[[Zend]]
  
 
==Pear==
 
==Pear==
*PEAR - PHP Extension and Application Repository - pear.php.net/
+
*[[PEAR]] - [http://pear.php.net/ PHP Extension and Application Repository]
*PEAR Manual - http://www.huihoo.com/php/pear/manual/en/
+
*[http://docs.huihoo.com/php/pear/ PEAR Manual]
  
 
安装 Pear
 
安装 Pear
 
  download http://pear.php.net/install-pear.phar to php-src/pear/  
 
  download http://pear.php.net/install-pear.phar to php-src/pear/  
  # make install-su  
+
  # make install-su
  
 
==Pecl==
 
==Pecl==
第103行: 第146行:
 
*[http://www.oracle.com/technology/global/cn/pub/notes/technote_as_signoff.html 使用 PHP 创建定制 SSO 登录页面和注销页面]
 
*[http://www.oracle.com/technology/global/cn/pub/notes/technote_as_signoff.html 使用 PHP 创建定制 SSO 登录页面和注销页面]
 
*PHP 程序加速探索 - http://x.discuz.net/174393/viewspace_47001.html
 
*PHP 程序加速探索 - http://x.discuz.net/174393/viewspace_47001.html
 +
 +
==Windows==
 +
*[[XAMPP]]
 +
*[[WAMP]]
  
 
==Debian==
 
==Debian==
第109行: 第156行:
 
  09,39 *    * * *    root  [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 |  
 
  09,39 *    * * *    root  [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 |  
 
  xargs -r -0 rm
 
  xargs -r -0 rm
+
 
==Game==
+
==游戏==
 
*[[DotK WebGame Engine]]
 
*[[DotK WebGame Engine]]
==相关链接==
+
 
 +
==包管理==
 +
*[[Composer]]
 +
*[https://packagist.org/ Packagist] The PHP Package Repository
 +
 
 +
==图集==
 +
<gallery>
 +
image:weibo-mapi.png|微博MAPI
 +
image:php7-swoole-phalcon-redis-dynamodb.png|高性能配置
 +
image:php-elephant.png|PHP
 +
</gallery>
 +
 
 +
==链接==
 
*[http://www.php.net/ PHP官网]
 
*[http://www.php.net/ PHP官网]
 
*[http://talks.php.net/ PHP Presentation System]
 
*[http://talks.php.net/ PHP Presentation System]
第132行: 第191行:
 
*[[PHP and MySQL Web Development|PHP和MySQL Web 开发(原书第3版)]]
 
*[[PHP and MySQL Web Development|PHP和MySQL Web 开发(原书第3版)]]
  
{{Comment}}
+
[[category:programming language]]
 
+
[[category:c programming language]]
[[Category:Programming Language]]
+
[[category:PHP]]
[[Category:PHP]]
+

2016年12月31日 (六) 11:35的版本

Php-90x90.png

Zend logo small.gif
Pear-icon.gif
Pecl-icon.gif

目录

什么是PHP

PHP是一种服务器端脚本语言,它是专门为Web而设计的.在一个HTML页面中,你可以嵌入PHP代码,这些代码在每次页面被访问时执行.PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出.

PHP是1994年出现的,15最初只是Rasmusc Lerdorf一个人的工作.其他一些天才改进了这种语言,它经历了四次非常重要的重新编写,才变成了我们今天所看到的广为使用的.成熟的PHP.到2004年8月,PHP已经在全球的1700多万个网站域中安装,而且该数字还在不断地快速增长.

访 http://www.php.net/usage.php 站点,你可以获得当前的确切数据.

PHP是一个开放源代码的产品,这就意味着,你可以访问其源代码,也可以免费使用.修改并且再次发布.

PHP最初只是PersonalcHomecPage(个人主页)的缩写,但是后来经过修改,采用了GNU命名惯例(GNUc=Gnu Not Unix),如今它是PHP超文本预处理程序的缩写.

前,PHP的主要版本是5.该版本的Zend引擎经过了完全的重写,而且还实现了一些主要的语言改进.

Zend是专业的PHP公司,开发了PHP语言的核心引擎

Rasmus Lerdorf.jpg Rasmus Lerdorf: PHP 之父

将 PHP 带入企业级应用: Enterprise PHP

新闻

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 PHP Thanks, Wikipedia.

自http://www.php.net/feed.atom加载RSS失败或RSS源被墙

语言规范

PHP7

PHP6

新特征:

  • 1、支持Unicode。Unicode是有其必然,虽然Unicode占用较多的空间,但Unicode带来的便利性,远超过占用空间的缺点,尤其在国际化的今天,硬件设备越来越强大,网速也大幅度的提升,这么一点小小的缺点是可以忽略的。另外一点,PHP也可以在.ini文件中设定能不能开启支持Unicode,决定权在你自己,这是一个不错的点子,关掉Unicode的支持,PHP的性能并不会有大幅度的提升,主要的影响在于需要引用字符串的函数。
  • 2、Register Globals 将被移除这是一个主要的决定,老的PHP使用者会觉得Register Globals蛮方便的,但是却忽略了Register Globals会带来程序上安全性的隐患,大多数的主机上此项功能是关闭的,印象中从PHP4.3.x版开始,此项默认配置值即是关闭状态,PHP6正式移除Register Globals也代表着如果程序是PHP3时代的产物,将完全不能运用,除了改写用途外,别无他法。
  • 3、Magic Quotes 将取消Magic Quotes主要是自动转义须要转义的字符,此项功能移除也符合大多数PHP开发者的心声。
  • 4、Safe Mode 取消。老实说,这个模式不知道哪里不好,取消就取消吧,反正也用不到。
  • 5、’var’ 别名为 ‘public’,在类中的var声明变成public的别名,相信是为了兼容PHP5而作的决定,PHP6现在也可以称作为OO语言了。
  • 6、通过引用返回将出错未来通过引用返回编译器将会报错 例如$a =& new b()、function &c(),OO语言默认就是引用,所以不须要再运用 &了。
  • 7、zend.ze1 compatbility mode 将被移去(Zend.ze1相容模式将被移去),PHP5是为兼容旧有PHP4,所以在.ini中可选择是否开启相容模式,原由在于PHP5运用的是第二代分析引擎,但是相容模式并不是百分之百能分析 PHP4语法,所以旧时代的产物,移除。
  • 8、Freetype 1 and GD 1 support 将不见这两个Libs存在了很久,php6将不再支持,况且GD1早已被现在的GD2取代了。
  • 9、dl() 被移到 SAPI 中dl()主要是让设计师加载extension Libs,现在被移到 SAPI 中。
  • 10、Register Long Array 去除 从PHP5起默认是关闭,在PHP6中正式移除。
  • 11、一些Extension的变更例如 XMLReader 和 XMLWriter 将不再是以Extension的方式出现,他们将被移入到PHP的核心之中,并且默认是开启,eregextension将被放入PECL,代表着它将被移出PHP核心,这也是为了让路给新的正则表达式extension,此外,Fileinfo extension 也将被导入PHP的核心之中。
  • 12、APC将被导入核心这是一个提高PHP性能的功能,现在它将被放入PHP核心中,并且可以选择是否启用APC。
  • 13、告别ASP风格的起始标签原来是为了取悦ASP开发者转向运用 PHP,现今已经不再须要这种做法了。

PHP5

自 PHP 5 起完全重写了对象模型以得到更佳性能和更多特性。这是自 PHP 4 以来的最大变化。PHP 5 具有完整的对象模型。

PHP 5 中的新特性包括访问控制,抽象类和 final 类与方法,附加的魔术方法,接口,对象复制和类型约束。

PHP 对待对象的方式与引用和句柄相同,即每个变量都持有对象的引用,而不是整个对象的拷贝。详见:类与对象

PHP4

Zend Engine 1是PHP 4所有版本使用的内部引擎。它的维护已停止,但是PHP 4仍然在被广泛使用中。

编译

./configure --prefix=/usr/local/php5 --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-pgsql --with-curl --disable-debug --enable-pic --disable- rpath --enable-inline-optimization --with-bz2 --with-xml --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with- mhash --enable-xslt --enable-memcache --enable-zip --with-pcre-regex

iconv

iconv -f gb2312 -t utf-8 -c forum-gb2312.sql > forum-utf8.sql 
ok, cool :)

Eclipse

使用 Aptana 进行 PHP 应用开发。

PHP应用框架

PHP MVC

虚拟机

PHP编译器、虚拟机

Pear

安装 Pear

download http://pear.php.net/install-pear.phar to php-src/pear/ 
# make install-su

Pecl

The PHP Extension Community Library contains PHP extensions written in C.

PHP 设计模式

  • 工厂模式

Php factory.gif

  • 单体模式

Php singleton.gif

  • 观察者模式

Php observer.gif

  • 命令链模式

Php chain.gif

  • 策略模式

Php strategy.gif

更多细节: http://www-128.ibm.com/developerworks/cn/opensource/os-php-designptrns/

PHP 与 AJAX

相关文档

Windows

Debian

/etc/cron.d/php4

# Look for and purge old sessions every 30 minutes
09,39 *     * * *     root   [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | 
xargs -r -0 rm

游戏

包管理

图集

链接

相关书籍

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱