❶ 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
类的所有的变亮名,并组成一个数组
❷ php列出一个类文件所有方法名称
$class=new Class();
$arr=get_class_methods(get_calss($class));
print_r($arr);
就可以看到 了,
主要是用了 get_class_methods( sttring class_name) 函数,
❸ php 怎么获取当前函数名称
php提供的一些系统常量可以完成这些
php获取当前方法名(函数名) __FUNCTION__
php获取当前类名 __CLASS__ 或者 get_class($this);
php获取本类所有的方法名 get_class_methods($this);实例如下
class Test{
function kkk(){
return get_class_methods(Test);
}
function meme(){
}
function myfunction(){
}
}
$y=new Test();
print_r($y->kkk());
返回结果如下
Array ( [0] => kkk [1] => meme [2] => myfunction )
php获取类中所有的成员属性,返回一个数组 get_class_vars(class name); 实例如下
class Test{
public $tt="dddd";
public $aa="aaaaaaaa";
function kkk(){
return get_class_vars(Test);
}
}
$y=new Test();
print_r($y->kkk());
返回结果如下
Array ( [tt] => dddd [aa] => aaaaaaaa )
❹ PHP中如何获得当前类的名称,而实例化后获取子类的名称
php 4.3以后新增了一个魔术常量__CLASS__,用来获得当前class名称。但是在下面的代码中,却不work。class A {
function showclass() {
echo __CLASS__;
}
}
class B extends A {}
A::showclass();
B::showclass(); 这段代码会打出两个A,而不是预想中的AB。下面这段代码,利用debug_backtrace来获得当前class名,可惜只能在php4上面work,到了php5以上,测试结果全部都是AA-___-class A {
function showclass() {
$backtrace = debug_backtrace();
echo $backtrace[0]['class'];
}
}
class B extends A {} 补充一个可以在php4/php5下work的代码class A {
function showclass() {
$backtrace = debug_backtrace();
echo ((int)PHP_VERSION> 4) ?
get_class($backtrace[0]['object']) : $backtrace[0]['class'];
}
}
class B extends A {}
❺ PHP怎么获取很多Class文件里面所有Class的方法
实例化这个class,然后就可以调用class里面的所有方法了。
实例化的方法:
首先在需要调用的php文件里面用include引入这个class文件。
include'你的class文件';
然后进行实例化,比如class名为test。
$m=newtest();
实例化后可以调用class里面的任何方法,例如有个方法名为。
$m->();
这样就成功的完成了。
❻ thinkphp5 怎么获取控制器下所有方法名称
当前操作名称 APP_PATH : 当前项目目录 APP_NAME : 当前项目名称 这些都是一些系统常量,可以在控制器里面直接调用 比如说 echo __APP__ ,
❼ thinkphp5 怎么获取当前的模块,控制器和方法名
问题解析:
thinkphp5系列需要获取当前的模块、控制器以及方法名称,可以使用自带的Request类,也可以使用request助手函数。接下来举例说明:
假设我们现在访问的地址是index/member/add,我们来获取这个地址的模块、控制器、方法名称
1、获取模块名:
echo"当前模块名称是:".request()->mole();
输出结果:
❽ 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
❾ php有没有什么函数可以获取一个方法中的参数名和参数类型的
/**
*获取一个函数的依赖
*@paramstring|callable$func
*@paramarray$param调用方法时所需参数形参名就是key值
*@returnarray返回方法调用所需依赖
*/
functiongetFucntionParameter($func,$param=[]){
if(!is_array($param)){
$param=[$param];
}
$ReflectionFunc=newReflectionFunction($func);
$depend=array();
foreach($ReflectionFunc->getParameters()as$value){
if(isset($param[$value->name])){
$depend[]=$param[$value->name];
}elseif($value->isDefaultValueAvailable()){
$depend[]=$value->getDefaultValue();
}else{
$tmp=$value->getClass();
if(is_null($tmp)){
thrownewException("{$class}");
}
$depend[]=$this->get($tmp->getName());
}
}
return$depend;
}
functiontest($a,$b=20){
echo$a,',',$b;
}
$depend=getFucntionParameter('test',['a'=>30,'b'=>40]);
call_user_func_array('test',$depend);//30,40
上面的函数是我开发的框架的容器的方法。
php提供了很完整的反射机制。不但可以反射函数,还可以反射方法,反射类构造函数。