Возможно, вы захотите абстрагировать процесс поиска в PHP с помощью интерфейса, чтобы вы могли менять реализации, если вам это тоже нужно. Вот наивный пример:
interface CrossSiteLoader
{
public function loadURL($url);
}
class SimpleLoader implements CrossSiteLoader
{
public function loadURL($url)
{
return file_get_contents($url);
}
}
Удобно, если вам нужно локально протестировать свои данные, потому что вы можете использовать тестовую реализацию:
public ArrayLoader implements CrossSiteLoader
{
public function loadURL($url)
{
return json_encode(array('var1' => 'value1', 'var2' => 'value2'));
}
}
или если вы просто хотите перейти с file_get_contents
на что-то вроде curl