Плагины. События. Конфилкт имён функций.

  • Автор темы Автор темы Чёрный
  • Дата начала Дата начала
Насчёт namespaces мне не всё понятно.

Во-первых, что-то я не заметил поддержки оных в PHP. Во-вторых, я так понимаю, есть альтернативные варианты, мне не известные, основанные на классах. В-третьих, если реализовывать пространства имён как префиксы функций, то столкнёмся с проблемой громоздких имён. Вот, например, я возьму и объявлю, что префиксом к функциям модуля и к таблицам в БД должны быть части доменного имени, записанные наоборот, затем путь к модулю, а только потом его название ;->, и всё это разделённое подчёркиванием. В случае БД всё просто - ставим везде $tprefix. А вот для функций его надо будет прописывать вручную.

Если честно, то мне не нравится внедрение в PHP5 C++ных элементов, таких как пространства имён или классы. Не думаю, что стоит что-то внедрять в язык, потому что это "модно", "круто". C++ создан для решения одних задач, PHP - для других. На мой взгляд, было бы неплохо, если бы разработчики внедрили private для функций, тем самым решилась бы проблема. Но всё это, конечно же, оффтопик...
 
Demiurg
атмосферный процессор = это машина по преобразованию атмосферных газов в воздух. На входе CO2 + [всякие вредности] на выходе => O2(O3) + H2O.

Ну все верно, если масштабируемость не заложена изначально, то приходится переписывать заново.
 
если реализовывать пространства имён как префиксы функций, то столкнёмся с проблемой громоздких имён
Это часто бывает и в случае с именами классов. Пример - Limb.
Вот, например, я возьму и объявлю, что префиксом к функциям модуля и к таблицам в БД должны быть части доменного имени, записанные наоборот, затем путь к модулю, а только потом его название
И зачем? Вы вообще ничего нормально спроектировать не можете?
 
Screjet
тогда сравнение пылесоса и атмосферной машины равносильно сравнению истребителя с подводной лодкой.
 
100%!
Но почему-то многие думают, что движок одного сайта подходит (точнее подойдет) для другого сайта. А потом приходится почти все (50-90%) переписывать. И так на десятый раз появляется у человека понятие "масштабируемость". Требования к масштабируемости.
 
я что-то не улавливаю связи между масштабируемостью и "движок одного сайта подойдет другому"
 
Demiurg
Не хочу флеймячить. На эту тему и так много чего наспорено. Я программировал и так, и так. После изучения таких тем, как рефакторинг, паттерны программирования и UML - переходить назад на процедурное программирование считаю странным занятием. ООП рулит, господа!
 
А ты не путаешь программирование с проектированием ?
 
В кратце, реализовано нечто похожее на то что ты говоришь, системка поддерживает события и плагины только у меня это компоненты :) в принципе один черт.
Если знаком с комами то схватишь быстро. Для каждого плагина создается класс и это верно. Например Menu, приимущества такие, можно расширять. От этого приимущества следует другое вынисти вызов событий в классы и от него наследовать :), но не об этом речь. Создаешь класс назавем его PlaginFactory, отдаешь ему имя плагина и версию :), получаешь объекст класа плагина далее у него вызываешь скажем RunEvent передаешь имя события и параметры. Класс же инклудом который once подгружает все что ему надо. Если не придусмотренно что все остальное нормально расприделенно по классам и код в полном бардаке, тогда тоже только PlaginFactory передаешь и событие и параметры и имя плагина, пусть вызывает в другой нитке (еще один процес пхпишный).
 
Сверху