A. 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 )
B. PHP怎么调用其他类的方法
在Java的调用方法是import,而在PHP中没有import这个函数,一般PHP中调用其他类是用到require(),具体PHP调用其他类的方法如下:
1、首先应该先有一个文件名为tool.php的文件,在文件中声明一个类。
(2)php调用当前类方法扩展阅读:
类是变量与作用于这些变量的函数的集合。使用下面的语法定义一个类:
<?php
class Cart { var $items; // 购物车中的物品
// 将 $num 个 $artnr 物品加入购物车
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
} // 将 $num 个 $artnr 物品从购物车中取出
function remove_item($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num; return true;
} elseif
($this->items[$artnr] == $num) {
unset($this->items[$artnr]); return true;
} else {
return false; }
}
} ?>
上面的例子定义了一个 Cart 类,这个类由购物车中的商品构成的数组和两个用于从购物车中添加和删除商品的函数组成。
C. php 类中方法之间参数怎么调用
class A
{
public $bb,$cc;
function othersomething()
{
return $this->cc;
}
}
function dosomething()
{
$bb = $this->bb;
$othersomething = $this->othersomething();
}
方法的参数是新定义一个变量,注意是新定义,方法结束自动销毁,
2.PHP类中方法定义的参数与调用时的参数名称可以不同。
带默认值的就是指当这些参数没有给出的时候可以按照预定义内容进行赋值(按参数顺序调用)。
functiontext($i,$a="test1",$test="test2"){
echo"<h1>{$i}</h1>";
echo"<h1>{$a}</h1>";
echo"<h1>{$test}</h1>";
}
2.调用:
text("test");
----显示
test
test1
test2
text("test","test3","test4");
----显示
test
test3
test4
D. 在php中如何设置类的属性,如何调用类的方法
PHP访问类的属性、方法使用箭头语法(->)。这里我给你一个例子供你参考:
<?php
classMyClass{//定义MyClass类
public$name;//定义了一个公有属性
protected$_age;//定义了一个保护属性
private$_email;//定义了一个私有属性
publicfunctionmy_method(){//定义my_method方法
}
protectedfunction_my_method2(){//定义_my_method2方法
}
}
$obj=newMyClass;//实例化
$obj->name='noname';//设置name属性
$obj->_age=12;//这是错误的,不能设置保护属性
$obj->address='KingStreet.'//设置一个未声明的属性是允许的,效果和公有属性类似,但未赋值前不能使用。
$obj->my_method()//调用公有方法
$obj->_my_method2();//这是错误的,不能调用保护方法
你需要理解继承、公有、保护和私有的概念。
继承:子类继承父类的公有、保护属性和方法。
公有:类的实例可以访问的属性和方法。
保护:只能在类的内部及其子类内部访问的属性和方法。
私有:只能在类的内部访问的属性和方法。
这是个很基础的问题,建议你多看书。
E. php中根据类名怎么动态获取已定义的类对象并动态调用某个方法
在 PHP 中,可以通过类名来动态获取已定义的类对象,然后再调用类的方法。可以使用以下两个函数来实现:
1. `class_exists()` 函数可以判断一个类是否已经定义。
2. `call_user_func()` 函数可以动态调用一个方法。
下面是示例代码:
```
// 判断类是否已定义
if (class_exists('ClassName')) {
// 实例化类对象
$obj = new ClassName();
// 动态调用方法
call_user_func(array($obj, 'methodName'));
}
```
在这个示例中,`ClassName` 是要动态获取的类名,`methodName` 是要调用的方法名。首先,使用 `class_exists()` 函数判断类是否已经定义,如果已经定义,则使用 `new` 关键字实例化类对象,并将其赋值给 `$obj` 变量。然后,使用 `call_user_func()` 函数动态调用方法。`array($obj, 'methodName')` 表示要调用 `$obj` 对象的 `methodName()` 方法。
需要注意的是,如果要调用的方法需要传递参数,可以在 `call_user_func()` 函数的第二个参数之后依次添加参数值。例如,如果要传递一个参数,可以这样调用:
```
call_user_func(array($obj, 'methodName'), $param1);
```
其中,`$param1` 是要传递的参数值。