ホームページ  >  記事  >  バックエンド開発  >  PHP の is_callable メソッドと method_exists メソッドの比較

PHP の is_callable メソッドと method_exists メソッドの比較

WBOY
WBOYオリジナル
2016-06-13 13:08:16913ブラウズ

PHP の is_callable メソッドと method_exists メソッドの比較

私は以前に is_callable に関する記事を投稿しましたが、主に PHP マニュアルの翻訳です。ここで、理解を深めるために is_callable と mehod_exists を比較します。

?

?

?

テーブル> ?

比较内容

method_exists

is_callable

调用形式

bool method_exists ( mixed $object , string $method_name )

bool is_callable ( callback $name [, bool $syntax_only = false [, string &$callable_name ]] )

适用范围

仅适用于判断类方法

可以判断全局函数,也可以判断类方法

是否有上下文

是,会判断一个函数是否在当前环境中可调用(例如在子类中判断能否调用父类构造函数)

是否判断权限

是,在类外,判断 private protected 方法会返回 false

是否调用 __call 方法

速度

コンテンツを比較

method_exists
呼び出し可能です
お問い合わせフォーム ブール method_exists ( 混合 $object 文字列 $method_name ) ブール 呼び出し可能 (コールバック $name [, ブール $syntax_only = false [, 文字列 &$callable_name ]] )
適用範囲 判定クラスのメソッドにのみ適用されます グローバル関数とクラスメソッドを判断できます
コンテキストはありますか いいえ はい、関数が現在の環境で呼び出し可能かどうかを判断します (親クラスのコンストラクターをサブクラスで呼び出せるかどうかの判断など)
権限を決定するかどうか いいえ はい、授業の外で判断してください 非公開 と 保護されています メソッドは を返します。 false
に電話するかどうか __電話 メソッド いいえ はい
速度 クイック 遅い
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。