rspec/rules/S2830/rule.adoc
2022-02-04 16:28:24 +00:00

29 lines
760 B
Plaintext

Dependency injection is a software design pattern in which one or more dependencies (or services) are injected, or passed by reference, into a dependent object (or client) and are made part of the client's state. The pattern separates the creation of a client's dependencies from its own behavior, which allows program designs to be loosely coupled and to follow the dependency inversion and single responsibility principles.
== Noncompliant Code Example
[source,text]
----
class SomeClass {
public function __construct() {
$this->object = new SomeOtherClass(); // Noncompliant
}
}
----
== Compliant Solution
[source,text]
----
class SomeClass {
public function __construct(SomeOtherClass $object) {
$this->object = $object;
}
}
----