欢迎来到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 条评论
登录 后参与评论

相关文章

来自专栏源哥的专栏

调试工具类

import java.io.*; import java.util.*; import java.text.*; import java.lang.refle...

654
来自专栏北京马哥教育

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

? 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。class 类变量:类变量...

3396
来自专栏Java学习网

Java面试题系列之基础部分(五)——每天学5个问题

Java基础部分学习的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法,这些都是最基...

19710
来自专栏闻道于事

Java之集合初探(一)

一、集合概述、区别 集合是一种容器,数组也是一种容器 在Java编程中,装各种各样的对象(引用类型)的叫做容器。 为什么出现集合类? 面向对象语言对事物的体现都...

2267
来自专栏好好学java的技术栈

Java基础提升篇:equals()方法和“==”运算符

673
来自专栏个人随笔

房上的猫:java基础知识部分知识点

1.Java常见的注释有哪些,语法是怎样的?  1)单行注释用//表示,编译器看到//会忽略该行//后的所文本  2)多行注释/* */表示,编译器看到/*时...

35214
来自专栏JetpropelledSnake

Python面试题之Python中的类和实例

类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规范,从这个角度来看,在以后...

592
来自专栏老九学堂

想要Java高薪,必须掌握这些基础知识点!(一)

相信很多小伙伴已经听完了徐老师的Java课程,那么Java基础的知识点你真的掌握了吗?今天就跟随老九的步伐一起来复习复习Java基础的知识点吧! ? 1、在Ja...

3286
来自专栏苦逼的码农

聊一聊让我蒙蔽一晚上的各种常量池

在写之前我们先来看几个问题,假如你对这些问题已经很懂了的话,那大可不用看这篇文章,如果不大懂的话,那么可以看看我的想法。

694
来自专栏顶级程序员

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

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

3715

扫描关注云+社区