![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера RMCreative.ru - Блог/Записи в блоге |
![]() |
RMCreative.ru - Блог
Голосов: 1 Адрес блога: http://rmcreative.ru/feed/ Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL |
Верстаем код с номерами строк
2014-01-27 14:59:42 (читать в оригинале)Задачка оказалась не совсем тривиальной. Надо учесть следующее:
- Номера могут начинаться с какого угодно числа, могут разрываться, могут быть не числами (например,
...
для обозначения того, что часть кода не приводится). - Номера не должны копироваться.
- Длинные строки должны переноситься.
Решается так:
<table class="code"> <tr> <th data-line-number="1"></th> <td>public static function autoload($className)</td> </tr> <tr> <th data-line-number="2"></th> <td>{</td> </tr>
.code th:before { content: attr(data-line-number); }
Важный момент тут использование data-attributes и псевдо-селектора :before
. Первое позволяет расставить номера на стороне сервера, второе — вставить их в ячейку. При этом они не выделяются и не копируются.
Живой пример
Yii2: PSR-4
2014-01-12 19:33:29 (читать в оригинале)Yii2 перешёл с PSR-0 на недавно принятый PSR-4, благодаря чему из загрузчика классов удалось выкинуть кучу кода, теоретически сделав его быстрее (не замеряли). Также немного уменьшилась вложенность директорий официальных пакетов, что, хоть и не имеет большого значения, делает структуру чуть более простой.
Если вы уже использовали Yii2 через Composer:
- Выполнить
composer self-update
. - Правим пути в
index.php
,index-test.php
иyii
. Там нужно убрать один уровень/../
. - Удаляем всё кроме
.gitignore
изvendor
иcomposer.lock
, делаем зановоcomposer install --prefer-dist
.
Ещё одна приятная штука, расширения теперь можно делать по-человечески, складывая классы прямо в корневую директорию репозитория.
Yii2: JOIN вернулся
2014-01-08 03:39:58 (читать в оригинале)В Active Record Yii2 вернулся JOIN
. Внутри всё значительно проще, чем было в Yii 1.1, но возможностей сильно больше.
Сразу скажу, что поддержка noSQL никуда не делась. Более того, можно в одном «запросе» выбрать JOIN-ом из нескольких SQL-таблиц, а часть связанных данных забрать, например, из MongoDB.
Отличный пример привёл ORey на англоязычном форуме:
// Выбираем MyModel с relation1 и relation2. // Все три забираем запросом с JOIN. $query = MyModel::find() ->joinWith(['relation1', 'relation2']); $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => 15]); $items = $query ->orderBy($sort->orders) ->offset($pages->offset) ->limit($pages->limit) // Забираем дополнительно relation3 и relation4. // Фильтровать по ним нам не нужно, так что будут // запросы вида WHERE ID IN (1,2,3,4) или аналоги // для noSQL. ->with(['relation3', 'relation4']) ->all();
Официальная документация на тему
Уменьшаем yii2-basic
2014-01-07 01:11:23 (читать в оригинале)В почту прилетел вопрос «какого такого yii2-basic весит 180 мегабайт». Вопрос хороший. Разберём и попробуем разобраться, что же с этим всем делать, если размер критичен.
Итак, 155 мегабайт занимают данные git, которые забираются при установке из composer без флага --prefer-dist
(добавил его в readme). Осталось 25 мегабайт, что тоже немало.
Из них:
Yii + обязательные зависимости | 4,9 мб |
---|---|
debug-панель и gii | 235 кб |
Twitter Bootstrap | 4,5 мб |
Swiftmailer | 6,2 мб |
Codeception и зависимости | 8,6 мб |
Если нам не нужны какие-то пакеты, правим composer.json
и удаляем оттуда ненужные нам пакеты (секции require
и require-dev
). Удаляем composer.lock
и запускаем composer install --prefer-dist
.
Например, если нам не интересно автоматизированное тестирование, путём удаления из зависимостей Codeception получаем 16 мегабайт вместе с зависимостями и самим basic-шаблоном. При этом приложение остаётся полностью рабочим.
Если в приложении не нужна работа с почтой и Twitter Bootstrap получим 5,3 мегабайта.
2013, итоги и планы
2013-12-31 20:38:11 (читать в оригинале)Новый год уже очень скоро, так что заранее поздравляю всех читателей с окончанием 2013. Пришла пора вспомнить, что же было в нём интересного и подумать, что бы хотелось сделать в следующем 2014.
Yii
- Релизнули две стабильные версии ветки 1.1. Можно было больше, но ветка 2.0 прилично оттянула силы и время. В 2014 будут ещё релизы 1.1.
- Yii стал доступен через Composer. В следующем году, думаю, мало что вообще будет работать без Composer и это, в общем-то, хорошо.
- mazx сделал плагин для PhpStorm, расширяющий возможности IDE специально для Yii. Для NetBeans также появился плагин.
- К команде присоединились Тимур Рузиев, Павел Климов и Antonio Ramirez и уже успели сделать значительный вклад как в 1.1, так и в 2.0.
- Вышла вторая редакция Yii Application Development Cookbook. В начале 2014, надеюсь, хватит времени выпустить её перевод на русский. Подобной книги для 2.0 писать пока не собираюсь и желание пописать направляю в сторону официальной документации.
- Вышли public preview и альфа Yii2. Подняли минимальную версию PHP до 5.4, что под конец года уже не вызывает вопросов. Альфой я вполне доволен. К релизу сделаем ещё лучше.
- Yii в моём лице присоединился к php-fig. PSR-2 из-за этого в Yii2 не будет (ну не любим мы пробелы), но повлиять на решение по важным моментам вроде PSR-4, теперь вполне реально.
Конференции и встречи
Конференций было достаточно много и прошли все очень и очень хорошо: UWDC, Воронежский веб-клуб, РИФ, Воронеж, HotCode и Yii meetup в Киеве, DevConf, PHP frameworks day, РИТ++.
Ну и самое приятное — личные встречи. Встретился ещё раз с Wei Zhuo и первый раз с Carsten Brandt (cebe) из команды Yii. Пообщался с Rasmus Lerdorf в Киеве. Познакомился со многими членами сообщества Yii и встретился со старыми знакомыми во многих городах.
В новом году также планирую рассказывать про Yii и не только про него на различных конференциях, о чём напишу позже.
Сервисы и инструменты
- Звание полезняшки года получают rollbar и sentry. Прекрасные агрегаторы логов, которые сэкономили мне как минимум сотню часов.
- Начал делать слайды в HTML. Очень удобно, не нужно подгонять под конкретные разрешения экрана и работает везде.
- Обзавёлся макбуком air, который использую в поездках из за лёгкости и длительной работы от батареи. Десктоп пока остаётся на Windows 8.
![BlogRider сегодня BlogRider сегодня](/themes/1/i/menu/th/blogrider_today.png)
![Изменения рейтинга Изменения рейтинга](/themes/1/i/menu/th/rating_changes.png)
![]() | ||
+223 |
233 |
CAPTAIN |
+196 |
256 |
Yurenzo |
+185 |
193 |
Simple_Blogger |
+171 |
263 |
Annelle |
+166 |
246 |
Similis_Deo |
![]() | ||
-1 |
162 |
Литературное кафе "ИСКУССТВО" |
-1 |
154 |
Кому на Руси жить хорошо? |
-2 |
14 |
Фрамин |
-4 |
13 |
Miss Understanding |
-7 |
164 |
Lucy-sama |
![Главные темы Главные темы](/themes/1/i/menu/th/main_themes.png)
Загрузка...
![Загрузка... Загрузка...](/themes/1/i/loader/loader.gif)
взяты из открытых общедоступных источников и являются собственностью их авторов.