Kohana. Ускоряем ORM

kohanaШтатный ORM у Kohana практически на каждое шевеление создаёт запрос “SHOW CREATE TABLE blablabla“.

Я как-то не придавал этому значения раньше, но похоже этот запрос довольно ёмкий по времени, у меня он почему-то занимает до пол-секунды в плохую погоду (погода зависит от текущей загрузки хостинга). А если страница пестрит обращениями к БД, которые делаются через ORM, то ждите того, что треть запросов будет именно “SHOW CREATE TABLE“.

Как бы сделать так, чтобы ORM так не делал? Ведь структура таблиц работающего сайта практически не меняется годами!

Решение простое! Нужно немного переопределить метод list_columns класса ORM так, чтобы он кешировал структуру таблицы и дважды не бегать.

Читать далее »


Категории Kohana |
автор: altesack / Среда, Май 04, 2011 / 7 комментов »


Kohana. Модуль Image

kohana Модуль Image это просто суперский модуль! С его помощью программист на Kohana может легко и не сильно вдаваясь в детали обрабатывать изображения. Можно конечно залезть в библиотеку GD и делать всё там вручную. Но так пусть делают у кого времени вагон. А нам нужен результат, и быстро.

У модуля один только недостаток. Нет описания. То есть его просто нет (на момент написания материала мануал по модулю был пуст). И я спешу хоть немного восполнить пробел

Хоть всё можно подсмотреть в коде, тем не менее попробую дать небольшое описание этому модулю. Без претензий на полноту, только в качестве начального толчка.

Читать далее »


Категории Kohana |
автор: altesack / Среда, Апрель 27, 2011 / Comments Off


Как написать парсер HTML на PHP

Дык HTML парсить - это вам не мешки ворочать!Много разных задач сводятся к парсинку HTML. И не только сбор контента для ГС. Вот мне например понадобилось разобрать HTML собственного контента, чтобы культурненько облагородить. Ну например внешние ссылочки спрятать.

Сначала я подумал – фигня. Найти в тексте строчку “<a href=http://” и получи себе внешнюю ссылочку. Но ведь в контенте теги и атрибуты могут писаться с заглавной буквы. И ещё между A и HREF может стоять произвольное количество пробелов. Но самое главное, между A и HREF могут быть разные всякие другие слова. Короче выхода нет, кроме как строить нормальное дерево DOM и его анализировать. То бишь парсить.

Читать далее »


Категории Веб-программирование, Не по теме |
автор: altesack / Вторник, Апрель 26, 2011 / 3 комментов »


jQuery. Вешаем два Datepicker на одной странице

datepicker Как вставить Datepicker на страницу? Погуглите, найдёте кучу материалов, которые фактически повторяют официальный мануал.

Общая суть их в следующем:

  • Вставить в head документа подключение нужных стилей и скриптов
  • Сделать на странице элемент с id="datepicker"
  • Активировать его

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

Читать далее »


Категории jQuery |
автор: altesack / Воскресенье, Апрель 24, 2011 / 4 комментов »


Kohana. Query Builder. Правила хорошего тона.

kohana C базами данных в Kohana принято работать через ORM. Но не секрет, что ORM не покрывает всех нужд и потребностей. В таких случаях нужно что-то другое.

Для самых нетерпеливых – прямые запросы к БД. Метод простой и эффективный. Только ваши запросы и ничего больше. Минусы этого метода в том, что составляя запрос вы сами несёте ответственность за возможную инъекцию. Работать можно, но нужно тщательно проверять все поступающие данные.

Query Builder
===================
Это нечто среднее между вышеописаными методами. О нём я и хочу поговорить в этом посте.

Читать далее »


Категории Kohana |
автор: altesack / Воскресенье, Апрель 24, 2011 / 1 коммент »