Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Zend] Przekazywanie zmiennych
sleedz
post 20.01.2012, 10:46:05
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


Witam.
Chcę przekazać zmienną z bootstrap do klasy w bibliotece i nie za bardzo wiem jak to zrobić. A nigdzie nie ma nic na ten temat.
Pozdrawiam
Go to the top of the page
+Quote Post
Psajkus
post 20.01.2012, 11:00:15
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


w bottstrapie:
  1. Zend_Registry::set('moja_zmienna', $zmienna);


w klasie:
  1. $moja_zmienna = Zend_Registry::get('moja_zmienna');
Go to the top of the page
+Quote Post
ShadowD
post 20.01.2012, 12:42:33
Post #3





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Może przekazać w parametrze lub stworzyć jakiś getter? Nie wiem czy rejestr to dobra opcja..


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
Psajkus
post 20.01.2012, 12:59:48
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


Cytat(ShadowD @ 20.01.2012, 12:42:33 ) *
Nie wiem czy rejestr to dobra opcja..


Dlaczego niedobra?
Go to the top of the page
+Quote Post
snapshot
post 20.01.2012, 13:19:42
Post #5





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

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


Zend_Registry to czyste zło. Równie dobrze można korzystać z global. Z tego co pamiętam to w bootstrap robisz metodę chronioną _initZmienna, zwracasz w niej wartość którą chcesz uzyskać. Potem w kontrolerze odwołujesz się do tego poprzez:
  1. $bootstrap = $this->getInvokeArg('bootstrap');
  2. $this->locale = $bootstrap->getResource('zmienna');


--------------------
ZF developer
Go to the top of the page
+Quote Post
Psajkus
post 20.01.2012, 13:43:06
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


hmm... musze poczytac i spradzic czy to takie wielkie zuo wink.gif

dot. tenatu:
jak chcesz pobrac zmienna w sposob podany przez @snapshot, ale nie w kontrolerze to robisz tak:
  1. $zmienna= Zend_Controller_Front::getInstance()
  2. ->getParam('bootstrap')
  3. ->getResource('zmienna');
Go to the top of the page
+Quote Post
snapshot
post 20.01.2012, 14:07:31
Post #7





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

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


Można tak, ale jest to podobne do wcześniej wspomnianego Zend_Registry. Od tego jest kontroler aby przekazywać do obiektów z bibliotek dane. Oczywiście tak jest wygodniej, ale po jakimś czasie albo kod stanie się nie elastyczny, albo nie będziemy w stanie zapanować nad aplikacją. Takie jest moje zdanie w tym temacie smile.gif


--------------------
ZF developer
Go to the top of the page
+Quote Post
ShadowD
post 20.01.2012, 15:25:10
Post #8





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Cytat(snapshot @ 20.01.2012, 14:07:31 ) *
Można tak, ale jest to podobne do wcześniej wspomnianego Zend_Registry. Od tego jest kontroler aby przekazywać do obiektów z bibliotek dane. Oczywiście tak jest wygodniej, ale po jakimś czasie albo kod stanie się nie elastyczny, albo nie będziemy w stanie zapanować nad aplikacją. Takie jest moje zdanie w tym temacie smile.gif

Właśnie dlatego sądzę, że rejestr nie służy do tego, dodając zmienną do niego udostępniasz ją CAŁEJ aplikacji, a w jakim celu widok ma znać np. dane połączenia z mysql? (Przykład przejaskrawiony, ale oddaje sens)

Rejestr jest bardzo często porównywany do zmiennych globalnych i jest to moim zdaniem słuszne porównanie, bo różnic nie sposób podać oczywiście pomijając implementację język z core zf.


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
snapshot
post 20.01.2012, 16:01:23
Post #9





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

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


Dokładnie to samo napisałem wyżej smile.gif


--------------------
ZF developer
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 10.07.2025 - 07:40