Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dziwny błąd
Forum PHP.pl > Forum > Przedszkole
kajzur
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. ?>
decha-design
może dasz trochę wiecej kodu co?
wookieb
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.
kajzur
Hm, a da się wymusić jakoś typ? Hm?
wookieb
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. ?>
kajzur
Kurcze szkoda.. Dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.