Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] Zmiana nazwy pliku kontrolera
Forum PHP.pl > Forum > PHP > Frameworki
Sajrox
Witam,

Chciałbym stworzyć całkiem inną strukturę projektu, jednak tutaj potrzebuję zmiany nazwy pliku kontrolera. Obecnie mogę to zrobić ale zawsze musi posiadać słowo "Controller".
Generalnie chodzi o to by nazwa kontrolera składała się tylko z Controller.php

  1. $request->setControllerName('');

nie rozwiązuje problemu a powoduje tylko błąd rzecz jasna.


Czy ktoś próbował uzyskać podobny efekt.

Struktura którą chce uzyskać to:
./MODULES/{nazwa_kontrolera}/{nazw_modulu}/Controller.php
./MODULES/{nazwa_kontrolera}/{nazw_modulu}/views/{pliki_widoku}

itd...

Teraz zacząłem od utworzenia pluginu:
  1. class Plugins_AutoloaderSetup extends Zend_Controller_Plugin_Abstract {
  2. public function routeShutdown(Zend_Controller_Request_Abstract $request) {
  3.  
  4. $controller = $request->getControllerName();
  5. $module = $request->getModuleName();
  6.  
  7. Zend_Controller_Front::getInstance()->setControllerDirectory(
  8. MODULES_PATH.'/'.$controller.'/'.$module.'/'
  9. );
  10.  
  11. //$request->setControllerName('');
  12. }
  13. }


Ma ktoś jakieś pomysły ?
zend
Tworzyłem coś takiego, niestety nie mam już kodu, musisz pogrzebać w dispatcherze + z tego co pamiętam ViewRenderer. W moim przypadku polegało to na wybieraniu kontrolera zależnie od uprawnień użytkownika.
batman
Ale po co?
Jeśli chcesz korzystać z innego frameworka, to zmień ZF na to, co spełni Twoje wymagania. A jeśli będziesz potrzebował jakichś funkcjonalności, to sobie je przeniesiesz.
jarosek
Zasadniczo bez rozgrzebania kodu źródłowego się nie obejdzie. Musiała być zmienić dispatcher, i napewno ZEnd_Controller_Front.
Jak cchesz mieć takie rozwiązanie to polecamy Symfony, tam wszsytkie kontrolery nazywają się Actions.php
zend
@jarosek - nie pomagasz smile.gif Wprowadzasz ludzi w błąd pisząc o edycji frontControllera, tam nie ma niczego co trzeba by było nadpisać, conajwyżej ustawić dispatcher
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.