![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера RMCreative.ru - Блог/Записи в блоге |
![]() |
RMCreative.ru - Блог
Голосов: 1 Адрес блога: http://rmcreative.ru/feed/ Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL |
Убираем дубликаты URL в Yii
2013-11-17 14:51:31 (читать в оригинале)Не первый раз спрашивают как убрать дубликаты URL в приложении на Yii при использовании красивых URL и showScriptName = false
. Yii при включении данной опции генерирует все URL как надо, но позволяет обращаться к страницам и так и так:
http://example.com/blog/tag/Yii
http://example.com/index.php/blog/tag/Yii
На самом деле никакой проблемы в этом нет потому как ни одной ссылки на второй тип URL не будет и он, соответственно, не проиндексируется. Но так как вопросы поступают и SEO-шники настаивают, вот ответ в виде gist.
Сохраняем в виде protected/components/DuplicateFilter.php
, прописываем в метод filters
контроллеров и забываем о проблеме.
Android: быстрый удобный эмулятор
2013-10-31 18:48:09 (читать в оригинале)Использовать встроенный эмулятор из Android SDK — та ещё радость из за его скорости. Дело усугубляется, если у вас процессор не Intel. Можно, конечно, прилично поковырявшись в BIOS и системе, добиться сходной с Intel производительности, но работать будет всё-равно неприятно.
По этой причине вместо эмуляторов я обзавёлся реальными устройствами и долго пользовался ими пока не стал браться за задачки с довольно сложными интерфейсами. Железяк стало не хватать. У коллег при тестах иногда вылезали глюки на устройствах с другими пропорциями экрана и плотностью пикселей.
Поискав получше, я нашёл нормальный эмулятор. Зовётся Genymotion и является обёрткой над VirtualBox и набором образов. Работает действительно быстро. Быстрее реального устройства.
Пробуем
Android: поймать back в EditText
2013-10-30 03:19:28 (читать в оригинале)Задачка — отловить нажатие хардварьной кнопки back и OK (или Done) на экранной клавиатуре при фокусе на EditText
. Вроде должно решаться просто...
В Activity ищем наш EditText, вешаем события:
TextView input = (TextView)findViewById(R.id.input); if (input != null) { input.setOnEditorActionListener(this); input.setOnKeyListener(this); }
Далее реализовываем обработчики:
public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) { if (actionId == EditorInfo.IME_ACTION_DONE){ // делаем свои дела return true; } return false; } public boolean onKey(View view, int keyCode, KeyEvent keyEvent) { if (keyCode == KeyEvent.KEYCODE_BACK) { // делаем свои дела return true; } return false; }
Проверяем. onEditorAction
отработал отлично. А вот onKey
не сработал. Оказывается, по какой-то неведомой причине, событие именно для EditText надо протолкнуть вручную изрядно извратившись. То есть сначала делаем своего наследника EditText с фиксом:
public class EditTextEx extends EditText { public EditTextEx(Context context, AttributeSet attrs) { super(context, attrs); } public EditTextEx(Context context) { super(context); } public EditTextEx(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { dispatchKeyEvent(event); return false; } return super.onKeyPreIme(keyCode, event); } }
И после заменяем в наших layout-ах
<EditText android:id="@+id/input" />
на
<com.acme.EditTextEx android:id="@+id/input" />
Вообще разработка под Android начинает чем-то напоминать мне JavaScript под IE... куча псевдо-совместимых версий ОС и девайсов и, как результат, хак на хаке и хаком погоняет...
Yii2 будет на PHP 5.4
2013-10-20 00:52:11 (читать в оригинале)Ещё недавно я рассказывал про то, что Yii2 будет использовать PHP 5.3, и вот планы круто поменялись. После публичного обсуждения, а затем и внутрикомандного, было решено, что релиз состоится с минимальным требованием PHP 5.4.
Сначала мы составили список популярных хостингов. После этого стало понятно, что 72% хостингов, которые поддерживают минимальную на тот момент версию 5.3.7, поддерживают и 5.4. А те, что принципиально застряли на 5.2 или 5.3, чаще всего не имеют и 5.3.7. С операционками выходит примерно так же.
Далее пошли в ход плюсы.
Короткий синтаксис массивов и <?=
в шаблонах. Да, для фреймворка оно не нужно и это долгое время было аргументом против 5.4. Но мы изначально упустили из вида, что авторам расширений придётся использовать 5.4, что негативно скажется на сообществе.
В 5.3 более не исправляется, начиная с этого Июля. В Июле 2014 PHP 5.3 перестанет получать также и исправления по части безопасности, так что использовать его будет довольно рисково. К тому времени Yii2, как раз, должен начать набирать обороты и если сейчас переход на 5.4 кажется немного рисковым, то через пол года это точно будет верным шагом. Да и с точки зрения маркетинга шаг верный.
Ну и трейты, конечно. Хотя на их счёт ещё есть большие сомнения...
Yii2: перевод сообщений
2013-10-17 02:40:01 (читать в оригинале)Доделали полностью перевод сообщений. В Yii2 он намного лучше, чем в 1.1. Удалось выкинуть мегабайты данных CLDR и использовать вместо всего этого расширение intl. Синтаксис и возможности поразительные. Например, можно вот так:
echo \Yii::t('app', '{n,number} is spelled as {n, spellout}', array( 'n' => 42, ));
При переводе эта строка честно выдаст нам 42 проговаривается как сорок два
.
echo \Yii::t('app', '{name} is {gender} and {gender, select, female{she} male{he} other{it}} loves Yii!', array( 'name' => 'Snoopy', 'gender' => 'dog', ));
Выдаст без перевода Snoopy is dog and it loves Yii!
.
Множественные формы также никуда не делись:
echo \Yii::t('app', 'There {n, plural, =0{are no cats} =1{is one cat} other{are # cats}}!', array( 'n' => 0, ));
Строка перевода будет вот такая:
Здесь {n, plural, =0{котов нет} =1{есть один кот} one{# кот} few{# кота} many{# котов} other{# кота}}!
Не обошлось, правда, без исследования исходника расширения и исправления найденных багов средствами PHP, но результат радует.
- Черновик документации на тему



![]() | ||
+96 |
124 |
Наша жизнь просто прекрасна |
+69 |
108 |
Рыцарь Дорог (Knight Rider) - фан сайт сериала |
+48 |
99 |
House of Pocong |
+1 |
35 |
| |
|
|
|
![]() | ||
-1 |
5 |
Мартышка_с_Алмазами |
-3 |
26 |
театральный Лягушатник |
-9 |
3 |
alexjdanov |
|
|
|
|
|
|

Загрузка...

взяты из открытых общедоступных источников и являются собственностью их авторов.