php 面向对象之反射

news/2024/5/19 6:39:42 标签: php, api, 面向对象, 反射

反射定义的理解">个人对反射定义的理解:

首先得说说什么叫反射。对于一个新手来说,反射这个概念常常给人一种似懂非懂的 感觉,不知道该如何下手操作。

反射是指:指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,同时也包括注释。这种动态获取的信息以及动态调用对象的方法 的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。(注意:php中这种反向操作,实在PHP5之后才完全具备)

下面在此我用实例进行说明:

php">    class  test{
         private     $A;
         public      $B;
         protected   $C; 

         public function test(){
             return  "this is a test function";
         } 
   }

   //实例化一个反射类ReflectionClass
   $obj=new ReflectionClass('test'); 
   echo $obj."<br>";

   //实例化test类,并访问其test方法
   $obj2=$obj->newInstance();
   echo $obj2->test();

个人实例返回结果:

/** * xxx.php * ============================================== * Copy right 2012-2015 * ---------------------------------------------- * This is not a free software, without any authorization is not allowed to use and spread. * ============================================== * @Author:YeXianMing * @Email:LangWaiShiGe@hotmail.com * @Version:zend studio10.6.2 php5.4.38 apache2.2 */ Class [ class test ] { @@ D:\www\MyProjecttest\index5.php 13-21 - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [3] { Property [ private $A ] Property [ public $B ] Property [ protected $C ] } - Methods [1] { Method [ public method test ] { @@ D:\www\MyProjecttest\index5.php 18 - 20 } } } 
this is a test function

http://www.niftyadmin.cn/n/726264.html

相关文章

项目管理中,产品经理如何制定项目计划?

产品经理不仅关注产出&#xff0c;而更加关注过程。 产品经理得到工作量后&#xff0c;开始制定项目计划&#xff0c;最终要提交的计划中需要包含但不限于&#xff1a; 1、制定实施项目的进度计划 产品经理可以使用进度猫甘特图来制定项目计划&#xff0c;甘特图包含完成项…

Algorithm Course Review(6.1)

第6章&#xff0c;分治法&#xff0c;divide & conquer 分治&#xff0c;分而治之&#xff0c;先把问题划分为小问题&#xff0c;先解决小问题&#xff0c;然后把小问题的解组合得到的大问题的解。这跟归纳法类似之处在于&#xff0c;都是先解决小问题&#xff0c;再由小问…

while循环数据与foreach循环数组

今天无意中发现了另外一种while对数组的循环方式. while&#xff08;list(key,value) each($array)&#xff09; 这种循环方式是老一辈php程序员常用的一种方式&#xff0c;因为那个时候PHP还不支持foreach。 在此我想把while的这种循环方式与foreach进行一次对比。 比较实例如…

Selenium-webdriver系列教程(八)————如何操作select下拉框

在selenium-webdriver中定位select list的方法比较简单&#xff0c;用id和name等属性可以很方便的将select给找出来&#xff0c;但是怎么去选择下拉框中的某一项呢&#xff1f; 思路是这样的&#xff0c;首先定位到select list元素&#xff0c;然后找出该select list下所有的op…

PHP debug_backtrace() 函数

PHP debug_backtrace() 函数生成一个 backtrace 该函数返回一个关联数组。 下面是可能返回的元素function字符串当前的函数名line整数当前的行号file字符串当前的文件名object对象当前对象type字符串当前的调用类型&#xff0c;可能的调用&#xff1a; 返回: “->” - 方法调…

【AS3代码】鼠标状态

单机CLICK&#xff0c;双击DOUBLE_CLICK,按下MOUSE_DOWN,弹起MOUSE_UP,划过ROLL_OVER,划出ROLL_OUT,移动MOUSE_MOVE转载于:https://www.cnblogs.com/kingfly/archive/2012/06/29/2570236.html

php 函数func_get_args()、func_get_arg()与func_num_args()之间的比较

在PHP的官方文档上的个自定义如下&#xff1a; func_get_args():返回一个包含函数参数列表的数组。 func_get_arg():返回指定的参数值。 func_num_args():返回调用函数的传入参数个数,类型是整型。 下面写了个小实例&#xff08;For example&#xff09;&#xff1a; class …

PHP trigger_error() 函数

trigger_errror 定义如下&#xff1a; trigger_error() 函数创建用户定义的错误消息。 trigger_error() 用于在用户指定的条件下触发一个错误消息。它与内建的错误处理器一同使用&#xff0c;也可以与由 set_error_handler() 函数创建的用户自定义函数使用。 如果指定了一个不…