php获取类方法
A. php中,获取类里面函数的变量,的方法是
调用类中的函数的变量,外面是无法直接调用的。
要调用的话:
1、设置返回值
2、直接在函数输出
前2点@xulinjie1214 已经回答了
3、全局变量
<?php
$a=0;
class ab
{
function niya()
{
global $a;
$a=50+1;
}
}
$pp=new ab;
$pp->niya();
echo $a;
?>
B. php怎么获取分类下所有子类
这是php静态数据过早绑定的问题(即子类衡缓的all方法是从父类中继承过来的,__CLASS__常量过早的绑定成了父类名),解决这个问题:方丛拍法一:class all{ function all() { return __CLASS__; }} class my extends all{ function all() { return __CLASS__; }}//子类定义同名的方法(这其实就是覆盖了父类的方法,让__CLASS__绑定为自己的类名)echo my::all();
方法二:class all{ function all() { return get_class($this); }} class my extends all{}$my = new my();//非静态调用是不存在过早绑定的情况的。echo $my->all();
这个可以看看php5.3.0版本之后的静态迟绑定渗拦羡相关信息(static关键字)
C. PHP怎么调用其他类的方法
在Java的调用方法是import,而在PHP中没有import这个函数,一般PHP中调用其他类是用到require(),具体PHP调用其他类的方法如下:
1、首先应该先有一个文件名为tool.php的文件,在文件中声明一个类。
(3)php获取类方法扩展阅读:
类是变量与作用于这些变量的函数的集合。使用下面的语法定义一个类:
<?php
class Cart { var $items; // 购物车中的物品
// 将 $num 个 $artnr 物品加入购物车
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
} // 将 $num 个 $artnr 物品从购物车中取出
function remove_item($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num; return true;
} elseif
($this->items[$artnr] == $num) {
unset($this->items[$artnr]); return true;
} else {
return false; }
}
} ?>
上面的例子定义了一个 Cart 类,这个类由购物车中的商品构成的数组和两个用于从购物车中添加和删除商品的函数组成。
D. PHP 获取类名
在PHP中可以使用魔术方法 __CLASS__ 来获取类名
官方文档如下
如果想要得到不包含类的作用域的名称或类的作用域则需要下面两个函数
类包含作用域的名称
类作用域的名称
类不包含作用域的名称
E. php中如何找到对象所属的类
PHP内置了相关的函数可以满足你的要求。详细解答如下:
echoget_class($obj);//
不过实战中很少使用这种方式,因为获得类名并没有实际意义,只是在特殊情况下无法跟踪代码时临时调试一下而已。
实战用常用的方式是
if($objinstanceofCat)//$obj是Cat类的实例吗?
if($objinstanceofAnimal)//$obj是Animal类的实例吗?
希望以上回答能帮助到你,有用望采纳,有疑问请追问。
F. php 中如何得到一个对象的类型
得到一个对象的类型,使用gettype()函数:
<?php
echogettype(1);//输出integer
echogettype(array());//输出array
得到一个对象是哪个类的实例,使用get_class()函数:
<?php
$o=newstdClass();
echoget_class();//输出stdClass
得到一个类或对象的方法和属性,要使用反射:
<?php
classMyClass{
public$var;
publicfunctionfoo(){}
}
$ref=newReflectionClass('MyClass');
$ref->getProperties();//会返回一组对象,用法参考PHP手册
$ref->getMethods();//会返回一组对象,用法参考PHP手册
$obj=newMyClass();
$ref=newReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();