[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание классов с одинаковыми именами
CamerRoMan
Вобщем, разрабатываю возможность работы скрипта с модулями(классами)
вот так выглядит дерево каталогов в скрипте в который добавляются эти модули.
Код
[skript_dir]
      |_[dir1]
      |_[dir..]
      |_[module_dir]
          |_[modul1]
          |     |_[plugin_dir]
          |          |_[plugin1]
          |          |_[plugin..]
          |_[modul...]

запускается фаил modules.php который просматривает папку [module_dir] и находит там классы и объявляет.

Дело в том, что, походу дела нужно, чтобы сами модули могли являтся иногда и плагинами для других модулей(например: модуль "шифрование" можно закинуть в папку с модулем "обработки_файла" но при этом имя класса в этом случае дублируется и объявляется 2-жды, поскольку оно-же является и модулем и плагином для "обработка_файла". Почему не использовать уже объявленный класс?? да их дохрена, некогда даж разбираться был он или не был и было ли там такое имя, и "васче", чесно говоря скрипт генерируется, впадло парсить какие плуги были скопированы, проще задать какому модулю нужны какие подмодули для корректной работы.
Каким образом можно реализовать "вот это вот" не проверяя был ли объявлен класс? Пробовал юзить namespaces и use, но чесно говоря не знаю даж как к этому подойти, не говоря уже о том что на серваке php 4 и возможности поставить 5.3.0 нет.



Спустя 8 дней, 19 часов, 43 минуты, 49 секунд (10.11.2008 - 18:06) str_replace написал(а):
Не претендую на идеальный ответ, но... мне кажется, что в данном примере - "шифрование" - это не модуль, а общая библиотека, которую можно использовать в модуле "Обработка файла", "Секретные пароли", "Имена подруг" и т.п.

Т.е. создать папку "libs/" в корне, например,
[skript_dir]
|_[dir1]
|_[dir..]
|_[libs..]
и там хранить библиотеки шифрования, загрузки файлов и т.п.


_____________
<?PHP print "Take your chance to make it better"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.