Здравствуйте. Я не очень опытный в php. Так сказать подтягиваю знания. Пишу сейчас свой скрипт. Который мне выдает.... Warning: require(Z:\home\devcode.cms\www\engine/engine/data/service.php) [function.require]: failed to open stream: No such file or directory in Z:\home\devcode.cms\www\engine\bootstrap.php on line 12 Fatal error: require() [function.require]: Failed opening required 'Z:\home\devcode.cms\www\engine/engine/data/service.php' (include_path='.;C:\php\pear') in Z:\home\devcode.cms\www\engine\bootstrap.php on line 12 Файл service.php Код (Text): <?php return [ engine\service\database\provider :: class ]; Файл bootstrap.php Код (Text): <?php require_once __DIR__ . '/../vendor/autoload.php'; use engine\devcode; use engine\di\di; try { $di = new di(); $services = require __DIR__ . '/engine/data/service.php'; // init services foreach ($services as $service) { $provider = new $service($di); $provider->init(); } $devcode = new devcode($di); $devcode->run(); } catch (\ErrorException $e) { echo $e->getMessage(); } Помогите пожалуйста. Чтото не могу разобраться
ну видать и в английском не сильны? Он же четко пишет что нет такого файла по указанному пути и потом PHP: $services = require __DIR__ . '/engine/data/service.php'; а это что за чудо? почитайте про PHP: require это включение php кода, это не функция, она ничего не возвращает! и этот кусок кода PHP: <?php return [ engine\service\database\provider :: class ]; тоже бредовый, он ничего никому не вернет и не выведет
Возвращает, если в файле есть return, тут вы не правы --- Добавлено --- https://www.php.net/manual/ru/function.include.php#example-127
Возвращает, даже если нет return. --- Добавлено --- P.S. Тут дефолтом вроде 1 возвращается, если не было сбоя при подключении. P.P.S. По крайней мере «наши» любят писать «return 1;» при преждевременном «возврате из файла».
хм.. не знал, в стандартной доке не описана эта особенность ... так сказать факутальтивно... что-же: век живи - век учись ))))
Точно) Спасибо большое. Просто дело было в 3 ночи по местному времени и к тому моменту я уже изрядно подустал) По ка что пишу дальше если возникнут какиенибудь проблемы обращусь сюда. Очень оперативный форум. )
В общемто повстречал я такую ошибку) прошу опять же помощи) Fatal error: in W:\domains\devcode.ru\engine\clases\database\connection.php on line 29 29 строка это $this->link = new PDO($dsn, $config ['username'], $config ['password']); пхп шторм говорит на нее ext-pdo is missing in composer.json --- Добавлено --- Вот функция полностью Код (Text): private function connect() { $config = [ 'host' => 'localhost', 'db_name' => 'test_cms', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8' ]; $dsn = 'mysql:host='.$config['host'].' ;dbname='.$config['db_name'].' ;charset='.$config['charset']; $this->link = new PDO($dsn, $config['username'], $config['password']); return $this; }
должно сработать: composer.json Код (Javascript): "require" : { "ext-pdo": "*" } --- Добавлено --- он тебе говорит что в файле composer.json нет ext-pdo
Вот Забыл добавить что добавлял уже( ошибка сохранилась. Хотя по идее мне сейчас должна вернуться запись из базы