|
|
|
| Выпущен релиз PHP 4.4.9, несмотря на твердые обещания больше эту ветку не поддерживать начиная с 1 января 2008 года. Тем не менее разработчики выпустили очередной последний релиз.
В ветке 5.3 наконец добавили пространство имен.
http://www.php.net/ | |
|
|
|
|
|
|
|
для: cheops
(14.08.2008 в 12:02)
| | > В ветке 5.3 наконец добавили пространство имен.
жаль не множественное наследование | |
|
|
|
|
|
|
|
для: mechanic
(14.08.2008 в 12:22)
| | > жаль не множественное наследование
Зачем оно нужно?
Можете привести пример когда без него не обойтись? | |
|
|
|
|
|
|
|
для: Axxil
(14.08.2008 в 12:28)
| | "обойтись" можно и без ооп | |
|
|
|
|
|
|
|
для: mechanic
(14.08.2008 в 12:30)
| | начинается...
Я конкретный вопрос задал.
Если вы пишете что вам не хватает множественного наследования, значит есть на то причины. Вот я и поинтересовался где такая необходимость у вас возникала.
А так просто выкрик с места получился. | |
|
|
|
|
|
|
|
для: Axxil
(14.08.2008 в 12:34)
| | есть такие ситуации, где множественное наследование в самый раз:
class SQL - отвечает за работу с БД
class File - работа с файлами и директориями
class XML - отвечает за создание XMLя
class Page - построение страницы, в котором было бы не плохо унаследовать все 3 предыдущих класса
|
кагбэ так | |
|
|
|
|
|
|
|
для: Lelik
(14.08.2008 в 13:26)
| | Зачем? С верху на голову только поставите иерархию... А ещё класс появится тоже будете его в Page включать? Page лучше сделать абстрактным, а от него наследовать потомков, которые будут использовать соответствующий объект (SQL, File, XML). Зачем автомобиль от кирпича наследовать, если этот кирпичь можно в автомобиль положить? | |
|
|
|
|
|
|
|
для: cheops
(14.08.2008 в 13:50)
| | А ещё класс появится тоже будете его в Page включать?
ага, мне не тяжело :)
Page лучше сделать абстрактным, а от него наследовать потомков, которые будут использовать соответствующий объект (SQL, File, XML). Зачем автомобиль от кирпича наследовать, если этот кирпичь можно в автомобиль положить?
можно с примером конкретным?
В данном случае спокойно можно разобраться в рамках MVC.
че за мвц? и што за хелперы и модели? | |
|
|
|
|
|
|
|
для: Lelik
(14.08.2008 в 14:47)
| | если тезисно - "наследование зло, лучше композиция" ) | |
|
|
|
|
|
|
|
|
для: Lelik
(14.08.2008 в 13:26)
| | Согласен c Хеопсом.
Маленькое дополнение
В данном случае спокойно можно разобраться в рамках MVC.
Page - контролёр
SQL - модель
File и XML можно обычными хелперами сделать.
И можно пользоваться в стиле:
<?
class page extends document{
public function blog(){
$items = model::load('document')->getItems(); // SQL работа
$fileHelper = helper::load('file');
foreach($items as &$item){
$item['content'] = $fileHelper->read('/path/to/content/'.$item['entity_id'].'.txt'); // Работа с файлами
}
$this->assign('items',$items);
// вызываем из родителя общий метод вывода шаблона. Имя файла шаблона вытаскиваем из xml файла конфигурации
return parent::show(helper::load('xml')->getNodeByName('template'));
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Axxil
(14.08.2008 в 12:34)
| | был у меня случай, подробно долго рассказывать ситуацию, попробую вкратце..
для определенных классов мне нужно было наследованием дать всем одинаковый метод __call, в котором была реализована часть логики работы системы, а также унаследовать методы своего класса-родителя, которому этот __call вообще никаким боком не нужен
пример Lelik, конечно, не иллюстрирует необходимость МН | |
|
|
|
|
|
|
|
для: cheops
(14.08.2008 в 12:02)
| | УЖАС! Мы же его еще год назад удачно проводили! =)))) | |
|
|
|
|
|
|
|
для: ddhvvn
(14.08.2008 в 15:22)
| | Кто проводил, а кому-то было лень переустанавливать и он сидел на 4-ой версии еще очень долго :) ВРоде бы только есяца 3-4 назад слез (а может и меньше :) ) | |
|
|
|
|
|
|
|
для: ddhvvn
(14.08.2008 в 15:22)
| | Да, получается, что Trianon зря заказывал "панихиду" - "усопший" воскрес. Почти библейская история :) | |
|
|
|
|
|
|
|
для: sim5
(14.08.2008 в 16:30)
| | >"усопший" воскрес. Почти библейская история :)
)))))))))))))))))))))))))))))))))))))))) | |
|
|
|