0

我是php oop的新手。我的问题是在同一个类文件中创建类的对象/实例是否明智?像这样:myclass.php

<?php
class myClass{
    public $a
    function myFunction()
        echo $this->a;
    }
}
$obj= new myClass;
$obj->$a='This is my class file';
?>

可能这是所有 php 专家都知道的,但这对我来说是非常新的和基本的概念。

4

1 回答 1

2

没有规则阻止在定义的同一文件中实例化该类。这一切都归结为你想用它做什么。

例如,您可以有一个实例化类并返回实例的静态方法。这对于实现单例模式工厂模式很有用。$obj然而,拥有像您在示例中定义的变量这样的全局变量被认为是不好的做法。

如果您只想在创建实例时对其进行初始化,那么您应该在构造函数中执行此操作。

例如,MyClass该类可以驻留在MyClass.php文件中:

<?php

class MyClass {
    private $a;

    public function __construct() {
        $this->a = 'This is my class file';
    }

    public function myFunction() {
        return $this->a;
    }
}

然后,在您实际想要使用MyClass实例的文件中,您可以执行以下操作:

<?php

require_once 'MyClass.php';

$myInstance = new MyClass();
echo $myInstance->myFunction();
于 2013-06-30T05:04:57.937 回答