我是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 专家都知道的,但这对我来说是非常新的和基本的概念。
没有规则阻止在定义的同一文件中实例化该类。这一切都归结为你想用它做什么。
例如,您可以有一个实例化类并返回实例的静态方法。这对于实现单例模式或工厂模式很有用。$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();