Окт 07 2008

Новости CakePHP — релиз 1.2 RC3!

Раздел: НовостиМета @ 21:48

Первого октября случилась сразу целая масса разных событий.

Во-первых, это важная веха в жизни этого блога — я выдержал целый месяц ежедневных постов. Вам покажется что в этом нет ничего сложного, но это вовсе не так. На техническом блоге каким я считаю и пытаюсь сделать этот, размещать осмысленную и более-менее полезную статью каждый день — это целая работа. Честно говоря, за этот месяц у меня почти закончился весь предварительно накопленный материал и теперь я сбавил темп, чтобы подготовить новые, более интересные статьи. Октябрь и ноябрь будет проходить под девизом «лучше меньше, да лучше», а в декабре попробую повторить гонку.

Во-вторых, первого октября вышел новый релиз CakePHP 1.2 RC3.

Читать дальше “Новости CakePHP — релиз 1.2 RC3!”

Теги: ,


Сен 30 2008

Не забывайте очищать кэш!

Раздел: Веб-разработкаМета @ 20:48

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

CakePHP поддерживает несколько методов кэширования, от простого файлового до выделенных memcache-серверов. О том как пользоваться кэшированием в своих приложениях я напишу в отдельной заметке. Здесь же краткий совет — не забывайте очищать кэш!

Читать дальше “Не забывайте очищать кэш!”

Теги: , ,


Сен 29 2008

Работаем с маршрутами в CakePHP (часть 3)

Раздел: МаршрутыМета @ 21:00

Дополнительную гибкость системе маршрутов придают специальные элементы. Эти элементы вы можете определять сами, с их помощью в URL-адресе отмечаются места, где будут находиться параметры, передаваемые в функции контроллера. При выполнении запроса, значения специальных элементов сохраняются в массиве $this->params. Обратите внимание на отличие специальных элементов маршрута от именованных: именованные (/controller/action/name:value) передаются в массиве $this->passedArgs.

При создании специального элемента для него надо обязательно указать регулярное выражение — с его помощью CakePHP будет проверять правильность URL-адреса.

Читать дальше “Работаем с маршрутами в CakePHP (часть 3)”

Теги: , , ,


Сен 28 2008

Эссе о движках и фреймворках

Раздел: ВсякоеМета @ 21:13

Я уже писал заметку для новичков в CakePHP, но понимания отличий работы платформы (framework) от обычного движка у неофитов все равно не хватает. Поэтому я решил написать несколько небольших заметок именно по особенностям и отличиям движков от фреймворка.

Читать дальше “Эссе о движках и фреймворках”

Теги: , ,


Сен 27 2008

Добавление и удаление ассоциаций между записями

Раздел: МоделиМета @ 21:53

Во многих приложениях используются связи типа многие-ко-многим - HasAndBelongsToMany или HABTM в терминологии CakePHP. Они нужны для создания меток к записям в блоге, привязки атрибутов к товарам в интернет магазине, пользователей к пользователям в социальных сетях и т.д.

Для создания связи HABTM в CakePHP используется вспомогательная таблица, в которой хранятся два идентификатора связываемых данных. Например, если нам надо связать таблицы posts и tags, то вспомогательная таблица будет иметь вид:

Читать дальше “Добавление и удаление ассоциаций между записями”

Теги: , , , , ,


Сен 26 2008

Ошибки в формах входа — ввод логина и пароля

Раздел: БезопасностьМета @ 21:43

В CakePHP есть собственные компоненты для аутентификации и авторизации, но не многие начинающие программисты ими пользуются, потому что эти компоненты довольно сложные. А формы-то делать надо, иначе как авторизовать пользователя в админку?

Сегодня мне показали еще один пример такой формы. Для простоты объяснения сути заметки, я приведу простой html-код формы:

Читать дальше “Ошибки в формах входа — ввод логина и пароля”

Теги: , , ,


Сен 25 2008

Горе-программисты или сказ про перевод номера месяца в название

Раздел: ВсякоеМета @ 23:07

Я конечно понимаю что язык PHP простой и в нем многое допустимо. Понимаю, что на свете куча новичков, которые еще только учатся программировать. Вполне осознаю также что я и сам не спец. Но всегда когда я встречаю в коде ТАКОЕ меня коробит. А, блин, попадается с пугающей регулярностью.

Цитата из кода самописной панели администрирования сайта одного очень крупного завода Московской области:

Читать дальше “Горе-программисты или сказ про перевод номера месяца в название”

Теги: , , ,


Сен 24 2008

Проблемы с путями к статичным файлам в CakePHP

Раздел: МаршрутыМета @ 23:25

В CakePHP для определения путей к файлам используется сложная комбинация обработчиков — маршрутов. Плюс mod_rewrite вносит свою лепту. Из-за всего этого иногда бывает сложно определить правильный путь к статичному файлу, например, сохраненной картинке. Сегодня утром разбирался с этой проблемой.

Читать дальше “Проблемы с путями к статичным файлам в CakePHP”

Теги: ,


Сен 23 2008

Вывод случайного баннера на CakePHP

Раздел: Веб-разработкаМета @ 23:28

В одном из проектов нашей студии, нам понадобилось выводить случайные изображения (типа баннеров) в различных местах нескольких шаблонов. Все шаблоны относились к разным контроллерам, в каждом шаблоне к баннеру могли применяться различные css-классы для правильного размещения. Естественно, хотелось придумать универсальное решение.

Логично, чтобы все баннеры хранились в одной таблице — тогда для них проще разработать админку, да и удобнее когда они все управляются из одного места.

Какие поля должны быть в этой таблице?

Читать дальше “Вывод случайного баннера на CakePHP”

Теги: , ,


Сен 22 2008

Загрузка файла на CakePHP

Раздел: ФормыМета @ 23:17

Во многих веб-приложениях загрузка файла — необходимая и достаточно сложная задача. На эту тему есть даже специальная статья в руководстве по языку PHP. Вообще, эта тема зависит не только от возможностей платформы, но и от настроек веб-сервера. Перед началом работы с файлами, удостоверьтесь что на вашем сервере правильные значения директив php.ini, отвечающих за загрузку файлов (file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size и max_input_time).

В CakePHP загрузить файл совсем не сложно. Предположим, что все файлы мы загружаем в контроллер PostsController при создании записи (в функцию admin_add).

Читать дальше “Загрузка файла на CakePHP”

Теги: ,


« Предыдущая страницаСледующая страница »