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

  • Автор темы Чёрный
  • Дата начала

Чёрный

Guest
Насчёт namespaces мне не всё понятно.

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

Если честно, то мне не нравится внедрение в PHP5 C++ных элементов, таких как пространства имён или классы. Не думаю, что стоит что-то внедрять в язык, потому что это "модно", "круто". C++ создан для решения одних задач, PHP - для других. На мой взгляд, было бы неплохо, если бы разработчики внедрили private для функций, тем самым решилась бы проблема. Но всё это, конечно же, оффтопик...
 

Screjet

Новичок
Demiurg
атмосферный процессор = это машина по преобразованию атмосферных газов в воздух. На входе CO2 + [всякие вредности] на выходе => O2(O3) + H2O.

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

Нечто

Психолог РНРClub
если реализовывать пространства имён как префиксы функций, то столкнёмся с проблемой громоздких имён
Это часто бывает и в случае с именами классов. Пример - Limb.
Вот, например, я возьму и объявлю, что префиксом к функциям модуля и к таблицам в БД должны быть части доменного имени, записанные наоборот, затем путь к модулю, а только потом его название
И зачем? Вы вообще ничего нормально спроектировать не можете?
 

Demiurg

Guest
Screjet
тогда сравнение пылесоса и атмосферной машины равносильно сравнению истребителя с подводной лодкой.
 

Screjet

Новичок
100%!
Но почему-то многие думают, что движок одного сайта подходит (точнее подойдет) для другого сайта. А потом приходится почти все (50-90%) переписывать. И так на десятый раз появляется у человека понятие "масштабируемость". Требования к масштабируемости.
 

Demiurg

Guest
я что-то не улавливаю связи между масштабируемостью и "движок одного сайта подойдет другому"
 

Demiurg

Guest
Ясно, что ты не так используешь это слово.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Demiurg
Не хочу флеймячить. На эту тему и так много чего наспорено. Я программировал и так, и так. После изучения таких тем, как рефакторинг, паттерны программирования и UML - переходить назад на процедурное программирование считаю странным занятием. ООП рулит, господа!
 

Demiurg

Guest
А ты не путаешь программирование с проектированием ?
 

sergeiklein

Guest
В кратце, реализовано нечто похожее на то что ты говоришь, системка поддерживает события и плагины только у меня это компоненты :) в принципе один черт.
Если знаком с комами то схватишь быстро. Для каждого плагина создается класс и это верно. Например Menu, приимущества такие, можно расширять. От этого приимущества следует другое вынисти вызов событий в классы и от него наследовать :), но не об этом речь. Создаешь класс назавем его PlaginFactory, отдаешь ему имя плагина и версию :), получаешь объекст класа плагина далее у него вызываешь скажем RunEvent передаешь имя события и параметры. Класс же инклудом который once подгружает все что ему надо. Если не придусмотренно что все остальное нормально расприделенно по классам и код в полном бардаке, тогда тоже только PlaginFactory передаешь и событие и параметры и имя плагина, пусть вызывает в другой нитке (еще один процес пхпишный).
 
Сверху