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();