Официальный блог

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

Читать далее

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

Читать далее

 

Программирование

PHP, Yii

41

Грид

При администрировании многих разделов сайта возникла необходимость работы с логическими переключаемыми атрибутами модели (опубликована новость или нет, прочитано сообщение или нет и т.п.). В сети нашлось решение использовать колонку из чекбоксов с автосохранением данных Ajax запросом по событию onChange(). Эстетически выводить несколько колонок чекбоксов было не очень красиво. Было решено для наглядности сделать столбик из иконок-ссылок.

Читать далее

 

Программирование

PHP, Yii

59

Сущности

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

Читать далее

 

Программирование

PHP, Yii

38

Виджеты

Давным давно в тридевя... в шаблонизаторе моей второй по счёту старой CMS вставка виджетов в шаблон была релизована посредством использования старой доброй клинописи вида {{WidgetName|param1=val1;param2=val2}}. Этот код можно было встявлять даже в текст, что давало неоценимую возможность компоновать страницы любой сложности из виджетов прямо в текстовом редакторе админки.

Читать далее

 

Программирование

PHP, Yii

25

HTML Purifier

При выводе новостей и комментариев на публичном или личном сайте возникает необходимость фильтрации HTML-кода от опасных XSS элементов. Компонент HTML Purifier, поставляемый в комплекте с Yii Framework, может сильно облегчить задачу фильтрации. Это действительно мощный и гибко настраиваемый инструмент. Рассмотрим способы работы с ним.

Читать далее

На официальном форуме Yii Framework встретил вопрос об организации работы с сайдбарами на сайте. Вопрос возник в связи с требованиями автора выводить разное содержимое панелей в разных разделах сайта. Автор пробует выделить место для сайдбара в главном шаблоне views/layouts/main.php и генерировать содержимое сайдбаров в самих конкретных представлениях. Поделюсь своей организацией шаблонов.

Читать далее

 

Программирование

PHP, Yii

0

Форма подтверждения пароля

В одном из проектов потребовалось ввести в форму изменения профиля пользователя поле «Введите текущий пароль». Сначала был быстро сделан валидирующий метод в самой модели пользователя. В последующем для повторного использования в разных проектах было решено написать полноценный внешний валидатор.

Читать далее

 

Программирование

PHP, Yii

15

Безопасность

Достаточно часто на тематических форумах по Yii встречаются вопросы новичков о организации хранения паролей пользователей в модели User. Вопрос звучит примерно так: «У меня в модели User есть поле password, в котором я храню хэш пароля. Как мне сделать так, чтобы пароль не перезаписывался при каждом сохранении модели?» Вопрос любопытный и для других фреймворков.

Читать далее

Часто владельцы блогов устанавливают на свои сайты плагины для работы с сервисом Gravatar. Если кто не знает, то суть сервиса вот в чём: Любой человек может зарегистрироваться в сервисе, вписать свой email и привязать к нему аватарку. После привязки эта аватарка становится доступной всему миру с сервера Gravatar по идентификатору, легко высчитываемому по адресу электронной почты пользователя.

Читать далее