Posted 5 октября, 201311 yr comment_45151 Около года назад было вскользь упомянуто, что следующей версией, после 3.4, будет 4.0. Сейчас разработка 4.0 продолжается, и для новостей разработчики решили использовать блог The Development Channel, чтобы рассказать Вам о развитии продуктов.Это перевод статьи 4.0 - Dev Introduction, опубликованной в The Development Channel.Перевод осуществил Sanshalay. Копирование без указания ссылки на IPBMafia.Ru запрещено. Записи в The Development Channel будут предназначены, в первую очередь, разработчикам различных приложений для продуктов IPS. Из всего того, что будет рассказываться, некоторые вещи могут быть всё ещё в планах, и когда они будут готовы, будет рассказано о них подробнее. Поэтому также стоит иметь в виду, что некоторые планы и сроки могут измениться. В основном, здесь будут размещаться примеры кода, скриншоты и т.д. - но всё это не является готовым продукт, и это, вероятно, будет видно. В добрый путь - давайте поговорим о 4.0! Структура каталогов В настоящее время приложения хранятся в своих папках (это либо /admin/applications, либо /admin/applications_addon/other), однако другие файлы разбросаны по разным каталогам, будь то /interface, /public и т.д. В 4.0 все файлы приложений будут храниться в своей папке, которая будет находиться в директории /application. Каталог приложения будет выглядеть примерно так: extensions dev css html img js lang interface modules admin front (теперь это "front", а не "public") setup sources tasks xml Обратите внимание на папку /dev. Это не будет средством для разработки, а скорее заменит /cache/lang_cache/master_lang. Вне каталога приложений будут только системные папки, обеспечивающие функционирование базовых классов.Пространства имён и автоматическая загрузка классов В 4.0 будут использоваться пространства имён PHP и автозагрузка классов. Функционал лучше всего продемонстрировать на примере: classDb (/ips_kernel/classDb.php) теперь называется IPSDb и расположен в /system/Db/Db.phpoutput (/admin/sources/classes/output/publicOutput.php) теперь называется IPSOutput и расположен в /system/Output/Output.phpclass_forums (/admin/applications/forums/sources/classes/forums/class_forums.php) теперь называется IPSforumsForum и расположен в /applications/forums/sources/Forum/Forum.phpIPSDispatcherFront и IPSDispatcherAdmin - это два новых класса. Их функционал, аналогичен функционалу ipsController в 3.x. "Monkey patching" Один из плюсов хуков в IPS Social Suite - это то, что Вы можете легко создать свой собственный класс и использовать его вместо основного. Раньше приходилось писать вот так: $class = IPSLib::loadLibrary( '/path/to/file', 'myClass' ); $object = new $class; Особенно, если вы хотите сделать статический метод. Однако теперь это можно сделать так: $object = new myClass; или так myClass::myStaticMethod(); Также будет возможным использование Monkey Patch и умного использования автозагрузки. Это привело к отказу от loadLibary и loadActionOverloader. Это, конечно, только начало. Следите за новостями в данном разделе. Edited 5 октября, 201311 yr by Sanshalay
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.