Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logika w PHP
seaquest
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


Otóż mam sobie metodę klasy Member:
  1. <?php
  2. /**
  3.  * Finds a row by specified key
  4.  *
  5.  * @param string $key
  6.  * @return Zend_Db_Table_Row|null
  7.  * @author Michal Plachta
  8.  **/
  9. public function findByKey( string $key )
  10. {
  11. return $this->fetchRow( array( 'key = ?' => $key ) );
  12. }
  13. ?>


Wywołuję ją w sposób następujący:
  1. <?php
  2. $member = new Member;
  3. $current = $member->findByKey( $key );
  4. ?>


I co dostaję?
Cytat
Argument 1 passed to Member::findByKey() must be an instance of string, string given ...


I gdzie tu logika? Dodam tylko, że analogiczna sytuacja dla typu array działa.
Daję na Hydepark, bo nie jest to dla mnie problem nie do rozwiązania. Traktuję to raczej jako ciekawostkę. Jak ktoś uzna, że trzeba przenieść, niech przeniesie.

Ten post edytował seaquest 20.09.2007, 23:49:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


My się domagamy, bo robimy coś "więcej" niż PHP ("personal home page" czy jak to szło) ale przecież to co napisałem możliwość, czyli jak jest bez wymuszenia (czyli jak teraz bez nazwy klasy czy array) wtedy przyjmuje co dusza zapragnie, ale dać możliwość wymuszenia typu podstawowego, czy to int, string itd. Bo tak jak się chce być pewnym co się dostaje trzeba samemu sprawdzać typ... Typ zwracany jest również przydatny, bo wiadomo co na pewno zwróci, a wyjątki są w przeciwnym wypadku.
Do tego przy wymuszonych typach argumentów pojawia się przeciążenie, a to ułatwia czytanie kodu, bez zawiłych if'ów, zwiększa czytelność.

Trzeba pamiętać, że reprezentujemy raczej grupę tych bardziej zaawansowanych programistów PHP, więc musimy też pamiętać o początkujących, a jak widać nawet w dziale PHP (nie początkujących) większość nawet brak typizacji niewiele ułatwia, więc dla nich wymuszone typy, przeciążenia, ba przeciążenia to coś już zupełnie abstrakcyjnego dla nich klasy i obiekty to coś na granicy zrozumienia (tak jak dla każdego który nie miał wcześniej styczności, pamiętam jak 4 lata temu tworzyłem pierwszą klasę, bo wszyscy mówili jakie to oh i ah, ale jakoś nie pojąłem idei, teraz się z tego śmieję (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) więc dla nich też trzeba zostawić furtkę. Bo PHP dzięki temu zyskał popularność, ale musi się też rozwijać.
Go to the top of the page
+Quote Post

Posty w temacie
- seaquest   Logika w PHP   20.09.2007, 23:46:56
- - envp   ROTFL seaquest wstiiid Narzucać typ można tylk...   21.09.2007, 00:20:00
- - Jabol   @seaquest: no bo to jest logika php. Możesz wymusz...   21.09.2007, 00:26:14
- - seaquest   No właśnie, ja się nie wstydzę. To jest niekonsekw...   21.09.2007, 00:31:33
- - Sedziwoj   Do tego wymuszenie typu array jest dodane od 5.1 w...   21.09.2007, 07:35:31
- - Cysiaczek   Moim skromnym zdaniem można się jedynie przyczepić...   21.09.2007, 07:40:31
- - Sedziwoj   @Cysiaczek Nakieruj mnie na dyskusję o sprawdzaniu...   21.09.2007, 11:36:45
- - Cysiaczek   Stricte dyskusj to ja nie widziałem - powtarzam ty...   22.09.2007, 11:12:55
- - Sedziwoj   Raczej powinieneś robić: [PHP] pobierz, plaintext ...   22.09.2007, 14:04:32
- - Cysiaczek   CytatRaczej powinieneś robić: Nie chodzi...   22.09.2007, 15:14:26
- - Sedziwoj   I tak musi sprawdzać co przekazuje, czy musi spraw...   22.09.2007, 15:29:26
- - pawel_k   @Cysiaczek ale zobaczy na cos takiego jak jest w p...   22.09.2007, 18:03:44
- - athabus   Brak typowania (zarówno wejścia jak i wyjścia) to ...   24.09.2007, 10:36:43
- - Ace   Dynamiczne typy zawsze były zaletą PHP'a... Zm...   24.09.2007, 14:15:25
- - athabus   Nie mam zamiaru porzucać php ponieważ z mojej pers...   24.09.2007, 14:32:05
- - Sedziwoj   My się domagamy, bo robimy coś "więcej" ...   24.09.2007, 15:06:41
- - kwiateusz   ale przeciążanie jak i typowanie byłoby imo opcjon...   24.09.2007, 20:46:41
- - Cysiaczek   Tylko, że i tak php musiałoby sprawdza...   24.09.2007, 20:51:09
- - Sedziwoj   Cytat(Cysiaczek @ 24.09.2007, 21:51:0...   24.09.2007, 21:48:44


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: 11.10.2025 - 07:02