我在看ecshop源码的时候,发现了一个非常有趣的函数,在此记下:
get_object_vars() 从字面我们可以猜到,这个函数是针对类的一个方法;
语法:
array  get_object_vars(object $obj )

它的作用就是返回类中所有的非静态方法:

<?php
class object1 {
    private $a = NULL;
    public  $b = 123;
     public  $c = 'public';
      private $d = 'private';
       static  $e = 'static';
public function test(){
    echo "<pre>";
    print_r(get_object_vars($this));
    echo "<pre>";
     }
}
    $test = new object1();
      //print_r(get_object_vars($test));
       $test->test();
 ?>

输出:

Array ( 
[a] =>
[b] => 123 
[c] => public 
[d] => private
 ) 如果把//print_r(get_object_vars($test));的注释打开的话,则输出:
Array (
[b] => 123 
[c] => public
 ) 

也就是说在外面只会弹出public的非静态的属性;
OK!

最新文章

  1. WPF学习之路(十一)布局(续)
  2. PowerDesigner生成sql及HTML格式数据库文档
  3. 《CSS3秘籍》(第三版)-读书笔记(4)
  4. C++ 封装互斥对象
  5. Codeforces Round #287 (Div. 2) C. Guess Your Way Out! 思路
  6. Media Player(APP)
  7. spring security的标签库
  8. Ubuntu14.04 LTS安装不成功
  9. Java 实现折半查找
  10. Qt创建窗体的过程
  11. 监控concurrent 正在执行的sql
  12. u-boot的nand驱动写过程分析
  13. node 自动重启 nodemon
  14. Java基础学习笔记七 Java基础语法之继承和抽象类
  15. Spring Boot(二):Web 综合开发
  16. js获取客户端time,cookie,url,ip,refer,user_agent信息:
  17. tomcat+bean例子
  18. 业务ID 生成策略
  19. C++中getline()和cin()同时使用时的注意事项
  20. eclipse好玩的插件集(一) CKEditor插件

热门文章

  1. 安装nodejs6.9x以后,原来在nodejs4.2.x中运行正常的ionic项目出现问题的解决
  2. hint: not have locally. This is usually caused by another repository pushing
  3. drf07 过滤 排序 分页 异常处理 自动生成接口文档
  4. 换个语言学一下 Golang (4)——变量与常量
  5. BZOJ 2276: [Poi2011]Temperature 单调队列
  6. codevs2833 奇怪的梦境
  7. Yii2开发技巧 使用类似闭包的方式封装事务
  8. PHP websocket之聊天室实现
  9. 小白神器 - 一篇博客学会CSS
  10. 【tips】ORM - SQLAlchemy操作MySQL数据库