| Autor | Zpráva | ||
|---|---|---|---|
| Vader Profil |
#1 · Zasláno: 10. 8. 2011, 17:10:40
V dole uvedenom scripte mi vypíše
TEXT TEXT TEXT Catchable fatal error: Object of class nazov could not be converted to string in C:\xampp\htdocs\Music\test.php on line 13 a čo upraviť aby to fungovalo ? <?
class nazov{
function nazov() {
echo nazov::text();
}
function text() {
return "TEXT TEXT TEXT";
}
}
echo(new nazov()); |
||
| etexweb Profil |
#2 · Zasláno: 10. 8. 2011, 17:14:10 · Upravil/a: etexweb
|
||
| Joker Profil |
#3 · Zasláno: 10. 8. 2011, 17:15:28
Vader:
„Object of class nazov could not be converted to string“ „Objekt třídy nazov nemůže být převeden na řetězec“, to zvládne i Google Translate. Na posledním řádku se do echo dává objekt, zatímco správný vstup pro echo je text. |
||
| Majkl578 Profil |
#4 · Zasláno: 10. 8. 2011, 17:57:48 · Upravil/a: Majkl578
Vader:
1. Aby to fungovalo, třída by musela obsahovat metodu __toString.
2. Konstruktory tříd se nepojmenovávají stejně jako třída samotná, nýbrž __construct.
3. Volat nestaticky definované metody staticky je špatně. 4. Při statickém volání metod stejné třídy se používá self/static.
5. PHP kód se začíná <?php, ne <?.
class Foo
{
public function __construct()
{
echo static::text();
}
public static function text()
{
return "TEXT TEXT TEXT";
}
}
new Foo; |
||
| Lamicz Profil |
#5 · Zasláno: 10. 8. 2011, 18:46:19
Jenom dodám, že static::text(); je pro PHP 5.3 a vyšší - Late Static Binding. Pro nižší verze se používalo self::
|
||
|
Časová prodleva: 15 let
|
|||
0