![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To może na początek tak, czytałem w maualu php5 o typach danych.
Przejrzałem też o funkcjach i nie znalazłem intereującej mnie odpowiedzi. Mianowice z tego co mi wiadomo w php5 nie ma de facto bardzo ścisłej kontroli typów danych. Jaka jest zatem różnica czy zapiszę zmienną z jej typem:
czy też tak
poza tym, że kod jest czytelniejszy i także dzięki temu pierwszemu w Zend Developement 5 mam ułatwienie w pisaniu komentarzy zgodnie ze standardech phpDocumentator? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 8.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
to spowoduje błąd parsera. 'type-hinting' może być stosowany tylko do klas i interfejsów. Dodatkowo, od php5.1 można też uzyć tego do tablic:
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak jak napisał chmolu plus...
Ścisła kontrola istnieje, tyle że musi być wymuszona. Kiedy poprosisz o konkretny typ obiektu/tablicę, to otrzymasz właśnie ten typ albo błąd... Stosuj kontrolę typów kiedy to tylko możliwe... -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Swoje pytanie zadałem właśnie nie bez powodu. Podczas pisania klasy i tuż po zainstalowaniu Zend 5 (w Zend 4 tego nie było) okazało się, że po napisaniu klasy i zastosowaniu kompntazy tak jak to zalecane jest w phpDocumentatorze pojawił się cału blok z opisem @param unknowntype $nazwa_zmiennej.
Spróbowałem więc wpisać w parametrach metod typy zmiennych (tutaj dla przykładu integer) i wtedy "code complementary" uzupełniło mi wpis na @param integer $nazwa_zmiennej sparsowałem w Zendzie i nie wyskoczył mi żaden warning. Zgadzało by się to w przypadku tego co pisał chmolu. Może macie jakiś link do artykułu o tym albo coś w tym stylu (dzięki temu uniknąłbym w kodzie wielu sytuacji z gatunku is_integer. Dzięki |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 10.12.2005 Skąd: Stalowa Wola / Wroclaw Ostrzeżenie: (0%) ![]() ![]() |
Aztech:
Integery np możesz rzutować (int)$zmienna. W ogóle chciałbym przy okazji zapytać co sądzicie o tej formie narzucania typu? -------------------- |
|
|
![]()
Post
#6
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Można to obsłużyć ręcznie przez gettype" title="Zobacz w manualu php" target="_manual.
-------------------- Łukasz Dywicki
Independent Java and open source software consultant. Blog - Java, OSGi, integracja oprogramowania.. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Swoje pytanie zadałem właśnie nie bez powodu. Podczas pisania klasy i tuż po zainstalowaniu Zend 5 (w Zend 4 tego nie było) okazało się, że po napisaniu klasy i zastosowaniu kompntazy tak jak to zalecane jest w phpDocumentatorze pojawił się cału blok z opisem @param unknowntype $nazwa_zmiennej. Spróbowałem więc wpisać w parametrach metod typy zmiennych (tutaj dla przykładu integer) i wtedy "code complementary" uzupełniło mi wpis na @param integer $nazwa_zmiennej sparsowałem w Zendzie i nie wyskoczył mi żaden warning. Bo Zend sprawdza tylko skladnie, nie sprawdza czy istnieje klasa "integer" -- choc (chyba) mozna taka utworzyc wiec dlatego nie pluje warningami. -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 22:07 |