php怎么再类内调用方法
时间 : 2023-03-28 10:39:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 PHP 中,要从一个类的内部调用其它方法,需要使用 `$this` 关键字。`$this` 是指向当前对象的指针,可以用来引用当前对象的属性和方法。

调用类内方法的一般语法是:

$this->methodName();

其中,`methodName` 是要调用的方法名。

下面就举个简单的例子来说明这个问题。假设我们有这样一个 `Person` 类:

```php

class Person {

private $name;

public function __construct($name) {

$this->name = $name;

}

public function sayHello() {

echo "Hello, my name is " . $this->name . "\n";

}

public function introduceYourself() {

$this->sayHello();

echo "I'm a person\n";

}

}

在这个例子中,`Person` 类有两个公共方法:`sayHello` 和 `introduceYourself`。其中,`sayHello` 方法输出了一个表示自己的问候语,而 `introduceYourself` 方法则调用 `sayHello` 方法,并输出一条自我介绍的信息。

为了调用 `sayHello` 方法,`introduceYourself` 方法内部使用了 `$this` 关键字。具体来说,代码 `$this->sayHello();` 调用了 `sayHello` 方法,并输出了问候信息。

接下来,我们可以创建一个 `Person` 对象,然后调用其 `introduceYourself` 方法,来验证这个例子:

```php

$person = new Person("John");

$person->introduceYourself();

上面的代码输出如下内容:

Hello, my name is John

I'm a person

这表明我们已经成功地从类的内部调用了其它方法。

在PHP中,类方法可以从类内部和外部访问。调用类方法需要使用对象实例或者静态类名称。

在类内部调用方法,可以使用$this关键字,$this指向当前对象实例。

例如:

class MyClass {

private $name = "PHP";

public function welcome() {

echo "Welcome to " . $this->name;

}

}

$obj = new MyClass();

$obj->welcome(); // 输出:Welcome to PHP

上述代码中,在welcome方法内部使用$this关键字,指向当前对象实例,输出欢迎词。

需要注意的是,如果该方法为静态方法,不能使用$this关键字调用。在静态方法中,应该使用self关键字来指向类本身。

例如:

class MyClass {

private static $name = "PHP";

public static function welcome() {

echo "Welcome to " . self::$name;

}

}

MyClass::welcome(); // 输出:Welcome to PHP

上述代码中,welcome方法为静态方法,使用self关键字来指向当前类本身。

总结:

在PHP中,类方法可以在类内部和外部调用。

在类内部调用方法,可以使用$this关键字,指向当前对象实例。

在静态方法中,不可使用$this关键字,需使用self关键字,指向类本身。