在默认 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()
。
我有一个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()
。