Глобальный .gitignore
Собственно, все указано в заголовке. Вам остается только создать новый .gitignore или указать на существующий.
git config --global core.excludesfile ~/.gitignore
Стандартный url для определенного контроллера
'admin' => 'admin/index', 'admin/<action:[\\w\\-]+>' => 'admin/<action>'
Данный правила можно разместить в секции rules urlManager’а в конфигурации приложения и получить стандартные url для определенного контроллера, в нашем случае для контроллера admin. При этом enablePrettyUrl и enableStrictParsing могут быть установлены в true. Полезно когда нужно, чтобы без дополнительной головной боли работали стандартная сортировка и фильтрация в GridView для admin, а так же срабатывали другие правила для формирования ЧПУ в другом контроллере.
Получить список всех слушателей jQuery объекта
Пост буквально одной строкой! Проблема — производительность.
Почему? Часто навешиваете обработчик и забываете его снять? Работаете в команде, и не можете гарантировать, что кто-нибудь не навесил случайно на $(window).on(‘resize’,..) кучу тяжелых функций?
Посмотрите список всех обработчиков
jQuery._data( window, "events" );
P.S. и да, не забывайте давать своим событиям «namespace», например так:
$(window).on('resize.playstop', myFunction)
//потом легко снять
$(window).off('resize.playstop')
P.P.S подсмотрел кусочек про _data на StackOverflow.
Apache2: виртуальные домены для локальной разработки
Для локальной разработки мы обычно используем веб-сервер apache, который по-умолчанию настроен на директорию /var/www/ в которой можно создавать проекты, но в большинстве случаев это неудобно и хотелось бы использовать папки профиля пользователя для работы с проектами, как раз об этом и о виртуальных доменах и пойдет речь в данной небольшой заметке.
Получить все роли пользователей в Yii2
При изучении RBAC Yii2 у многих возникает вопрос, а как же получить все роли пользователей? Ответ довольно простой, скорее всего поэтому он быстро не гуглится. В итоге если у вас сам RBAC настроен верно, то список ролей можно получить так:
Yii::$app->getAuthManager()->getRoles()
или то же самое с помощью «магии»
Yii::$app->authManager->roles
Думаю еще одной интересной строчкой будет преобразование полученного массива в массив название роли -> описание, а сделать это можно так:
ArrayHelper::map(Yii::$app->authManager->roles,'name','description')
Выполнить OrderBy перед GroupBy при использовании MySQL, и Yii2
Небольшая заметка, которая может ответить не только на проблему, обозначенную в заголовке, но и продемонстрировать 3 способа построения запроса и получения результатов запросов. К сожалению, стандартно подставив команду OrderBy перед GroupBy в MySQL вы получите совсем не то что ожидаете, а происходит это потому, что выполняется сначала группировка данных, а уже затем они сортируются, но уже в результирующем наборе нет нужных нам данных, решается эта проблема в «подсовывании» новой таблицы уже с правильной для нас сортировкой, запросом это выглядит примерно так:
Boilerplate: Angular.js + JADE + Gulp
Изначально я долго и усердно настраивал browserify+angular.js, и был близок к победе, но что-то пошло не так (а именно inject кастомных директив) и я решил немного повременить. Поэтому связка будет немного иной и в консоли придется выполнить на одну команду больше. Так или иначе, этот пост в первую очередь для моего друга-бэкэндера и здесь будет сделан упор на автосборку проекта с помощью таск-менеджера Gulp.
Lexa-007, You’re welcome 😉
читать далее
Кастомизируем angular-strap datepicker
Это не пост, скорее заметка, чтобы не забыть.
Речь идет про http://mgcrea.github.io/angular-strap/##datepickers
читать далее
Ограничения по типам запросов в Yii 2, компонент VerbFilter
В Yii2 встроен удобный фильтр ограничения доступа к экшену по типам запросов к нему, компонент называется VerbFilter, а используется он как ключ verbs в поведении (behaviors) контроллера. Под катом подробнее.
Занимательный Spaceless виджет в Yii2 или вырезаем все пробелы
Довольно интересный виджет из коробки имеется в yii2, название ему Spaceless, а занимается он вырезанием пробелов, дабы полностью исключить возможные баги браузеров с переносом строки. Работает все это довольно просто: