niezgodność typów argumentów metody, error: must be an instance of string, string given - wtf? |
niezgodność typów argumentów metody, error: must be an instance of string, string given - wtf? |
20.04.2007, 19:14:05
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.06.2006 Skąd: Coventry, UK Ostrzeżenie: (0%) |
cześć,
mam interfejs:
i implementację w MySQLUserDAO. testuję to sobie i dostaję taki błąd: Cytat Argument 1 passed to MySQLUserDAO::findUsersByFornameSurnameOrEmail() must be an instance of string, string given, called in (...) wywołanie w teście wygląda tak:
czy te typy argumentów to muszą być typy zdefiniowane przeze mnie, a nie wbudowane w PHP? Ten post edytował Can I 20.04.2007, 19:18:53 -------------------- stay all night, we're save the population
flash / flex / web developer |
|
|
20.04.2007, 19:26:36
Post
#2
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 23.09.2006 Ostrzeżenie: (0%) |
Zmienna $queryStr musi być obiektem klasy string inaczej nie wypali
|
|
|
20.04.2007, 19:32:23
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.06.2006 Skąd: Coventry, UK Ostrzeżenie: (0%) |
no a nie jest?
czyli zgaduję, że w PHP5 nie ma jakiegoś auto-boxingu i wbudowanej klasy string czy String, czyli sam bym sobie musiał zdefiniować -------------------- stay all night, we're save the population
flash / flex / web developer |
|
|
20.04.2007, 19:37:19
Post
#4
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 23.09.2006 Ostrzeżenie: (0%) |
Sam chciałem tak kiedyś zrobić ale też się nie dało więc doszedłem właśnie do takiego wniosku jak Ty.
Możesz w funkcji sprawdzać typ zmiennej co jest lepsze niż tworzenie nowej klasy dla stringów |
|
|
20.04.2007, 19:38:11
Post
#5
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Taki zapis
oznacza, że do metody przekazany ma zostać obiekt typu string. W PHP nie ma "wbudowanych" obiektów, tak jak ma to miejsce na przykład w C#. W podanym przez Ciebie przykładzie, do metody przekazujesz łańcuch znaków, a nie obiekt string i przez to zgłaszany jest błąd. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
20.04.2007, 23:46:27
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.06.2006 Skąd: Coventry, UK Ostrzeżenie: (0%) |
rozumiem
-------------------- stay all night, we're save the population
flash / flex / web developer |
|
|
20.04.2007, 23:52:22
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
I wymuszac da sie, jak pamietam, tylko obiekty i tablice.
-------------------- Nie lubię jednorożców.
|
|
|
21.04.2007, 00:00:55
Post
#8
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) |
dobrze pamietasz
-------------------- |
|
|
21.04.2007, 18:20:38
Post
#9
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
I to jest w manualu, więc nie rozumiem czemu od razu nie odesłaliście...
http://www.php.net/manual/en/language.oop5.typehinting.php" title="Zobacz w manualu PHP" target="_manual Cytat PHP 5 introduces Type Hinting. 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).
-------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
21.04.2007, 18:37:48
Post
#10
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) |
Sedziwoj: w manualu wszystko jest ;-)
-------------------- |
|
|
21.04.2007, 18:41:12
Post
#11
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Sedziwoj: w manualu wszystko jest ;-) Ha ha ha, bardzo śmieszne. Tam masz opisany język, ale nie jak go używać. To że wiesz jak się tworzy obiekt, nie oznacza że umiesz programować obiektowo. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 12:28 |