在默认 index() 以外的 Class 中调用函数?

Calling a function within a Class other then default index()?

我有一个class喜欢,

class test
{

  public function index()
  {

  }

  public function home()
  {

  }

}

但是当我给 class 打电话时,

$test = new test();

它将执行默认函数 index(),我的问题是如何调用函数 home() 并忽略函数 index()?

我试图在使 class 的对象像 $test->home() 之后调用该函数,但它仍然先调用 index(),然后再调用 home()。

我们将不胜感激,

谢谢, 阿里

是的,您可以像这样添加魔法方法 __construct() 来做到这一点:

<?php

    class index {

        public function __construct() {
            echo "1";
        }

        public function index() {
            echo "2";
        }

        public function home() {
            echo "3";
        }

    }

    $obj = new index();
    $obj->index();
    $obj->home();

?>

输出:

123

如您所见,每个方法都按您的意愿调用

实例化 class 时不会调用这些函数。实例化时调用的函数是__construct().

因此,如果您只想在实例化 class 时调用 home(),请在 class.

中使用以下函数
function __construct() {
    $this->home();
}

实例化 class 将调用 __construct(),后者又将调用 home()