我是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专家来说,这可能是众所周知的,但对我来说这是一个非常新的基本概念。
答案 0 :(得分:1)
没有规则阻止在定义的同一文件中实例化类。这一切都归结为你想用它做什么。
例如,您可以使用静态方法来实例化类并返回实例。这对于实施singleton pattern或factory pattern非常有用。然而,在您的示例中使用变量$obj
之类的全局变量被认为是不好的做法。
如果您要做的只是在创建实例时初始化实例,那么您应该在the constructor中执行此操作。
例如,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();