php獲取類的方法
1. php中如何找到對象所屬的類
PHP內置了相關的函數可以滿足你的要求。詳細解答如下:
echoget_class($obj);//
不過實戰中很少使用這種方式,因為獲得類名並沒有實際意義,只是在特殊情況下無法跟蹤代碼時臨時調試一下而已。
實戰用常用的方式是
if($objinstanceofCat)//$obj是Cat類的實例嗎?
if($objinstanceofAnimal)//$obj是Animal類的實例嗎?
希望以上回答能幫助到你,有用望採納,有疑問請追問。
2. 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();
3. php獲取文件mime類型的幾種方法
php獲取文件mime類型有以下幾種方法:
1、mime_content_type()函數判斷獲取mime類型
mime_content_type返回指定文件的MIME類型,
用法:
echomime_content_type('php.gif') ."\n";
echomime_content_type('test.php');
輸出:
image/gif
text/plain
但是php 5.3.0已經將該函數廢棄。如果仍想使用此函數,那麼可以對php進行配置啟用magic_mime擴展。
2、php Fileinfo 獲取文件MIME類型(finfo_open)
PHP官方推薦mime_content_type()的替代函數是Fileinfo函數。PHP
5.3.0+已經默認支持Fileinfo函數(fileinfo
support-enabled),不必進行任何配置即可使用finfo_open()判斷獲取文件MIME類型。
用法:
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
3、image_type_to_mime_type()獲取圖片MIME類型
如果需要判斷MIME類型的文件只有圖像文件,那麼首先可以使用exif_imagetype()函數獲取圖像類型常量,再用image_type_to_mime_type()函數將圖像類型常量轉換成圖片文件的MIME類型。
注意:需要在php.ini中配置打開php_mbstring.dll(Windows需要)和extension=php_exif.dll。
4、php上傳文件獲取MIME類型
如果使用php上傳文件,檢測上傳文件的MIME類型,則可以使用全局變數$_FILES['uploadfile']['type'],由客戶端的瀏覽器檢測獲取文件MIME類型。
4. php中怎麼用ReflectionClass中的方法獲取類信息
$class = new ReflectionClass('ClassName');
//獲取ClassName類的屬性
$class->getProperties()
//獲取ClassName類的方法
$class->getMethods()
5. 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;
?>
6. php獲取、檢查類名、函數名、方法名的函數方法
1.function_exists()
-
Return
TRUE
if
the
given
function
has
been
defined
2.is_callable()
-
檢測參數是否為合法的可調用結構
3.class_exists()
-
檢查類是否已定義
4.method_exists()
-
檢查類的方法是否存在
__FUNCTION__
函數名稱(PHP
4.3.0
新加)。自
PHP
5
起本常量返回該函數被定義時的名字(區分大小寫)。在
PHP
4
中該值總是小寫字母的。
__CLASS__
類的名稱(PHP
4.3.0
新加)。自
PHP
5
起本常量返回該類被定義時的名字(區分大小寫)。在
PHP
4
中該值總是小寫字母的。
__METHOD__
類的方法名(PHP
5.0.0
新加)。返回該方法被定義時的名字(區分大小寫)。
註:這些常量前後均是兩個下劃線。
get_class(class
name);//取得當前語句所在類的類名
get_class_methods(class
name);//取得class
name
類的所有的方法名,並且組成一個數組
get_class_vars(class
name);//取得class
name
類的所有的變亮名,並組成一個數組
7. PHP怎麼獲取很多Class文件裡面所有Class的方法
實例化這個class,然後就可以調用class裡面的所有方法了。
實例化的方法:
首先在需要調用的php文件裡面用include引入這個class文件。
include'你的class文件';
然後進行實例化,比如class名為test。
$m=newtest();
實例化後可以調用class裡面的任何方法,例如有個方法名為。
$m->();
這樣就成功的完成了。
8. PHP怎麼調用其他類的方法
在Java的調用方法是import,而在PHP中沒有import這個函數,一般PHP中調用其他類是用到require(),具體PHP調用其他類的方法如下:
1、首先應該先有一個文件名為tool.php的文件,在文件中聲明一個類。
(8)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 類,這個類由購物車中的商品構成的數組和兩個用於從購物車中添加和刪除商品的函數組成。
9. PHP中如何獲得當前類的名稱,而實例化後獲取子類的名稱
通過 get_declared_classes 獲取所有的類,
然後循環這個array,再通過 instance_of 檢測是否是你指定類的子類,然後push到一個數組中.
10. PHP-php怎樣自動獲取被調用的類名
(PHP 4, PHP 5)
get_class -- 返回對象的類名
說明
編輯
string get_class ( [object obj] )
返回對象實例 obj 所屬類的名字。如果 obj 不是一個對象則返回 FALSE。
注: 在 PHP 擴展庫中定義的類返回其原始定義的名字。在 PHP 4 中 get_class() 返回用戶定義的類名的小寫形式,但是在 PHP 5 中將返回類名定義時的名字,如同擴展庫中的類名一樣。
注: 自 PHP 5 起,如果在對象的方法中調用則 obj 為可選項。
<?php
classfoo{
functionfoo()
{
//implementssomelogic
}
functionname()
{
echo"Mynameis",get_class($this)," ";
}
}
//createanobject
$bar=newfoo();
//externalcall
echo"Itsnameis",get_class($bar)," ";
//internalcall
$bar->name();
?>
輸出:
Its name is foo
My name is foo