欢迎来到phpdaily

1.require和require_once用于包含库文件时更加安全。

include和include_once则适用于模板这样的操作。

require和require_once 都是语句而不是函数。这意味着使用它们时可以省略括号。

2.使用PEAR规则可以这样做:

function __autoload($classname){

$path=str_replace(‘_’,DIRECTORY_SEPARATOR,$classname);

require_once(“$path.php”);

}

$y=new business_ShopProduct();

3.get_class_methods();得到一个类所有方法列表,需要类名作为参数,返回类中所有方法名的数组。

if(in_array($method,get_class_methods($product))){

print $product->$method;

}

4.is_callback();//接受字符串形式的方法名作为第一个参数,如果方法名存在且可被调用,返回true.如果要检测类中方法可否被 调用,可以给函数传递一个数组,数组必须包含对象或者类名,以将其作为他的第一个元素,要检查的方法名作为第二个参数,如果方法在类中存在,函数会返回 true.

if(is_callback(array($product,$method))){

print $product->$method;

}

5.method_exists();//该函数的参数为一个对象或者一个类名和一个方法名,并且如果给定方法在对象类中存在,则返回true.

php5,一个方法存在并不意味着可以被调用,对于private/producted/public方法,method_exists都会返回true.

6.get_class_vars();//接受类名作为参数,返回关联数组。返回数组中,属性名作为键名,属性值作为键值。

7.get_parent_class();//找到一个类的父类,需要一个对象名或者类名作为参数。如果存在返回父类名字,如果不存在返回false.

8.call_user_func();//可以调用方法或函数

$returnVal=call_user_func(‘myfunction’);

如果要调用一个类方法,则需要一个数组,数组的第一个元素是一个对象,第二个元素是要调用的方法名。

$returnVal=call_user_func(array($myObj,”method”));

call_user_func(array($myObj,”method”),20);//20作为参数传递过去

9.反射API

ReflextionClass提供给定类所有信息的方法。包括php自带的内置类。接受类名作为他的唯一参数。

$prod_class=new ReflectionClass(‘CdProduct’);

Reflection::export($prod_class);

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2014-07-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏.NET后端开发

C#委托使用详解(Delegates)

摘要 委托是C#编程一个非常重要的概念,也是一个难点。本文将系统详细讲解委托。 1. 委托是什么? 其实,我一直思考如何讲解委托,才能把委托说得更透彻。说实话,...

2785
来自专栏我是业余自学C/C++的

malloc、calloc、realloc

1593
来自专栏Golang语言社区

Go语言的复合数据类型

Go语言的复合数据类型是基础数据类型的组合,主要包括四个数组,切片(slice),map和结构体。 数组和结构体的大小是固定大小的,数组的元素类型是固定的,结...

2635
来自专栏猿人谷

静态成员函数和非静态成员函数的区别?

一个静态成员函数不与任何对象相联系,故不能对非静态成员进行默认访问。 它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针t...

1909
来自专栏androidBlog

java字符串对象的存储机制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/...

821
来自专栏程序员互动联盟

【编程基础】C语言指针、引用和取值

什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。“引用”表示计算机内存地址。从指针指向的内存读取数据称作指针的取值。指针可以...

3437
来自专栏顶级程序员

史上最全的Python面向对象知识点疏理

源 / Python编程 文 / 朱小朱 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类...

3765
来自专栏Danny的专栏

【J2SE快速进阶】——Java中的equals和==的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

532
来自专栏程序员互动联盟

【编程基础】C语言的变量-新手必备

大家在初学C语言的时候对各种变量之间的区别以及存储布局可能都有很多疑问,造成在使用变量的时候可能会遇到错误的地方。这里做一个简单的总结。 首先是全局变量和静态变...

34710
来自专栏Golang语言社区

切片的内部实现

type slice struct {         array unsafe.Pointer         len   int         ca...

36211

扫码关注云+社区