Zend 1 - alternatywna ścieżka do formularzy

Zend 1 - alternatywna ścieżka do formularzy
Webowiec
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 7 lat
0

Hej

potrzebuję określić dodatkową ścieżkę formsów dla Zenda 1.12.

Standardowa to library/Zend/Form, a prefiks formularza to Zend_Form.
mnie natomiast zależy na lokalizacji (katalog stworzony przeze mnie) application/forms/MyForm i prefiksie MyForm_

Czy ktoś mógłby poradzić mi gdzie i jak to zrobić?

edytowany 1x, ostatnio: Webowiec
QU
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 9 lat
  • Postów:65
0

Zajrzałam do jednego projektu Zendowego:

programista stworzył tam katalog application/library/Mylib/Form/

a w nim plik Contact.php

zawierający klasę:

Mylib_Form_Contact

i wszystko działa.

Tylko jeszcze w Bootstrap.php jest taka metoda:

Kopiuj
protected function _initModules() {
        
    	$frontController = Zend_Controller_Front::getInstance();
    	
    	
    	Zend_Loader::loadClass('Mylib_Form_Contact');
    	
    	
        $frontController->throwExceptions(true);
        $frontController->setControllerDirectory(array(
                'default' => APPLICATION_PATH. 'controllers/'
            )
        );
        $frontController->setModuleControllerDirectoryName('controllers');
            
    }

Czy to prawidłowe rozwiązanie? Nie mam pojęcia, ale wiem, że działające.

edytowany 2x, ostatnio: dzek69
Webowiec
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 7 lat
0

Nie działa. W dodatku nie ma tu kodu dodającego ścieżkę application/library/Mylib/Form/ (sam własnie nie wiem czy dodaje się to przez Zend_Loader, Zend_Loader_PluginLoader czy przez Zend_Loader_Autoloader_Resource).

Czytam manuala i tkwię w nim bez końca, bardzo wielu opisów wg mnie w nim brakuje

QU
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 9 lat
  • Postów:65
0
Webowiec napisał(a):

Nie działa. W dodatku nie ma tu kodu dodającego ścieżkę application/library/Mylib/Form/ (sam własnie nie wiem czy dodaje się to przez Zend_Loader, Zend_Loader_PluginLoader czy przez Zend_Loader_Autoloader_Resource).

Czytam manuala i tkwię w nim bez końca, bardzo wielu opisów wg mnie w nim brakuje

a co masz dokładnie w Bootstrap.php?

Zauważyłam, że jest w nim jeszcze coś takiego:

Kopiuj

protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default',
            'basePath'  => dirname(__FILE__),
        ),
        array(
            'namespace' => 'Mylib',
            'basePath'  => dirname(__FILE__),
        ));
        
        
        
        return $autoloader;
    	
    	
    }
Webowiec
To jest ładowanie modułów. Ja mam tylko moduł główny.
QU
No i dlatego możesz mieć tylko Zend_Form. Zrób sobie moduł będziesz mógł mieć prefixy.
Webowiec
Skąd ta pewność? W manualu nie ma zapisu, że tylko posiadanie modułów gwarantuje możliwość dodania alternatywnej ścieżki do formularzy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.