在上一篇文章《使用PHP中3個(gè)神奇常量快速獲取目錄、文件名和行號(hào)》中給大家介紹了3個(gè)常量獲取當(dāng)前目錄、文件名和行號(hào)的方法,有需要的朋友可以了解一下!
那么本文將給大家介紹一個(gè)在PHP面試過(guò)程中非常常見(jiàn)的一個(gè)問(wèn)題:
問(wèn)題如題“PHP如何檢查給定對(duì)象中方法是否存在”?
給你3秒能不能快速回答出答案?
沒(méi)錯(cuò),就是method_exists()
函數(shù)!
PHP method_exists() 函數(shù)就是用于檢查給定對(duì)象中的方法是否存在的,如果面試問(wèn)到這種基礎(chǔ)知識(shí),相信大家絕對(duì)能輕而易舉拿下!
下面給大家簡(jiǎn)單介紹一下method_exists()
函數(shù)的使用:
該函數(shù)的語(yǔ)法是method_exists(objectname, methodname);
其中參數(shù)objectname就表示對(duì)象示例或者類名。
參數(shù)methodname則表示方法名。
注:參數(shù) objectname 和 methodname 都是必填字段。
使用method_exists()的示例如下:
<?php class Demo { function funcdemo(){ echo 'Hello World'; } } $demo = new Demo(); if(method_exists($demo, funcdemo)) { echo '方法存在于給定對(duì)象中'; } ?>
輸出:
方法存在于給定對(duì)象中
順便給大家介紹幾個(gè)相關(guān)的函數(shù):
→function_exists()
– 如果給定的函數(shù)已經(jīng)被定義就返回 true;
語(yǔ)法:function_exists(string $function_name): bool
返回值:如果 function_name 存在且的確是一個(gè)函數(shù)就返回 true ,反之則返回 false 。
→is_callable()
– 檢測(cè)參數(shù)是否為合法的可調(diào)用結(jié)構(gòu);
語(yǔ)法:is_callable(callable $name, bool $syntax_only = false, string &$callable_name = ?): bool
返回值:如果 name 可調(diào)用則返回 true,否則返回 false。
→class_exists()
– 檢查類是否已定義;
語(yǔ)法:class_exists(string $class, bool $autoload = true): bool
返回值:如果由 class 所指的類已經(jīng)定義,此函數(shù)返回 true,否則返回 false。
PHP中文網(wǎng)平臺(tái)有非常多的視頻教學(xué)資源,歡迎大家學(xué)習(xí)《PHP視頻教程》!