Nette 2.2 – ‚Dibi\Bridges\Nette\DibiNette22Extension‘ not found
- microcz
- Člen | 62
Ahoj, četl jsem už podobné vlákno https://forum.nette.org/…on-not-found ale nebyl jsem z toho moc moudrý, tak se omlouvám, jestli se opakuji.
Dříve jsem používal dibi s nette 2.1 bez problémů. Teď jsem stáhl nette 2.2 a nové dibi. Dibi jsem nakopíroval do vendor/others. Můj config vypadá následovně (udělal jsem podle examplu u dibi):
parameters:
php:
date.timezone: Europe/Prague
nette:
application:
errorPresenter: Error
mapping:
*: App\*Module\Presenters\*Presenter
session:
expiration: 14 days
extensions:
dibi: Dibi\Bridges\Nette\DibiExtension22
dibi:
host: localhost
username: tester
database: testing
lazy: TRUE
services:
- App\Model\UserManager
- App\RouterFactory
router: @App\RouterFactory::createRouter
Dostanu ale hlášku:
Fatal Error
Class 'Dibi\Bridges\Nette\DibiExtension22' not found search►
Source file
File: .../vendor/nette/di/src/DI/Extensions/ExtensionsExtension.php:24
14: * Enables registration of other extensions in $config file
15: *
16: * @author Vojtech Dobes
17: */
18: class ExtensionsExtension extends Nette\DI\CompilerExtension
19: {
20:
21: public function loadConfiguration()
22: {
23: foreach ($this->getConfig() as $name => $class) {
24: $this->compiler->addExtension($name, new $class);
25: }
26: }
27:
28: }
Poradíte co dělám špatně?
- amik
- Člen | 118
Příčin může být několik:
- přesvědč se, že skutečně máš v té složce vendor/others někde tu
třídu
Dibi\Bridges\Nette\DibiExtension22
- přesvědč se, že máš RobotLoader správně nastavený, aby indexoval složku vendor/others
- zkus smazat cache
Pokud všechny tyto 3 body sedí, bude to nějaká zákeřná chyba mezi nebem a zemí.
- Šaman
- Člen | 2666
EDIT! Tohle nemá s vendor/others
nic společného.
Zkontroluj si, jestli máš v adresáři /vendor/dg/dibi danou třídu a kdyžtak použij composer na její načtení.
=================
Původní přispěvek:
V novém sandboxu už se vendor/others
nepoužívá. Buď si ji
v bootstrapu přidej do cest, které prohledává RobotLoader, nebo si vytvoř
/libs jako dřív (aby byl /vendor jen pro composer) a do robotLoadera to budeš
muset předat stejně. :)
<?php
# bootstrap.php
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->addDirectory(__DIR__ . '/../vendor/others')
->register();
?>
Editoval Šaman (24. 11. 2014 12:30)