Are there any specific design patterns or best practices recommended for calling methods within a PHP class?

When calling methods within a PHP class, it is recommended to follow the principles of encapsulation and separation of concerns. This means that methods should be called in a way that promotes code readability, maintainability, and reusability. One common best practice is to use dependency injection to pass dependencies into a class rather than instantiating them within the class itself.

class ExampleClass {
    private $dependency;

    public function __construct(DependencyClass $dependency) {
        $this->dependency = $dependency;
    }

    public function doSomething() {
        $this->dependency->someMethod();
    }
}

$dependency = new DependencyClass();
$example = new ExampleClass($dependency);
$example->doSomething();