Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Методы класса, аксессора и т.д.
 
 автор: reda   (06.03.2009 в 19:12)   письмо автору
 
 

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. Это опечатка?? этот код работает , а вот в книге не понятно.

  Ответить  
 
 автор: cheops   (07.03.2009 в 03:31)   письмо автору
 
   для: reda   (06.03.2009 в 19:12)
 

>Почему я должен использовать методы __call() __get() __set() если я могу написать просто функции такие же?
Их вовсе не обязательно использовать, специальные методы - это методы, которые вызываются неявно - если вам удобно их вызывать неявно - используйте, не удобно - можно воспользоваться собственными аналогами с явным вызовом.

  Ответить  
 
 автор: reda   (07.03.2009 в 14:32)   письмо автору
 
   для: cheops   (07.03.2009 в 03:31)
 

Понял!

А второй случай... это опечатка в книге?

  Ответить  
 
 автор: cheops   (11.03.2009 в 22:51)   письмо автору
 
   для: reda   (07.03.2009 в 14:32)
 

Да, опечатки, большое спасибо за то, что вы их обнаружили - если будет принято решение о переиздании, мы обязательно их исправим.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования