Stworzyłem strukturę katalogową przykładowej aplikacji przy pomocy Zend_Tool.

Według instrukcji: http://static.zend.com/topics/20090603-Webinar-ZF-1-8.pdf

Struktura katalogowa:

Kod
MyProject
   Application
      configs
         application.ini(*1)
      controllers
         ErrorController.php
         FooController.php
         IndexController.php
      models
      views
     scripts
           error
          error.phtml
           index
              index.phtml
           foo
              index.phtml
         helpers
      modules
         baz
           controllers
           models
           views
      Bootstrap.php(*2)
   Bootstrap.php(*3)


Application.ini (*1)

Kod
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

# Front Controller
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.modules[] = ""
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

# Database for default module
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = "myproject_development"

# Database for baz module
baz.resources.db.adapter = "pdo_mysql"
baz.resources.db.params.host = "localhost"
baz.resources.db.params.username = "root2"
baz.resources.db.params.password = ""
baz.resources.db.params.dbname = "myproject_development2"


Default bootstrap (*2)

  1. <?php
  2. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  3. {
  4. /**
  5.   * @return Zend_Application_Module_Autoloader
  6.   */
  7. protected function _initAutoload()
  8. {
  9. $autoloader = new Zend_Application_Module_Autoloader(array(
  10. 'namespace' => 'Default',
  11. 'basePath' => dirname(__FILE__),
  12. ));
  13. return $autoloader;
  14. }
  15. protected function _initTest()
  16. {
  17. echo 'test1<br/>';
  18. }
  19. }


Module bootstrap (*3)

  1. <?
  2. class Baz_Bootstrap extends Zend_Application_Module_Bootstrap
  3. {
  4. protected function _initTest()
  5. {
  6. echo 'test2';
  7. }
  8. }



Dwa podstawowe problemy:

1) Wywołanie http://myproject.local/baz/index/index skutkuje wyświetleniem tekstów z obu bootstrap-ów, tak jakby "działały"
jednocześnie dwa bootstrap-y, a powinien chyba "działać" tylko bootstrap modułowy?:

Cytat
test1
test2


2) Dla http://myproject.local/default/index/index oraz http://myproject.local/baz/index/index połączenie z bazą
danych jest do myproject_development,

a dla http://myproject.local/baz/index/index według ustawień w
application.ini powinno być do myproject_development2.

Czego brakuje w moich ustawieniach, aby rozwiązać te dwa problemy?