Всем привет, очень нужна помощь гуру пхп.
Структура каталога приложения
clip2net.com/s/3MfKbng
автолоадер:
spl_autoload_register(function($class_name) {
$file = str_replace('\\', '/', realpath(dirname(__FILE__)) . '/' . $class_name . '.php');
include_once($file);
});
Класс Parser
<?php
namespace core;
use vendor\Curl\Curl;
class Parser {
public $url;
public $query = array();
public $host = NULL;
public $referer = NULL;
public $errors = array();
public $html;
public $blacklist;
function __construct($url,$options = array())
{
$this->url = $url;
foreach($options as $name => $value) {
$this->{$name} = $value;
}
$this->_init();
}
public function request()
{
$curl = new Curl();
}
Вызов:
use core\Parser;
$parser = new Parser($url);
Запутался я как работают пространства имен. Вылетает ошибка
Fatal error: Class 'vendor\Curl\Curl' not found in D:\xampp\htdocs\parser\panel\core\Parser.php on line 32
Физически все файлы на месте. Файл Класса Parser подключается, инициализируется, но как только доходит до использования класса curl вылетает ошибка. Суть в том что каким образом обьявить дополнительный класс через пространиства имен? Поидее все логично класс Parser находится в namespace Core, далее "use vendor\Curl\Curl;" - на сколько я понял это позволяет подключить дополнительный класс Curl, который может находится вообще в другом месте, как вспомогательный, что и надо. Но далее класс не найден, а файл вроде как подключается с ним. В общем я запутался.
Класс Curl
clip2net.com/s/3MfKVHy - тоже в норме. Он работает если тупо все инклюдами подключать.