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





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Brak typowania (zarówno wejścia jak i wyjścia) to jest coś co mnie osobiście strasznie drażni w php. Czasami jak mam funkcję, która może przyjmować kilka różnych parametrów i do tego w różnych zestawach - np. raz 2 inty innym razem 1 obiekt itp, to po kilku dniach sam nie mogę się połapać w if'ach jakich użyłem żeby to wszystko sprawdzić.
Typowanie + przeciążenia bardzo by się przydały. Dla kompatybilności wstecz można by zostawić tak jak ktoś wspominał wartość domyślną w funkcji mix i tyle. Wtedy i wilk byłby syty i owca cała. Kontrola typu zwracanego to krok w dobrą stronę, ale jeśli musiałbym wybierać, to wolę kontrolę typów na wejściu niż wyjściu.

Ale najbardziej w tej całej sytuacji denerwuje mnie tłumaczenie, które pojawia się we wszystkich informacjach na ten temat - typowanie jest nie zgodne z ideą... Co to za argument... Może warto podać coś bardziej merytorycznego... albo chociaż powiedzieć w prost, że w chwili obecnej nie ma kto tego zrobić, bo jest za mało ludzi. Chyba trudno spotkać programistę php, który nie chciałby typowania w php więc zasłanianie się ideą php jest co najmniej śmieszne.

No cóż może za 5-6 lat jak wyjdzie php7 to ktoś to przemyśli i poprawi.
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 - 21:59