Список инстументов RS-MINI

 

Всем доброго времени суток. Сегодня я планирую написать пару строк относительно следующей части цикла статей «создать интернет-магазин с нуля». Прежде чем мы начнем писать системные модули, нам понадобится реализовать инструментарий, который облегчит нам работу. Данная статья будет является центром подраздела «Расширение ядра RS-MINI», и будет содержать все вложенные материалы.

Что нам понадобится для того что бы приступить к реализации кабинета разработчика в RS-MINI? На самом деле нам нужно совсем немного. В статье «Реализация MVC — Контроллеры» мы уже писали некоторые методы (практически все что нам нужно уже было написано) инструментария (я про методы redirect(), getNowDate(), getTranslit() и т.д) которые в последствие я удалил из класса abstractcontroller.class.php. Все эти методы перекочевали в так называемые хелперы (Реализация этих хелперов и есть цель этого подраздела)

Что такое хелперы? Хелперы — это классы которые содержат вспомогательные методы позволяющие быстро проверить что-то, или получить что-то.

К примеру у нас будет специальный класс string.class.php в состав которого будут входить такие методы как getTranslit() (метод позволяет перевести русские символы в забугорные) и getPhoneByFormat() (метод позволяет привести номер телефона в международный формат).

Эти написанные методы облегчат нам работу тем, что они уже написаны, и в случае если нам понадобится псевдоним страницы, то подготовленный инструмент нам сэкономит время сделав необходимый псевдоним из имени страницы.

В следствие того, что я решил не создавать один мега класс (tools) с огромным набором методов, а раскидать методы по отдельным классам, и нагреб на одну проблему. Уж очень сложно запомнить в какой классе лежит тот или иной метод. А ведь нам придется еще запомнить сами имена методов (ну с этим уже ничего не сделаешь)

Поразмышляв я решил написать небольшой классик который ускорит доступ к необходимым методам. Этот класс называется helper, а классы с которыми он будет работать — хелперы. Каков функционал данного класса? Он позволит достучаться до нужного метода вот при таком синтаксисе:

helper::getTranslit('привет мир!!!');

Правда это при условии если метод имеет уникальное имя. Если же это не так, то придется писать вот так:

helper::get('string')->getTranslit('привет мир!!!');

Обратите внимание, что у класса helper будет вызываться метод get() с неким параметром. Этот параметр является псевдонимом класса хелпера (класса инструментария). Псевдонимы классов будут указываться в конфиге RS-MINI.

В общем суть подраздела в написание

  • класса helper
  • классов хелперов (инструментарии). К таким относятся (пока из придуманных мной)
    • date.class.php — методы класса позволят получить дату или преобразовать ее.
    • string.class.php — будет содержать методы работающие с текстом
    • url.class.php — сюда войдут метод редиректа, и метод позволяющий по урлу определить местоположение пользователя
    • validate.class.php — будет содержать методы которые позволят проверить тот или иной тип данных (к примеру является ли строка мылом, или телефоном). Очень понадобится при определение на корректность данных присланных юзером.
    • generation.class.php — долго думал включать его в список хелперов или нет. Этот класс позволит нам собрать небольшую статистику по генерации страницы. А именно количество исполненных SELECT запросов, количество потраченных секунд и оперативной памяти
    • cache.class.php — этот класс позволит нам, при написании модулей для системы, кэшировать некоторые данные, дабы облегчить движку его роботу, тем самым снизить нагрузку на сервер.
    • preview.class.php — этот класс позволит нам создавать превью изображений любого разрешения прям «на ходу» (довольно сложный класс)
    • parser.class.php — этот класс поможет нам сформировать из шаблона уникальный хтмл документ (эдакий мини шаблонизатор). Он понадобится, например, для формирования писем для определенного пользователя сайта. Если ему (классу) послать вот такую строку:
      «Доброго времени суток %NAME%»
      он из нее сделает вот такую:
      «Доброго времени суток Алексей»
      Надеюсь понятно объяснил Улыбаюсь
    • sendmail.class.php — этот класс позволит нам без особого труда послать электронное письмо.

Честно говоря пока точно не знаю, такой ли будет список в конце нашего цикла. На данный момент я склоняюсь к объединению классов date, string и url, но пока не решился...

Помимо самих инструментарий, в этом разделе, я планирую создать:

  • точки монтирования шаблонов
  • и механизм триггеров

Я пока не обдумывал конкретно как это будет работать, поэтому расписывать ничего не стану. Пускай будет как памятка, что бы не забыть Улыбаюсь

Заключение

На этом я закончу данную заметку, но буду продолжать ее обновлять по мере написания нового материала (так что можете закинуть эту страницу в закладки, что бы ничего не пропустить Улыбаюсь).

Если У вас есть какие либо вопросы, обязательно задавайте.

Всего Вам наилучшего, на сегодня все!

Материал раздела «Расширение ядра RS-MINI»

 

Возможно Вам будут интересны следующие заметки

Комментарии (0)

Ваше имя *
Сайт
Ваш E-mail *
Ваше сообщение *
 
Вы не подтвердили условия политики конфиденциальности.
К данной статье пока нет комментариев.