![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 0 Dołączył: 7.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzam klase w Zend_Frameworku. I mam taką metodę w klasie Zend_Db_Table_Abstract o nazwie 'select'.Która ma zawratość :
I zwraca mi taki ciąg znaków " SELECT `album`.* FROM `album` " zamiast obiektu .Sprawdzałem za pomocą instrukcji echo.O co tu chodzi? proszę o pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 26 Dołączył: 2.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zend_Db_Table_Select to praktycznie taki QueryBuilder.
A dlaczego zastosowanie echo zwraca Ci stringa, zamiast obiektu? Zend_Db_Table_Select posiada metodę assemble() (która nadpisuje metodę klasy bazowej - patrz niżej), która "wypluwa" normalne zapytanie SQL. Zend_Db_Table_Select dziedziczy po Zend_Db_Select, który to posiada implementację magicznej metody __toString():
W momencie, kiedy robisz echo $select, wywoływane jest __toString(), czyli praktycznie assemble(). Chcesz, żeby Ci zrzuciło obiekt, to skorzystaj z var_dump albo print_r albo wbudowanego w Zenda: Zend_Debug::dump() (taki var_dump na sterydach). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 05:50 |