欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
PHP
小 (→简介) |
小 (→PHP 与 AJAX) |
||
(未显示1个用户的2个中间版本) | |||
第162行: | 第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] | ||
第183行: | 第187行: | ||
==包管理== | ==包管理== | ||
+ | [[文件:packagist-logo.png|right|Packagist]] | ||
*[[Composer]] | *[[Composer]] | ||
*[https://packagist.org/ Packagist] The PHP Package Repository | *[https://packagist.org/ Packagist] The PHP Package Repository | ||
第203行: | 第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
目录 |
[编辑] 简介
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语言的核心引擎
- PEAR - PHP Extension and Application Repository
- PECL is a repository for PHP Extensions
- 将 PHP 带入企业级应用: Enterprise PHP
[编辑] 新闻
您可以在Wikipedia上了解到此条目的英文信息 PHP Thanks, Wikipedia. |
- 此报告是对 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
[编辑] PHP7
- PHP7将于2015年11月12日正式发布。
- PHP7 @ Zend
- PHP 7 - New Engine For The Good Old Train
- 鸟哥,PHP7核心开发者,他的博客要看
- 让你的PHP7更快(GCC PGO)
- PHP7 VS HHVM (WordPress)
- 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
自 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 应用开发。
[编辑] 项目
- Awesome PHP
- PHP ecosystem
- CakePHP
- Symfony
- PHP on Trax
- Code Igniter
- Biscuit
- Pipeline
- PRADO
- BlueShoes
- Zend Framework
- AjaxAC
- P4A
- WACT
- Horde
- Seagull
- studs
- php.MVC
- Phrame
- Ambivalence
- binarycloud
- rwfphp
- FastFrame
- Krysalis
- LogiCreate
- Brim
- MMCache
- PHPXref
- Smarty
- Tencent Server Framework 业务逻辑服务协程框架
- Swoole
[编辑] 编译器虚拟机
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 设计模式
- 工厂模式
- 单体模式
- 观察者模式
- 命令链模式
- 策略模式
更多细节: http://www-128.ibm.com/developerworks/cn/opensource/os-php-designptrns/
[编辑] PHP 与 AJAX
- Ajax Toolkit for PHP - SAJAX - http://www.modernmethod.com/sajax/
[编辑] 数据库
[编辑] 文档
- PHP 中文手册 @ GitHub
- 使用 PHP 创建定制 SSO 登录页面和注销页面
- PHP 程序加速探索 - http://x.discuz.net/174393/viewspace_47001.html
[编辑] 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
[编辑] 游戏
[编辑] 包管理
[编辑] 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
[编辑] 图集
[编辑] 链接
- PHP官网
- PHP Presentation System
- PHP Related Links
- http://www.zend.com/
- http://www.hotscripts.com/PHP/
- http://php.resourceindex.com/
- PHP China
- Exceed PHP
- 中国PHP联盟
- developerWorks 中国 PHP项目资源
- Huihoo PHP Applications
- PHP开放文档
[编辑] 相关书籍
- 深入理解PHP内核(Thinking In PHP Internal) 开放图书项目
- PHP Programming
- 源码和ebook下载
- PHP和MySQL Web 开发(原书第3版)