W jaki sposób autoloadować customowe katalogi w modułach?

0

Chciałbym osiągnąć autoloadowanie, które widac na kodzie poniżej, ale żeby moduł był dynamicznie rozkminiany przez autoloader. Innymi słowy Zend autoloaduje już katalogi: controllers, forms, models, views, a ja chcę do tego wszystkiego dołożyć swój własny. Niestety do tej pory nie udało mi się znaleźć odpowiedzi na to pytanie mimo licznych prób.

 public function _initAutoloader()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default_',
            'basePath'  => dirname(__FILE__),
        ));

        $autoloader->addResourceType('request', 'modules/default/requests', 'Requests');

        return $autoloader;
    }

Struktura:
application

  • modules
  • default
    • requests
    • controllers
  • module_example
    • requests
    • controllers
0
$autoloader->registerNamespace('bleble_');

powinno się sprawdzić (zwróć uwagę na podkreślnik na końcu).

0

@Patryk27, a czy potrafisz powiedzieć, dlaczego jedno działa, a drugie nie?

vendor/zendframework/zendframework1/library/Zend/Application/Module/Autoloader.php
Dodałem do initDefaultResourceTypes

'request'       => array(
                    'namespace' => 'Request',
                    'path'      => 'requests',
                ),

Działa.

application/Bootstrap.php

public function _initAutoloader()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Application',
            'basePath'  => dirname(__FILE__),
            'resourceTypes' => array(
                'request'       => array(
                    'namespace' => 'Request',
                    'path'      => 'requests',
                )
            )
        ));

        return $autoloader;
    }

Nie działa.

Porównałem nawet dumpy z $this i są identyczne. Chyba nie obędzie się bez grzebania w bebechach.

0

Nigdy nie bawiłem się jakoś specjalnie w bebechach ZF1 - zawsze możesz spróbować jakimś debuggerem przelecieć i zobaczyć, czy aby przypadkiem Zend_Application_Module_Autoloader nie odwołuje się po drodze do innej klasy, skoro dumpy jej samej są identyczne.

Btw, basePath masz ustawiany poprawnie?

0

autoloadować customowe to już nie da się tego po polsku napisać tylko trzeba takie g**no produkować??

1 użytkowników online, w tym zalogowanych: 0, gości: 1