Спустя 3 минуты, 32 секунды (26.08.2011 - 10:49) linker написал(а):
Нет, она возвращает объект ввиде строки
class MyClass
{
public function __toString()
{
return 'Я экземпляр класса ' . get_class($this);
}
}
$obj = new MyClass();
echo $obj;
Спустя 3 минуты, 3 секунды (26.08.2011 - 10:52) m4a1fox написал(а):
linker
Цитата |
она возвращает объект ввиде строки |
Хм, но я же могу и так сделать
class MyClass
{
public function tring()
{
return 'Я экземпляр класса ' . get_class($this);
}
}
$obj = new MyClass();
echo $obj->tring();
Спустя 5 минут, 48 секунд (26.08.2011 - 10:58) linker написал(а):
Да, но ты не можешь сделать так
class MyClass
{
public function __toString()
{
return 'Я экземпляр класса ' . get_class($this);
}
}
function _print($var)
{
echo $var;
}
$str = 'А я строка';
$obj = new MyClass();
_print($str);
_print($obj);
Спустя 6 минут, 47 секунд (26.08.2011 - 11:05) m4a1fox написал(а):
linker
class MyClass
{
public function tring()
{
return 'Я экземпляр класса ' . get_class($this);
}
}
function _print($var)
{
echo $var;
}
$str = 'А я строка';
$obj = new MyClass();
_print($str);
_print($obj->tring());
Спустя 1 час, 10 минут, 7 секунд (26.08.2011 - 12:15) linker написал(а):
Ок, раз так не хочешь, значит по другому :)
class A
{
public function __toString()
{
return 'Я экземпляр класса ' . get_class($this);
}
}
class B
{
public function __toString()
{
return 'А я вырос из класса ' . get_class($this);
}
}
function get()
{
switch(rand(1,3))
{
1 : return new A();
2 : return new B();
3 : return 'Я строка';
}
}
echo get();
Спустя 6 минут, 5 секунд (26.08.2011 - 12:21) m4a1fox написал(а):
linker
Ага! Тут отличия вижу! И все же, где в реальности это применяется? ЧИсто исходя из практики? Вы применяли это где нибудь?
Ага! Тут отличия вижу! И все же, где в реальности это применяется? ЧИсто исходя из практики? Вы применяли это где нибудь?
Спустя 9 минут, 18 секунд (26.08.2011 - 12:31) linker написал(а):
Да, применяю, когда в определённых случая мне нужна пара Класс::Идентификатор дабы не заморачиваться строка там или объект, тупо echo.
Спустя 34 минуты, 54 секунды (26.08.2011 - 13:05) Guest написал(а):
$obj = new A();
$string = (string) $obj;
$string = (string) $obj;