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
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Moim skromnym zdaniem można się jedynie przyczepić komunikatu. Nie od dziś wiadomo, że php nie rozpoznaje w argumentach typów prostych/atomowych/prymitywnych - jedynie typy złożone. Nie rozumiem jednak problemu, któ¶y przedstawiasz... zaglądać do manuala? Po co? Skoro możliwe są tylko array i object, to jeśli nie jest tam napisane array, to znaczy, że ten ciąg znaków przed nazwą zmiennej odnosi się do jakiegoś obiektu - to jest logiczne. Tym bardziej, że w php nie będzie nigdy możliwości wymuszena argumentu funkcji, Inna rzecz - typ zwracany, którego brak jest skandalem. Kończę, bo temat argumentów jest poruszany w wielu innych topikach.

Pozdrawiam.
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: 7.10.2025 - 08:47