Is it recommended to pass objects as parameters to methods or use a handler class to store objects in class variables for easy access in PHP?
When deciding whether to pass objects as parameters to methods or use a handler class to store objects in class variables for easy access in PHP, it is generally recommended to pass objects as parameters to methods. This promotes better encapsulation and reduces dependencies between classes, making the code more modular and easier to maintain. However, if multiple methods within a class require access to the same object, using a handler class to store and retrieve the object can be a viable solution.
class Handler {
private $object;
public function setObject($object) {
$this->object = $object;
}
public function getObject() {
return $this->object;
}
}
class MyClass {
private $handler;
public function __construct() {
$this->handler = new Handler();
}
public function setObject($object) {
$this->handler->setObject($object);
}
public function doSomething() {
$object = $this->handler->getObject();
// Use $object to perform actions
}
}
$myObject = new MyObject();
$myClass = new MyClass();
$myClass->setObject($myObject);
$myClass->doSomething();