繁体   English   中英

在除默认index()之外的类中调用函数吗?

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

我有一个像

class test
{

  public function index()
  {

  }

  public function home()
  {

  }

}

但是当我打电话给我的班级

$test = new test();

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

在使类对象成为$ 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

如您所见,每个方法都可以随意调用

在实例化类时,将不会调用这些函数。 实例化时调用的函数是__construct()

因此,如果您只想在实例化类时调用home() ,请在类中使用以下函数。

function __construct() {
    $this->home();
}

实例化该类将调用__construct() ,后者将依次调用home()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM