一些函式已經被廢棄或者移除,請不要使用它們
相關函式
第二個引數用來決定如果尚未載入,是否使用自動載入。
class_exists ( string $class_name [, bool $autoload = true ] ) : boolinte***ce_exists ( string $inte***ce_name [, bool $autoload = true ] ) : bool
trait_exists ( string $traitname [, bool $autoload = true ] ) : bool
示例 - 廣泛的類存在性檢查函式
function common_class_exists(string $class): bool
method_exists ( mixed $object , string $method_name ) : boolproperty_exists ( mixed $class , string $property ) : bool
示例 - 實現乙個**函式,使用者可通過方法或者屬性來定義**的 url
trait redirectsusersreturn property_exists($this, 'redirectto') ? $this->redirectto : '/home';
}}
is_a ( object $object , string $class_name [, bool $allow_string = false ] ) : boolis_subclass_of ( object $object , string $class_name ) : bool
示例
inte***ce a {}inte***ce b {}
class basefoo implements b {}
class foo extends basefoo implements a{}
$foo = new foo();
// 物件
is_a($foo, 'basefoo'); // true
is_a($foo, 'foo'); // true
is_a($foo, 'a'); // true
// 類
is_a('foo', 'basefoo'); // false
is_a('foo', 'basefoo', true); // true, 傳入第三個引數,代表允許使用類名而不是示例
is_subclass_of($foo, 'foo'); // false
is_subclass_of($foo, 'basefoo'); // true
is_subclass_of($foo, 'b'); // true
實際情況中,更多的是使用操作符instanceof
$foo instanceof foo; // true$foo instanceof a; // true
$foo instanceof b; // true
class_alias()
- 為乙個類建立別名
class_alias ( string $original , string $alias [, bool $autoload = true ] ) : bool
示例 - 類別名載入器,用於管理類的別名
class aliasloaderpublic function load($alias)
}}class longlonglonglongfoo {}
$aliases = [
'foo' => 'longlonglonglongfoo',
'bar' => 'longlonglonglongbar',
];$loader = new aliasloader($aliases);
$loader->load('foo');
$foo = new foo();
var_dump($foo); // object(longlonglonglongfoo)#3395
這些函式在實際中很少需要用到
foreach (get_declared_classes() as $class)
相關函式
get_called_class ( void ) : arrayget_class ([ object $object = null ] ) : string
get_parent_class ([ mixed $obj ] ) : string
示例 - 丟擲異常時獲取異常的類
throw (new modelnotfoundexception)->setmodel(get_called_class());
示例 - 獲取類中的所有訪問器屬性
class foopublic function gettextattribute()
public static function getmutatormethods()
}foo::getmutatormethods()
// [
// "fullname",
// "text",
// ]
PHP之類與物件
定義乙個car類並例項化乙個物件 class car car new car car name 寶馬 echo car getname 2.一般通過 物件操作符來訪問物件的屬性或者方法,對於靜態屬性則使用 雙冒號進行訪問。當在類成員方法內部呼叫的時候,可以使用 this偽變數呼叫當前物件的屬性。我們...
php陣列函式庫
提取陣列中key在key arr中的元素 param array source arr 原陣列 param string key arr key作為值組成的陣列 return mode 陣列 function array extract key array source arr,key arr if...
tf 函式庫與np 函式庫的轉換
前言 在對演算法模型進行部署的時候,往往需要做一些工作。以xilinx開發板部署tf框架模型為例,首先需要對訓練好的ckpt模型進行freeze得到.pb模型,之後,對其進行量化 編譯生成elf檔案,然後在板卡上通過main.cc函式呼叫pb模型的輸入 輸出節點對網路模型進行計算,注意這裡的計算分為...