php取类名
‘壹’ php获取类名的一个问题(基类获取子类名)
从父类中获得子类名称,并不是不可能,
但是,这样做严重违背设计原则,属于设计错误。设计上不及格。。
应该检讨自己的需求和模型设计。
把具体应用情况说一说,我看看哪里做扭曲了
‘贰’ PHP中如何获得当前类的名称,而实例化后获取子类的名称
通过 get_declared_classes 获取所有的类,
然后循环这个array,再通过 instance_of 检测是否是你指定类的子类,然后push到一个数组中.
‘叁’ PHP 获取类名
在PHP中可以使用魔术方法 __CLASS__ 来获取类名
官方文档如下
如果想要得到不包含类的作用域的名称或类的作用域则需要下面两个函数
类包含作用域的名称
类作用域的名称
类不包含作用域的名称
‘肆’ 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怎么命名比较规范
1、类
类名每一个单词首字母大写,如类名StudentCourse。
2、常量
常量名所有字母大写,单词间用下划线分隔,如常量名NULL、TRUE、FALSE、ROOT_PATH等。
3、变量
为了保证代码的具有良好的可读性,一般要求在同一个软件系统中,变量的命名原则必须统一。
如变量的命名可以为第一个单词首字母小写,其余单词首字母大写(驼峰);
还可以采用单词所有字母小写,单词之间用下划线分割。
4、数组
数组是一个可以存储多个数据元素的容器,因此在为数组命名是,尽量使用单词的复数形式。
5、函数
函数的命名规范和变量名的命名规范相同。通常函数都是执行一个动作的,因此函数命名时,一般函数中会包含动词。
6、数据库表字段
数据库表字段的命名规范和变革两名的命名规范相同。
7、类文件
PHP类文件命名时通常以.class.php为后缀,文件名和类名相同。
‘陆’ php列出一个类文件所有方法名称
php获取当前类所有方法名称的函数:get_class_methods(class name),class name指类名,调用后会返回类中所有方法组成的数组。
此外,类似功能的语句还有
get_class(classname);//取得当前语句所在类的类名
get_class_vars(classname);//取得classname类的所有的变亮名,并组成一个数组
‘柒’ 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 a{
var $curIns;
function __construct(){
$this->curIns= get_class($this);
}
}
class b extends a{
function __construct(){
parent::__construct();
echo $this->curIns;
}
}
new b(); //这里会输出b
‘玖’ php 怎么获取当前函数名称
使用__FUNCTION__
function test()
{
echo __FUNCTION__; // test
}
test();