Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] i hosting na home.pl
darko
post
Post #1





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam. Jak powszechnie wiadomo, aby uruchomić poprawnie działającą aplikację opartą o Zend Framework na home.pl należy ustawić ścieżki bezwzględne dla przekierowań:
  1. $this->_helper->Redirector->setUseAbsoluteUri(true);


W wersji hard można dodać tę linię kodu przed każdym przekierowaniem. W wersji soft można wrzucić tę linię kodu do metody _init() każdego kontrolera, który używa przekierowań. Szukam rozwiązania w wersji superlight, takiego, że zmieniam coś/dodaję tę linię kodu w jednym tylko miejscu i mam spokój.
Pytanie: czy poprawne/dozwolone/prawidłowe/wskazane byłoby gdybym dodał
  1. $this->_helper->Redirector->setUseAbsoluteUri(true);
do ciała metody init() klasy abstrakcyjnej Zend_Controller_Action (plik: /library/Zend/Controller/Action.php) ? Czy też jakoś inaczej można rozwiązać powyższy problem zachowując jedyny warunek modyfikacji w jednym tylko miejscu ?
Pozdrawiam.

ps. właściwie dziedziczenie po tej klasie, nadpisanie tej metody i następnie zmiana każdego kontrolera nie wchodzi w grę. Z góry dziękuję za jakąkolwiek pomoc.
ps 2. w sumie też chodzi o to czy nie naruszę w żaden sposób licencji (new BSD) modyfikując źródła frameworka Zend? Chyba nie.

Ten post edytował darko 31.03.2010, 13:05:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
zend
post
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

Ostrzeżenie: (0%)
-----


Dobrym zwyczajem jest tworzenie własnych klas typu Application_Controller_Action && Application_Db_Table && Application_Form i dziedziczenie po nich, co w przyszłości oszczędza duużo zachodu, możesz we wszystkich plikach kontrolerów zastąpić Zend_Controller_Action => Application_Controller_Action i tam wprowadzić zmianę, albo
  1. Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector') -> someActionsOnIt();


Wybierz sam co Ci najbardziej pasuje
Go to the top of the page
+Quote Post
darko
post
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


To wiem, jednak mi chodzi o to, żeby w ogóle nie ruszać istniejącego kodu, nie zmieniać kontrolerów (zależy mi na utrzymaniu jednej wersji dla hostingów typu home.pl i tej samej dla pozostałych, normalnych, i żeby jedyna różnica polegała na podmianie/dodaniu tej jednej linii kodu).
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Spróbuj dodać to ustawienie w Bootstrapie lub pluginie. Niestety nie mam teraz zbytnio czasu, by sprawdzić ten sposób.
Go to the top of the page
+Quote Post
zend
post
Post #5





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

Ostrzeżenie: (0%)
-----


Widać za mało napisałem (IMG:style_emoticons/default/smile.gif) Ten kod który podałem wstawiasz do bootstrapa albo do pliku index.php i niczego nie musisz ruszać oprócz index.php
Go to the top of the page
+Quote Post
darko
post
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedzi, już sobie poradzę dalej. Pozdrawiam.
Go to the top of the page
+Quote Post
martq
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 19.06.2008

Ostrzeżenie: (0%)
-----


A może umieścić tą linie kodu w jakimś pluginie?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 13:12