Skip to content

Instantly share code, notes, and snippets.

@mvriel
Created October 30, 2012 17:14
Show Gist options
  • Save mvriel/3981617 to your computer and use it in GitHub Desktop.
Save mvriel/3981617 to your computer and use it in GitHub Desktop.
Class IpRange
{
public function setStartingAddress($startingAddress)
{
InputValidator::assertValidAddress($startingAddress);
$this->startingAddress = (int) $startingAddress;
return $this;
}
}
@mvriel
Copy link
Author

mvriel commented Oct 30, 2012

Let's say I ditch the "staticness" of the InputValidator class... without dependency injection, how would I be able to check if the method was invoked?

That depends on how you make your validation methods visible; when using extension you can Stub your fixture as shown in the previous example. As a trait? You can't. Traits are effectively global state as well. SOLID has Dependency Inversion as a principle because it allows for things like testability.

@andriesss
Copy link

Extension is not an option in my case, given multiple inheritance is (unfortunately) not a language feature of PHP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment