1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP的面相对象性和异常处理函数

作者:用户 来源:互联网 时间:2017-12-01 17:05:16

php异常函数处理面相对象性

PHP的面相对象性和异常处理函数 - 摘要: 本文讲的是PHP的面相对象性和异常处理函数, 面向对象性 1、类中的预定方法 _construct( ):构造方法;_destruct( ):析构方法;_get( ):访问器;_set( ):修改器;_clone( ):克隆方法;_toString( ):返回字符串描述;_call(

面向对象性


1、类中的预定方法

_construct( ):构造方法;_destruct( ):析构方法;_get( ):访问器;_set( ):修改器;_clone( ):克隆方法;_toString( ):返回字符串描述;
_call( $method,$p ):重载方法,其中$method是方法名,$p是参数列表数组;     public function _call($method,$p){          if($method == 'display'){               if( is_array($p[0])) {         operation;     }               else if(is_Integer($p[0])) {     operation;     }                    }          }
_autoload( ):自动加载,不是一个类方法,是一个单独函数,在同一个<?php?>范围内尝试包含或请求任何用来初始化所需类的文件,如:<?phpfunction _autoload($name){     require_once ($name.".php");}$object1 = new MyClass1();$object2 = new MyClass2();?>//该函数将自动寻找脚本中可以解析为$name.php 文件的类或变量,之后执行函数内的方法体;//自动加载含有MyClass1和MyClass2类的php文件,并创建MyClass1和MayClass2的实例;
$this:访问本类指针;

2、魔术变量

_FILE_ :返回文件所在当前目录到根目录的一个目录结构;_LINE_ :返回在文件中的行号;_FUCTION_ :返回当前的函数名;_CLASS_ :返回当前的类名;_METHOD_ :返回该方法被定义时的名字;


3、类常量 Pre-Class

该常量可以在不需要初始化该类的情况下使用,申明关键字:const如:<?phpcalss Math{     const pi = 3.14;  }Math::pi;?>


4、类外对类中的数据域和函数的引用

实例函数或数据: $math -> add();静态/类常量 :     Math :: pi

5、关键字:

const:类常量声明关键字;static:静态关键字;abstract:抽象声明关键字;extends:继承关键字;implements:接口关键字;final关键字:声明类中的某个函数不能在任何子类中重载;instanceof:可转换关键字;clone:克隆关键字(需要在原class中创建一个 _clone()方法);          $c = clone $b;
PHP不支持多重继承;


6、转发调用:

self::      转发至自身本类;parent::     转发至父类;static::      转发至一开始调用的方法的子类,后期静态绑定,不载解析当前方法所在的类,而是实际运算时计算的;
后期静态绑定(late static binding):父类可以使用子类重载的方法,允许一个静态继承的上下文对一个被调用类的引用;

7、使用Reflection API(反射类)

可以用于了解所反射类中的信息;<?phpclass Page{     }$class = new Reflection("Page");   //自动寻找本脚本中的Page类,并由此创建一个反射echo "<pre>".$class."</pre>";?>

异常处理


※php中,异常必须手动抛出;使用 try{     } catch( ){     } 结构抛出和捕获处理异常;

异常类:

Exception($message,code): $message:处理异常的提示信息;code:异常出现的函数;(两个参数可选)
getCode( ):返回出传递给构造函数的代码;getMessage( ):返回传递给构造函数的消息;getFile( ):返回异常的代码文件的完整路径;getLine( ):返回异常代码所在的行数;getTrace( ):返回一个包含了产生异常的代码回退路径的数组;getTraceAsString( )_toString:


以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 异常 , 函数 , 处理 , 面相 对象性 ,以便于您获取更多的相关知识。