, , , .
-, - / ( ) , , URL- , , Symphony /, .
, - . , , , , - , , . , , ( ) .
, , URL- , ( ), , URL- . , URL-. ( , ), :
interface IValidator
{
public function IsValidURL($url);
}
class Foo
{
public function SaveURL($url, $validator)
{
if (!$validator instanceof IValidator)
throw new Exception("Invalid validator providen to Foo!");
if (!$validator->IsValidURL($url))
throw new Exception("The URL $url is not valid!");
}
}
class SymphonyValidator implements IValidator
{
public function IsValidURL($url)
{
}
}
var foo = new Foo();
var validator = new SymphonyValidator();
foo->SaveURL("invalidUrl", validator);
, , . , - : " , URL- ? ", ( , URL- , infra/app)
, , URL- , - (, Validator true?), . , , , , , ( , -, , , API ..).