有可能在函数之外创建一个对象以在所有函数中使用它吗?

时间:2015-10-15 18:43:46

标签: php

我的php代码有问题。 我运行ClassB.php并显示此错误:

解析错误:语法错误,意外的'$ object'(T_VARIABLE),期待函数(T_FUNCTION)

可以在函数外部创建一个对象,以便在所有函数中使用它吗?

文件“ClassA.php”,这是代码:

<?php
class ClassA
{

}
?>

文件“ClassB.php”,这是代码:

<?php
require ('ClaseA.php');
class ClassB
{
    $object = new ClassA();

    public function funa()
    {
    }
    public function funb()
    {
    }
}
?>

3 个答案:

答案 0 :(得分:0)

将它放在构造函数中,并使用对象语法分配它:

public __construct() {
    $this->object = new ClassA();
}

答案 1 :(得分:0)

您可以使用varpublic/private声明变量(尽管您不需要)。初始化通常发生在构造函数中,尽管您也可以在声明中使用常量值初始化它。

<?php
require ('ClassA.php');
class ClassB
{
    public $object = null;

    public function __construct() {
        $this->object = new ClassA();
    }

    public function funa()
    {
    }
    public function funb()
    {
    }
}
?>

答案 2 :(得分:0)

您可以在构造函数中定义对象并将其分配给ClassB属性。然后在任何ClassB函数中访问该属性。

<?php
require ('ClassA.php'); // You have written ClaseA.php here
class ClassB
{
    public $object = null;

    public function __construct() {
        $this->object = new ClassA();
    }

    public function funa()
    {
        var_dump($this->object); // I can access ClassA Object here
    }
    public function funb()
    {
        var_dump($this->object); // I can access ClassA Object here too
    }
}

$obj = new ClassB();
$obj->funa();
?>