|
|
|
| 1) Почему я должен использовать методы __call() __get() __set() если я могу написать просто функции такие же?
2)
<?php
class minmax
{
private function __call($method,$arg)
{
if(!is_array($arg)) return false;
$value = $arg[0];
if($method == "min")
{
for ($i = 0; $i < count($arg); $i++)
{
if($arg[$i] < $value) $value = $arg[$i];
}
}
if($method == "max")
{
for ($i = 0; $i < count($arg); $i++)
{
if ($arg[$i] > $value) $value = $arg[$i];
}
}
return $value;
}
}
$obj = new minmax;
echo $obj->min(321312,321312312,321321,321312,321321,321321,32132133542,5,45,34534,534,543532,42,34);
?>
|
Вот изменённый мной код... Учебник PHP 5\6 Кузнецов. Симдянов. Страница 466.
Почему массив $arg был записан на этой странице аж как $agr, $arr, $arg. Это опечатка?? этот код работает , а вот в книге не понятно. | |
|
|
|
|
|
|
|
для: reda
(06.03.2009 в 19:12)
| | >Почему я должен использовать методы __call() __get() __set() если я могу написать просто функции такие же?
Их вовсе не обязательно использовать, специальные методы - это методы, которые вызываются неявно - если вам удобно их вызывать неявно - используйте, не удобно - можно воспользоваться собственными аналогами с явным вызовом. | |
|
|
|
|
|
|
|
для: cheops
(07.03.2009 в 03:31)
| | Понял!
А второй случай... это опечатка в книге? | |
|
|
|
|
|
|
|
для: reda
(07.03.2009 в 14:32)
| | Да, опечатки, большое спасибо за то, что вы их обнаружили - если будет принято решение о переиздании, мы обязательно их исправим. | |
|
|
|