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

Форум PHP

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

 

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

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

тема: Вопрос по книге "Объектно-ориентированное программирование на PHP"
 
 автор: man1   (16.04.2013 в 17:23)   письмо автору
608.7 Кб
 
 

День добрый, уважаемые создатели форума и его участники!

Хочу поблагодарить авторов книг по PHP и MySQL за замечательные книги от Вашей студии - они действительно очень толковые, в них очень хорошо преподносится материал, а также разбираются практически все мелочи и тонкости. Материал бесценный =)

Хочу уточнить некоторые детали по книге. Дело в том, что в Главе 3, "специальные методы классов", все время используется модификатор доступа "private" для методов класса, что приводит к Warning'aм в php 5.4.7.

Warning: The magic method __call() must have public visibility and cannot be static in F:\htdocs\oop\class.minmax.php on line 4

Warning: The magic method __set() must have public visibility and cannot be static in F:\htdocs\oop\class.minmax.php on line 4

Warning: The magic method __get() must have public visibility and cannot be static in F:\htdocs\oop\class.minmax.php on line 5


PHP явно говорит, что эти магические методы должны быть с public модификаторами. На обороте книги написано, что она была издана в 2007 году.

Отсюда вопрос: в 2007 году действительно для этих методов использовались "private" модификаторы или это просто опечатка редактора книги? Потому как периодически встречается код вроде вот этого:


<?php

class minmax
{
    private function 
__call($method,$arg){
        if(!
is_array($arg)) return false;
        
$value $arr[0];
        if(
$method == "min"){
            for(
$i=0;$i<count($arg);$i++){
                if(
$agr[$i] < $value$value $agr[$i];
            }
        }
        if(
$method == 'max'){
            for(
$i=0;$i<count($arg);$i++){
                if(
$agr[$i] > $value$value $agr[$i];
            }
        }
        return 
$value;
    }
    
}

?>

  Ответить  
 
 автор: man1   (19.04.2013 в 01:10)   письмо автору
 
   для: man1   (16.04.2013 в 17:23)
 

Ап! Никто не в курсе?

  Ответить  
 
 автор: psychomc   (19.04.2013 в 11:16)   письмо автору
 
   для: man1   (16.04.2013 в 17:23)
 

извините, вот серьезно, а вам не всё равно? просто книга, тем более выпущенная в 2007, не охватывает и не может охватить все тонкости языка, который постоянно развавается. книга может научить правильно мыслить, а вот как наиболее правильно применять те или иные методы, лучше смотреть тут http://php.net
если нравится и хотите учиться по книгам - покупайте книги не старше 2012 года

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

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