php的资料

1.语言解析:php

PHP 独特的语法混合了CJavaPerl以及PHP自创的语法。它能够比CGI或者Perl更快速地执行动态网页css

用PHP作出的动态页面与其余的编程语言相比,PHP是将程序嵌入到HTML标准通用标记语言下的一个应用)文档中去执行,nginx

执行效率比彻底生成HTML标记的CGI要高许多;PHP还能够执行编译后代码,编译能够达到加密优化代码运行,使代码运行更快。数据库

 

2.特性:apache

  PHP的特性包括:
     (1): PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

     (2): PHP能够比CGI或者Perl更快速的执行动态网页——动态页面方面,与其余的编程语言相比,编程

        PHP是将程序嵌入到HTML文档中去执行,执行效率比彻底生成htmL标记的CGI要高许多;
        PHP具备很是强大的功能,全部的CGI的功能PHP都能实现。
       (3): PHP支持几乎全部流行的数据库以及 操做系统

     (4):最重要的是PHP能够用C、C++进行程序的扩展!缓存

 

3.优点:服务器

    (1):开放源代码

        全部的PHP 源代码事实上均可以获得。

     (2):免费性编程语言

        和其它技术相比,PHP自己免费且是开源代码。分布式

    (3):快捷性

        程序开发快,运行快,技术自己学习快。嵌入于HTML:由于PHP能够被嵌入于HTML语言,它相对于其余语言。编辑简单,实用性强,更适合初学者。

    (4):跨平台性强

        因为PHP是运行在服务器端的脚本,能够运行在UNIXLINUXWINDOWSMac OS下。

    (5):效率高

        PHP消耗至关少的系统资源

    (6):图像处理

        用PHP动态建立图像,PHP图像处理默认使用GD2。且也能够配置为使用image magick进行图像处理。

    (7):面向对象

        在php4,php5 中,面向对象方面都有了很大的改进,php彻底能够用来开发大型商业程序。

    (8):专业专一

        PHP支持脚本语言为主,同为类C语言。

 

4.技术应用:

    (1):伪静态

    (2):静态页面生成

    (3):数据库缓存

    (4):过程缓存

    (5):div+cssw3c标准

    (6):大负荷

    (7):分布式

    (8):flex

    (9):桌面程序应用(不擅长)

    (10):支持MVC模型

    (11):Smarty模版引擎

 

 5.PHP5:

  PHP5在长时间的开发及多个预发布版本后,2004年7月13日,PHP5.0发布。该版本以 Zend引擎Ⅱ为引擎,而且加入了新功能如PHP Data Objects( PDO)。PHP5.0版本强化更多的功能。首先,彻底实现面向对象,提供名为 PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了 XMLWeb服务支持,并且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySQL的新界面—— MySQL。除此前的界面外,还可使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上还捆绑有小容量RDBMS-SQLite.

新对象模式

* 构造函数析构函数 * 对象的引用 * 对象的克隆 * 对象中的私有、公共及受保护模式 * 接口 (Interfaces)
* 抽象类 * __call * __set 和 __get * 静态成员
 
构造函数和析构函数
在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,而且在 PHP4 中没有析构函数的概念。
在 PHP5 中,构造函数被统一命名为 __construct,而且引入了析构函数的概念,被统一命名为 __destruct。
对象的引用
在PHP4中,传递变量给一个函数或方法,实际是把这个变量作了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号“&;” 来声明是要作一个引用,而不是一个 Copy。在 PHP5中,对象老是以引用的形式存在的,对象中的赋值操做一样也都是一个引用操做。
对象的克隆
当一个对象始终以引用的形式来被调用时,若是我想获得该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。
 
抽象
抽象类不能被实例化。
抽象类与其它类同样,容许定义变量及方法。
抽象类一样能够定义一个抽象的方法,抽象类的方法不会被执行,不过将有可能会在其派生类中执行。
__call
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。若是你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。
__set 和 __get
这是一个很棒的方法,__set 和 __get 方法能够用来捕获一个对象中不存在的变量和方法。
 
类型指示
在 PHP5 中,你能够在对象的方法中指明其参数必须为另外一个对象的实例。
静态成员
静态成员和静态方法在面象对象编程的术语中被称做 “类方法(class methods)” 和 “类变量(class variables)”。
“类方法” 在一个对象没有实例化前容许被调用。一样,“类变量” 在一个对象没有实例化前能够被独立操做控制(不须要用一个对象的方法来控制)。

异常处理

异常处理是公认的处理 程序错误的理想方法,在 Java 及 C 中都有这个概念,咱们欣喜的看到,在 PHP5 已经加入了这方面的应用。你能够尝试使用 “try” 和 “catch” 来控制程序的错误。当有错误发生的时候,代码会把错误交给 “catch” 子句来处理,在 “catch” 子句中,你须要指明要把错误交给某个对象处理,这样作可使代码结构看起来更清晰,由于咱们能够把全部的错误信息交给一个对象来处理。
 
自定义错误处理
你能够很方便的用自定义的处理错误的代码来控制你的程序中的意外。你仅仅须要从异常类中派生出一个本身的错误控制类,在你本身的错误控制类中,你须要有一个构造函数和一个 getMessage 方法。

命名空间

名称空间对类的分组或函数分组颇有用。它能够把一些相关的类或函数给组合到一块儿,方便之后调用。
例:名称空间
<?php
namespaceMath
{
classComplex
{
//...code...
function__construct()
{
print("hey");
}
}
}
$m=newMath::Complex();
?>
注意你须要在何种状况下使用名称空间,在实际运用中,你可能会须要声明两个或多个名称同样的对象来作不一样的事情,那么你就能够把他们分别放到不一样的名称空间中去(但接口是要相同的)。

加密

从PHP5.3开始支持ZendGuard加密方式,必须安装Zend Guard Loader,老的zend optimizer将不被支持。
Linux安装Zend Guard Loader支持的过程:
操做系统为CentOS5.5,PHP版本为5.3.8(CentOS5.5中的PHP默认版本较低,若是要升级到PHP最新版,可使用remi的report源进行升级)。
Windows 下面的 Zend Guard Loader 不支持php5.3.8 VC9 x86 Thread Safe而,php5.3.8 VC9 x86 Non Thread Safe 又不支持 apache。因此安装的话,就须要安装在iis或者和nginx搭配。
一、下载最新的Linux操做系统系下的Zend Guard Loader。
二、上传至Linux服务器并解压缩,注意阅读生成目录下的README文件。全文以下(添加必要的注释)。在/etc/php.d/目录下建立文件zend.ini,内容以下:
zend_extension=/usr/lib64/php/modules/ZendGuardLoader.so
注意路径必定要写上,刚开始没写路径,总是加载不上ZendGuardLoader .so,也能够直接将上面的配置写入/etc/php.ini文件中,效果同样。
三、重启httpd服务:service httpd restart。
4.输出<?php phpinfo(); ?>
PHP 5.5 正式版发布 再也不支持 Windows XP
同时 PHP 开发者也提醒用户,PHP 5.5 也包含一些不向后兼容的内容,包括:再也不支持 Windows XP 和 2003 系统;不区分大小写的匹配函数、类;常数名称跟 Locale 无关,这对一些使用非 ASCII 代码的常量名的开发者须要注意的。
相关文章
相关标签/搜索