Багатьох початківців користувачів, вперше стикаються з Cotonti, привертає простота коду цього фреймворка. Дійсно, в плані юзабіліті і простоти коду з Cotonti можуть позмагатися деякі фреймворки. Однак на певному етапі у кожного користувача виникає проблема нестачі функціоналу або його невідповідності вимогам веб-сайту. Насправді в цьому немає нічого негативного: Cotonti пропонує своїм користувачам тільки самий необхідний функціонал. Всі додаткові і часто "немасові" можливості користувач Cotonti нарощує самостійно. Для цього існує два способи: хак і плагін. Зупинимося на кожному з них докладно.
Отже, з тих чи інших причин можливості движка вас не влаштовують. Рішення очевидні: виправити або доповнити. способів цього, як говорилося раніше, два: використання хака або встановлення модулів.
Що таке хак і в чому його переваги і недоліки?
Хак - це безпосереднє зміна програмного коду, в нашому випадку PHP-коду ядра фреймворку. Простий приклад хака файлу page.inc.php:
і отримуємо тег виведення року створення сторінки.
До речі, більшість розробників починали свій шлях в LDU / Seditio / Cotonti саме з хаков. Причин цьому дві:
- Хак створюється буквально за пару хвилин
- Хак не вимагає знань роботи движка
Однак як у всіх хороших речей, у хаков є серйозним недоліки:
- Хакі створюють відчутні незручності при переході на нову версію движка
- Дуже часто хакі відкривають проломи в системі захисту
Чим плагіни краще хаков?
Модулі позбавлені недоліків хаков, хоча і вимагають розуміння структури движка і базового знання PHP. Що стосується термінів, то при знанні особливостей системи і невеликому досвіді написання, плагіни створюються досить оперативно.
Як приклад спробуємо реалізувати попередню задачу за допомогою плагіна:
Як бачимо, в нашому випадку плагін фактично являє собою хак, оформлений відповідно до вимог системи управління сайтом. Однак плагін, на відміну від хака, продовжить виконувати свою функцію при оновленні системи і позбавить вас від виснажливого перенесення ваших "ручних" правок з версії у версію.