PHP

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(PHP8)
(PHP 与 AJAX)
 
(未显示1个用户的4个中间版本)
第24行: 第24行:
 
[[Image:Rasmus_Lerdorf.jpg]] [http://lerdorf.com/bio.php Rasmus Lerdorf: PHP 之父]
 
[[Image:Rasmus_Lerdorf.jpg]] [http://lerdorf.com/bio.php Rasmus Lerdorf: PHP 之父]
  
将 PHP 带入企业级应用: [[Enterprise PHP]]
+
*[https://pear.php.net/ PEAR] - PHP Extension and Application Repository
 +
*[https://pecl.php.net/ PECL] is a repository for PHP Extensions
 +
*将 PHP 带入企业级应用: [[Enterprise PHP]]
  
 
==新闻==
 
==新闻==
第39行: 第41行:
 
*[https://wiki.php.net/rfc Request for Comments(RFC)]
 
*[https://wiki.php.net/rfc Request for Comments(RFC)]
  
==PHP8==
+
==PHP 8==
 
[[文件:php-8.1.png|right|PHP 8.1]]
 
[[文件:php-8.1.png|right|PHP 8.1]]
*[https://www.php.net/releases/8.1/en.php PHP 8.1 Released!
+
*[https://www.php.net/releases/8.1/en.php PHP 8.1 Released!]
 
*[https://wiki.php.net/rfc/php8 Proposals for PHP 8]
 
*[https://wiki.php.net/rfc/php8 Proposals for PHP 8]
  
第160行: 第162行:
 
==PHP 与 AJAX==
 
==PHP 与 AJAX==
 
*Ajax Toolkit for PHP - SAJAX - http://www.modernmethod.com/sajax/
 
*Ajax Toolkit for PHP - SAJAX - http://www.modernmethod.com/sajax/
 +
 +
==数据库==
 +
*[https://mariadb.com/resources/blog/developer-quickstart-php-data-objects-and-mariadb/ Developer Quickstart: PHP Data Objects and MariaDB]
 +
 
==文档==
 
==文档==
 
*[https://github.com/php/doc-zh PHP 中文手册 @ GitHub]
 
*[https://github.com/php/doc-zh PHP 中文手册 @ GitHub]
第181行: 第187行:
  
 
==包管理==
 
==包管理==
 +
[[文件:packagist-logo.png|right|Packagist]]
 
*[[Composer]]
 
*[[Composer]]
 
*[https://packagist.org/ Packagist] The PHP Package Repository
 
*[https://packagist.org/ Packagist] The PHP Package Repository
第201行: 第208行:
 
==图集==
 
==图集==
 
<gallery>
 
<gallery>
 +
image:pear-package-statistics.png|PEAR包统计
 +
image:pecl-package-statistics.png|PECL包统计
 
image:weibo-mapi.png|微博MAPI
 
image:weibo-mapi.png|微博MAPI
 
image:php7-swoole-phalcon-redis-dynamodb.png|高性能配置
 
image:php7-swoole-phalcon-redis-dynamodb.png|高性能配置

2022年4月10日 (日) 16:12的最后版本

Php-90x90.png

PHP

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

目录

[编辑] 简介

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 之父

  • PEAR - PHP Extension and Application Repository
  • PECL is a repository for PHP Extensions
  • 将 PHP 带入企业级应用: Enterprise PHP

[编辑] 新闻

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

2022 PHP Landscape Report

  • 此报告是对 PHP 开发专业人士的行业调查结果,讨论了 PHP 生态系统中的技术、趋势和挑战。
  • PHP 7 占最大的市场份额,PHP 8 也有大量采用。
  • PHP 正确迁移路线:PHP 5 -> PHP 7 -> PHP 8
  • WordPress 是 PHP 生态系统中最重量级项目,占整个市场 44.16%,紧随其后 Drupal 16.88%,WooCommerce 以15%排在第三位。可以说 WordPress 占据整个 PHP 市场半壁江山。
  • Apache 是 PHP 最佳伴侣,

[编辑] 语言规范

[编辑] PHP 8

PHP 8.1

[编辑] 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 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

How To Install PHP 7.3 on Debian 9 / Debian 8

/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

[编辑] 游戏

[编辑] 包管理

Packagist

[编辑] RPM repository

Remi's RPM repository

How to Install PHP 7.4 on CentOS 8 / RHEL 8

$ sudo dnf install epel-release -y
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
$ dnf module list php
$ sudo dnf module enable php:remi-7.4
$ sudo dnf install php php-cli php-common
$ php -v
$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo vi /etc/php.ini
$ sudo systemctl restart httpd

[编辑] 图集

[编辑] 链接

[编辑] 相关书籍

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

变换
操作
导航
工具箱