Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dziwny błąd
kajzur
post 2.05.2009, 11:28:32
Post #1





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Catchable fatal error: Argument 2 passed to goods::addGoods() must be an instance of integer, integer given, called in C:\Program Files\WebServ\httpd-users\all\index.php on line 16 and defined in C:\Program Files\WebServ\httpd-users\all\class.php on line 140

Dostaje taki błąd.. Dziwny ponieważ można przetłumaczyć go jakos: argument drugi podany do goods::addGoods() musi być typem integer, integer podany, w C:\Program Files\WebServ\httpd-users\all\index.php on line 16 and defined in C:\Program Files\WebServ\httpd-users\all\class.php on line 140

O co mu chodzi jeśli kurde dałem mu integer a w deklaracji klasy również jest integer:
  1. <?php
  2. public function addGoods($nazwa, integer $kategoria, $opis, double $cena, integer $ilosc)
  3. ?>


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
Go to the top of the page
+Quote Post
decha-design
post 2.05.2009, 11:43:59
Post #2





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

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


może dasz trochę wiecej kodu co?


--------------------
Go to the top of the page
+Quote Post
wookieb
post 2.05.2009, 11:55:21
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl.php.net/oop5.typehinting
Cytat
Functions are now able to force parameters to be objects (by specifying the name of the class in the function prototype) or arrays (since PHP 5.1).


U ciebie coś takiego oznacza że parametr musi być egzemplarzem klasy integer. A twój parametr jest zmienna typu integer a nie egzemplarzem klasy.


--------------------
Go to the top of the page
+Quote Post
kajzur
post 2.05.2009, 13:42:06
Post #4





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Hm, a da się wymusić jakoś typ? Hm?


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
Go to the top of the page
+Quote Post
wookieb
post 2.05.2009, 13:45:24
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Na poziomie składni php to nie. Musisz dodać odpowiedniego ifa.
np
  1. <?php
  2. // jezeli zmienna nie jest Integerem to narazie
  3. if(!is_int($zmienna)) return false;
  4. ?>


--------------------
Go to the top of the page
+Quote Post
kajzur
post 2.05.2009, 13:46:53
Post #6





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Kurcze szkoda.. Dzięki smile.gif


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2025 - 23:28