Возможно, не вид "подсказки", которую Вы искали, но я должен сказать что мой опыт после нескольких лет перемещения от C++ & STL к C++ & повышение & STL - то, что я теперь трачу партия меньше времени в GDB, чем я привык для. Я подавил это ко многим вещам:
boost::bimap
является большим для общего шаблона LRU кэширующаяся логика. Там идет другая "куча" времени GDB. boost::test
АВТОМАТИЧЕСКИЕ макросы означают, что это - абсолютный пустяк для установки тестовых сценариев ( легче, чем CppUnit). Это ловит много материала задолго до того, как он встроен во что-либо, к чему необходимо было бы присоединить отладчик. boost::bind
облегчают дизайну для теста. например, алгоритмы могут быть более универсальными и менее связаны с типами, на которые они воздействуют; это делает включение их в тестовые контейнеры/прокси/фиктивные объекты и т.д. легче (это и то, что воздействие шаблону-tasticness повышения поощрит Вас "сметь обрабатывать по шаблону" вещи, которые Вы никогда не рассматривали бы прежде, приводя к подобным преимуществам тестирования). boost::array
. "C выстраивают" производительность, с проверкой диапазона в сборках отладки. Плагины
Плагины позволяют выполнять код в ответ на определенные события, либо основные события Joomla, либо пользовательские события, которые запускаются из вашего собственного кода. Это мощный способ расширения основных функциональных возможностей Joomla.
Компоненты
Компоненты - это основные функциональные единицы, которые отображаются в вашем шаблоне, такие как система управления контентом, контактные формы, веб-ссылки и тому подобное. Обычно они отображаются в центре области основного содержимого шаблона (в зависимости от шаблона).
Модули
Более легкое и гибкое расширение, используемое для визуализации страницы, - это модуль. Модули используются для небольших фрагментов страницы, которые, как правило, менее сложны и могут быть видны в различных компонентах. Иногда модули связаны с таким компонентом, как основной модуль последних новостей.
Расширения
Компоненты, языки, модули, плагины и шаблоны, вместе известные как Расширения.
Модули и компоненты отображаются на странице.
Плагины работают за кулисами и могут делать множество вещей, например заменять контент с другим контентом, выполнять поиск, выполнять функции входа / выхода или что-нибудь действительно сложное, что вы можете себе представить.
На странице может быть только один компонент . Когда вы выбираете пункты меню, вы фактически выбираете компонент, который вы хотите отображать на странице. Переменные для компонента сохраняются один раз (в базе данных), поэтому у вас не может быть нескольких экземпляров компонента!
С другой стороны, модули добавляются несколько раз. У вас может быть много модулей на одной странице . Фактически, у вас может быть 100 экземпляров одного и того же модуля на одной странице. Переменные модуля хранятся для каждого экземпляра. (в базе данных).
Вот почему шаблоны joomla имеют один заполнитель для компонента и много заполнителей для модулей.
Модуль может быть добавлен к отдельной странице (элемент меню), выбранным страницам или всем страницам.
Помните, что элемент меню действительно является выбором компонента. Каждый пункт меню сохраняет переменные в базе данных, поэтому можно вводить информацию об отображении компонента. Например, какой идентификатор страницы должен отображать компонент контента.
В серверной части компоненты могут иметь множество внутренних настроек и функций и «делать» гораздо больше вещей, чем модуль.
Примеры компонентов:
Примеры модуля: