Как стать автором
Обновить
0

CakePHP *

Программный каркас для создания веб-приложений

Сначала показывать
Порог рейтинга
Уровень сложности

Все еще торт, часть 3.0.0

Время на прочтение 19 мин
Количество просмотров 18K
Наконец-то вышел в релиз CakePHP 3.0.0.

Наша компания использует в разработке в том числе cakephp, как основной фреймворк для бэкэнд разработки. На протяжении четырех лет мы досконально разобрались в его преимуществах и недостатках. И, конечно, многие проблемы, которые исчезнут с переходом на 3.0 нами уже были решены, но развитие используемого инструмента не может не радовать. После этого обновления мы рассчитываем, что cakephp снова вернёт себе заслуженную популярность.


Читать дальше →
Всего голосов 20: ↑13 и ↓7 +6
Комментарии 3

Новости

Повышаем стабильность сессии в CakePHP 2.x

Время на прочтение 6 мин
Количество просмотров 3.9K
От переводчика: при разработке Web-payment.ru на фреймворке CakePHP мы сталкивались с самого начала с тем, что логаут пользователей происходил каждые несколько часов, а это слишком короткий промежуток времени. При этом сколь большие значения timeout и cookieTimeout мы бы не выставляли в настройках ядра, ничего не менялось. Данная статья решила для нас эту проблему.

В прошлом году я обращался к этому вопросу как минимум дважды, но практически безрезультатно. После длительных поисков решения я снова отложил его на неопределенное время. Здесь также следует сказать, что когда дело касается отлаживания session/cookie вещей (в данном случае — аутентификации), процесс поиска багов никогда не отличался простотой, поскольку он зависит от множества факторов, которые складываясь вместе, усложняют обнаружение проблемы.

В документации Cake также не говорится, что для длительной работы php-сессий необходимо увеличить значение внутренней переменной max_lifetime. Я вообще наткнулся на нее случайно, потому что всегда думал, что об этом позаботился сам фреймворк, однако даже после того, как я сделал базу данных контейнером сессий, я не заметил каких-либо улучшений. Поэтому я подумал, что чистка памяти на стороне сервера здесь, видимо, вообще не причем, ну или по крайней мере, влияет не только она одна.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 0

Что нового в CakePHP 3.0.0?

Время на прочтение 6 мин
Количество просмотров 10K
Здравствуйте, уважаемые читатели. В данной статье хотелось бы написать о новой версии CakePHP и возродить интерес к этому замечательному PHP фреймворку. Последняя заметка в блоге о CakePHP датирована почти годом назад и многие могли подумать, что фреймворк прекратил своё существование, однако это не так. Он очень активно развивается и весьма популярен в западных странах и его используют такие компании, как BMW и Hyundai.

Текущая стабильная версия CakePHP – 2.5.5. Давайте кратко посмотрим, какие возможности предоставляет этот фреймворк сейчас, а затем подробно остановимся на новинках, которые появятся в 3.0.0.
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 7

Валидатор HTML-форм

Время на прочтение 3 мин
Количество просмотров 9.4K
Доброго времени суток уважаемый %username%.

Каждый программист хоть раз в своей жизни сталкивался с унаследованным кодом. Иногда такой код вызывает реакцию: «Что это за дрянь|лапша|говнокод, давайте его перепишем».

Так произошло и с проектом к которому я присоединился. 200-300 строчные методы, дублирование кода, процедурный подход вместо использования ООП не вызывали ни каких положительных эмоций. К счастью ПМ оказался очень адекватным человеком и не отмахнулся от просьбы выделить время на рефакторинги. Один из таких рефакторингов в итоге вылился в плагин валидации HTML-форм, которым я и хочу поделиться.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 2

Истории

AJAX в CakePHP на jQuery и Prototype

Время на прочтение 5 мин
Количество просмотров 5.3K
Небольшой пример реализации AJAX в CakePHP, пример показывает, как легко работать с AJAX в СakePHP, всю работу берет на себя фреймворк. Реализуем пример на библиотеке jquery.js затем переделаем наш пример на библиотеку prototype.js
Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 2

Мой маленький веб-сервис на CakePHP

Время на прочтение 2 мин
Количество просмотров 7.6K
Здравствуйте. В этом посте я хочу описать как в качестве изучения фреймворка CakePHP был написан небольшой «веб-сервис», а именно менеджер закладок веб-страниц.
image
Сразу хочу сказать, что у меня не было в планах написать мега функциональный сервис, как например Evernote. Я старался сделать как можно более простой в использовании сайт.
Читать дальше →
Всего голосов 26: ↑13 и ↓13 0
Комментарии 16

Нормальная офлайновая документация

Время на прочтение 1 мин
Количество просмотров 2.1K
Вместе с выходом второй версии фреймворка CakePHP обновилась и документация — book.cakephp.org/2.0/. А самое главное, появилась офлайновая дока. Скачать можно прям с первой страницы кукбука: CakePHPCookbook.epub. Можно скачть с гитхаба исходники или помочь с переводом и исправлением.

Мне было лень искать что-то, что читает формат .epub и я просто распаковал файлы и получил много html страничек. Такая документация выглядит примерно так. Zip с html страничками качаем отсюда
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 4

Интервью с разработчиком Croogo

Время на прочтение 3 мин
Количество просмотров 2.6K
Уже совсем скоро выйдет стабильный релиз CakePHP 2. Интересно, что будет с проектами, написанными на CakePHP 1.x. И самый волнующий вопрос, что будет с Croogo — замечательным инструментом для разработки на CakePHP. Планами на будущее делится разработчик Croogo CMS.

Вольный перевод небольшого интерьвью с Fahad Ibnay Heylaal(разработчиком Croogo CMS).

Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 2

Тонкости при работе с Sanitize в связке с save

Время на прочтение 3 мин
Количество просмотров 6.5K
Доброго времени суток уважаемый %username%. Хотелось бы вам рассказать об одной интересной особенности работы с классом Sanitization. Данный класс является частью ядра замечательной фреймворка CakePHP и предназначен для «очистки» входящих данных. К примеру, его можно, нужно использовать для «очистки» данных передаваемых пользователем перед сохранением в базу данных. Официальная документация и примеры использования лежат тут book.cakephp.org/view/1183/Data-Sanitization. Настоятельно рекомендую каждому разработчику использующему CakePHP ознакомиться с этим классом.
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 7

Сообщество CakePHP открыло проект CakePHP TV

Время на прочтение 1 мин
Количество просмотров 1.6K
image

CakePHP TV — это видео сайт, посвященный CakePHP и всему, что с ним связано. Команда CakeDC рада сообщить о релизе проекта CakePHP TV 1.0! Мы разрабатываем приложения, чтобы привлечь больше внимания к сообществу CakePHP. Данное приложение позволит собрать все видео ролики, созданные сообществом CakePHP, и открыть к ним доступ.

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 2

Выбор изображений просто и эффективно

Время на прочтение 8 мин
Количество просмотров 5.6K
Добрый день. Рассмотрим следующую функциональность приложения: добавление изображения к тексту. Изображения не встраиваются в сам текст (как, например, в википедии), а существуют отдельно. Текст может иметь одно или несколько изображений. Процедуру привязки хотелось сделать максимально дружелюбной по отношению к пользователю.
Выбор пал на представление данных с помощью двух областей: слева находятся все картинки, доступные для выбора, в правой — выбранные. Пользователь может выбирать изображения как с помощью мышки, так и с помощью дополнительных кнопок.
Пример работы плагина

Под катом немного о реализации
Всего голосов 10: ↑4 и ↓6 -2
Комментарии 0

Добавление порядка сортировки в CakePHP

Время на прочтение 5 мин
Количество просмотров 1.7K
О чем будет топик?

О том, как добиться того, чтобы можно было с помощью CSS или иным способом определить/увидеть в html-выводе, в каком порядке (asc|desc) отсортирован столбик таблицы, а не только по какому из столбиков отсортирована таблица.

Короче говоря, сделать как например, на Яндекс.Расписаниях, вот так:
порядок сортировки
Читать дальше →
Всего голосов 6: ↑3 и ↓3 0
Комментарии 8

Простое решение красивых URL в Cakephp

Время на прочтение 1 мин
Количество просмотров 1.9K
Если Вы просматриваете какую-то запись/пост на Cake-сайте, то скорее всего адрес выглядит так:
/posts/view/5, где posts — модель, а 5 — номер id записи.
Чтобы сгенерировать такую ссылку надо прописать что-то вроде:
$html->link('CakePHP Tips', array('controller' => 'Post','action' => 'view',5));
Естественно вы не будете писать id вручную, скорее всего это будет что-то вроде:
$html->link($post['Post']['title'], array('controller' => 'Post','action' => 'view',$post['Post']['id']));

А сейчас самое интересное:
Читать дальше →
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 2

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Уменьшаем кол-во запросов requestAction-ов с помощью Cache

Время на прочтение 2 мин
Количество просмотров 918
В документации Cakephp 1.2 говорится о том что если requestAction используется без кеширования, то это может уменьшить производительность.
If used without caching requestAction can lead to poor performance. It is rarely appropriate to use in a controller or model.
И правда, сами подумайте, каждый раз при просмотре сайта, кроме основных запросов, к базе делается куча мелких, с помощью requestAction-ов, например…
И как истинные политики, они говорят ЧТО может произойти, при этом не говоря КАК этого избежать.
Привожу пример того, КАК с этим разбираюсь я.
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 6

Минималистичная система разделения прав по группам за 5 минут

Время на прочтение 4 мин
Количество просмотров 3.6K
Замучались с ACL? Есть пожалуй самое простое решение для разделения прав по группам. Никаких ACL таблиц, никакого дерева прав. Но если вам требуется задавать права персонально для каждого пользователя, то это решение точно не для вас.
Читать дальше →
Всего голосов 17: ↑10 и ↓7 +3
Комментарии 19

Хелперы. Полезные манипуляции со строками

Время на прочтение 3 мин
Количество просмотров 6K
CakePHP поставляется с кучей полезных хелперов и компонентов, которые обеспечивают удобные инструменты для обработки и манипулирования данными. Эти хелперы значимы не только для пользователя фреймворка, но и могут оказать большую помощь кому-нибудь кто пишет PHP приложения не используя CakePHP.
далее...
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 22

timeAgoInWords по русски

Время на прочтение 1 мин
Количество просмотров 1.1K
Привет, пекари.
Хотите чтобы в вашем проекте даты писались так:«1 день, 3 часа назад»
или так:«2 месяца, 2 недели, 3 дня назад»?

как это сделать
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 1

Связывание таблиц в Model::find()

Время на прочтение 7 мин
Количество просмотров 2.3K
Перевод заметки на Bakery от Nate, одного из авторов CakePHP. Мне она показалась интересной и иллюстрирующей как же работает этот фреймворк, но сложной для понимания на английском языке.

В этой заметке описывается малоизвестный приём, позволяющий осуществлять связывание таблиц (joins) в запросах CakePHP напрямую, не используя методы bind и unbind.

Внимание: Приём сработает только если вы используете новый синтаксис Model::find(), который имеет всего два параметра. В противном случае читайте Cookbook или API.

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 8

CakePHP 1.2 final

Время на прочтение 1 мин
Количество просмотров 842
Вчера, на католическое рождество, команда CakePHP представила финальный релиз ветки 1.2. С момента первого релиза для разработчиков прошло ровно два года.

За это время фреймворк стали использовать действительно большие проекты (https://addons.mozilla.org/, http://www.livemocha.com/, http://www.zeadoo.com/). Появилось несколько компаний, специализирующихся на разработке с его помощью (http://cakedc.com, http://debuggable.com, http://sanisoft.com)

Полный список изменений и доступных фич вот тут
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 17
1

Вклад авторов