Witajcie,
Mam taki układ katalogów:
- moja aplikacja
-- apps
--- Backend
--- Core
---- Core\Config
---- Core\Drivers (Db.php)
---- Core\Main
--- Frontend
Mój plik composer.json:
{ "autoload": { "psr-4": { "Core\\": "apps/Core/", "Web\\": "apps/Frontend", "Cms\\": "apps/Backend" } }, "require": { "php": ">=7.0", "phpmailer/phpmailer": "~6.0", "monolog/monolog": "~1.23", "mpdf/mpdf": "~7.0", "twig/twig": "~2.5" }, "config": { "vendor-dir": "apps/vendor" } }
require_once ("../apps/vendor/autoload.php"); use Core\Drivers; use Core\Main; $bl = new Core\Drivers\Db();
namespace Core\Drivers; class Db { ... }
A odpaliles
composer dump-autoload
?
tak. Korzystam z phpstorm i klikam tam install/update. Wykonałem też polecenie z konsoli i nie pomogło.
Nie wie. czy to ma znaczenie, ale vendor mam tutaj: apps/vendor (composer, mpdf, autoload.php etc).
Pliki composera: composer.json, composer.phar, composer.lock są w głównym katalogu aplikacji
require_once ("../apps/vendor/autoload.php");
@trzczy jakby require nie znalazlo pliku, to bysmy nie widzieli bledu
Fatal error: Uncaught Error: Class 'Core\Drivers\Db' not found in
tylko FATAL o braku pliku
dokładnie, ścieżka w required jest poprawna
... "autoload": { "psr-4": { "Core\\": "apps/Core/Drivers/", "Core\\": "../apps/Core/", "Core\\": "../apps/Core/Drivers/", "Web\\": "apps/Frontend", "Cms\\": "apps/Backend" } }, ...
A tak na marginesie. Tutaj akurat pewnie jest zła ścieżka podana. Natomiast jak robisz:
Albo po prostu:
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)