导航:首页 > 编程语言 > php类调用自己的方法

php类调用自己的方法

发布时间:2025-08-22 17:04:57

① 在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();//这是错误的,不能调用保护方法

你需要理解继承、公有、保护和私有的概念。

继承:子类继承父类的公有、保护属性和方法。

公有:类的实例可以访问的属性和方法。

保护:只能在类的内部及其子类内部访问的属性和方法。

私有:只能在类的内部访问的属性和方法。


这是个很基础的问题,建议你多看书。

② 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` 是要传递的参数值。

③ php 类中方法之间参数怎么调用

  1. 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

阅读全文

与php类调用自己的方法相关的资料

热点内容
java数字图像处理 浏览:819
停车场如何连接服务器 浏览:445
include的用法android 浏览:187
android银联支付接口文档 浏览:733
方舟编译器发明人 浏览:710
什么app能看奥运会 浏览:500
程序员月薪过万有多少 浏览:488
100个压力解压视频 浏览:866
西什么app下载 浏览:350
深圳程序员的工作好找吗 浏览:185
解压流体图片大全 浏览:458
手机怎么设置定位服务器地址 浏览:119
java连接mysql数据库代码 浏览:509
java标识符命名 浏览:387
公司的app如何上支付宝 浏览:88
怎么拒绝app访问桌面 浏览:922
对程序员说你 浏览:936
java毕向东35 浏览:449
北京lol区服务器地址 浏览:999
电脑文件夹怎么变英文了 浏览:272