11. Січень 2012 · Коментарі Вимкнено до кешування шляхів у kohana (routes caching) · Categories: kohana, PHP-програмування, Веб-програмування, Створення сайтів · Tags: , , ,

сьогодні нічого уже писати не хотів, проте згадав ще одну корисну річ – кешування шляхів у фреймворка kohana. мабуть, кожен, хто вмикав собі на локальному сервері профайлинг, бачив подібну штуку:

профайлинг у kohana - find_file (пошук файлів)

профайлинг у kohana - find_file (пошук файлів)

це дані про те, як так званий autoloader шукає ваші файли проекту, які ви використовуєте, та завантажує. мабуть, кожен помічав, що чим більше цих файлів, тим більше часу потрібно для їх пошуку, а коли врахувати, що відвідувачі переглянуть, скажімо, 1000 сторінок, то навіть у моєму випадку (щоправда, на ноутбуці) – це би зайняло 50 секунд процесорного часу! More »

нещодавно зіткнувся з проблемою: на сайті існує близько п’яти сотень сторінок другого рівня, де необхідно було робити запити з %LIKE. зрозуміло, що такі запити, особливо у випадках, коли повертатимуть сотні або й тисячі рядків, виконуватимуться значно довше, ніж звичайний пошук рядка за ID. основним було те, що ці сторінки (себто блоки, де потрібно було робити подібні запити) не змінюються в часі, а залишаються фактично “статичними”. коли ж на сайт заповзає пошуковий робот від гугла або яндекса та робить по запиту кожних дві секунди, то на shared hosting це досить таки непогано відчувається (за день спайдери можуть проглянути 10-15 тисяч сторінок, в той час як користувачі – лише 1000). More »

25. Листопад 2011 · Коментарі Вимкнено до kohana та проблема із завантаженням моделі · Categories: kohana, PHP-програмування · Tags: , , ,
Офіційний форум фреймворка kohana

Офіційний форум фреймворка kohana

вчора витратив майжей цілий день, намагаючись вирішити проблему, чому не виходить завантажити модель з контроллера, який знаходить у підпапці admin. у кохані всі класи (щоб підтримувалося автозавантаження) мають розміщатися в підпапках папки classes, в якій є model & controller. от у першій мають бути моделі, а у другій – контроллери. але зрозуміло, що коли ваш проект розростається, то всі контроллери скидати в одну папку – вкрай незручно, тому зазвичай доводиться робити підпапки, наприклад, для адмінки тощо. якщо у вас файл знаходиться /classes/controller/admin/supercontroller.php, то називатися він теж має відповідно Controller_Admin_Supercontroller. More »