Form builder — entity field: «Class BundleAliasName:EntityClassName does not exist «

После обновления symfony-2.1 до версии из транка (symfony-2.1.0-beta4) отвалилась форма, в которой я использовал поле типа entity, где в качестве класса сущности указал не полный путь к классу, а через bundle alias: $builder->add('field_name, 'entity', array( 'class' => 'BundleAliasName:EntityClassName', 'multiple' => true ) ) // ..... Код выбрасывал исключение с сообщением «Class BundleAliasName:EntityClassName does not exist» Если прописать полный путь через пространство имен: array( 'class' => 'Full\Bundle\Path\Entity\EntityClassName', ) то все работало хорошо. ...

July 26, 2012 · 1 min · rodush

Как обновить проект с symfony-2.0 до symfony-2.1

Изначально я создавал свой проект на версии symfony 2.0 без vendors (standard edition). Все зависимости были установлены через php bin/vendors install Проект находился в git-репозитории. Сразу оговорка — на момент написания статьи версия symfony 2.1 находилась в стадии бета-тестирования. Тем не менее, основная тенденция уже была понятна и значительных изменений в АПИ не предвиделось. Одно из ключевых нововведений в symfony 2.1 — использование Composer. На вебсайте фреймворка Symfony можно найти описание процесса создания нового проекта, но нет информации как обновить существующий. ...

July 7, 2012 · 2 min · rodush

Symfony 2.0 FOSUserBundle — ошибка «Could not load type»

Если вы используете FOSUserBundle вместе с symfony 2.0 и вам понадобилось переопределить какую-либо из форм, идущих «в комплекте» с этим плагином, то, без сомнения, вы прочитали эту заметку: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_forms.md После обновления вашей страницы может случиться прискорбная ситуация — сообщение об ошибке «Could not load type ….» (вместо многоточия ваш alias для кастомной формы). Вроде бы и в файле app/config.yml все верно с отступами (имеется ввиду конфигурация fos_user сервиса), и файл конфигурации вашего сервиса service.xml (или service.yml) (в CustomUserBundle) описан правильно, и везде совпадает alias, getName() и т.п…. а все та же ошибка. Бывало? Не беда! 🙂 Есть решение вашей проблемы! Читайте далее, и все окажется просто! ...

June 19, 2012 · 2 min · rodush

Отменить git push

Бывает такое, что вы сделали случайный коммит и запушили в общий репозиторий то, что не хотелось бы, скажем — какие-то важные данные (пароль к какому-нибудь сервису и т.п.) Конечно, пока никто не заметил, всё еще можно отменить! Для этого необходимо использовать команду git push -f {remote_name} HEAD^:{branchName} Таким образом можно откатиться не только на один шаг (^), но на любое количество: HEAD^^ (HEAD~2, HEAD~n). Повторно можно «залить» уже изменения с учетом необходимых исправлений. Таким образом вы перепишете историю! :-D

March 22, 2012 · 1 min · rodush

Показать / скрыть оффлайн контакты в Linux Skype

Есть у Skype даже тикет по данному поводу, что люди не могут найти в интерфейсе кнопочки для управления отображением оффлайн контактов в линуксовой версии Skype. Как оказалось, есть даже проще решение (как по мне, то оно и единственное) — «горячие клавиши» Ctrl + U. Быстро и эффективно!

March 20, 2012 · 1 min · rodush

How to generate CSR file

You can generate CSR using OpenSSL: openssl req -newkey rsa:2048 -keyout private_key.pem -out server.csr where req is a command to control x.509 certificates, -newkey — means “we need a new key” _rsa_ — hashing algorythm, and 2048 — the length of a key. To sign certificates after 2010 you need at least this length! Until 2010 it was possible to use 1024 bit key. -keyout — path to the file on the server ...

August 17, 2011 · 1 min · rodush

How to stop CruiseControl CI/CD server

To stop CI/CD server CruiseControl, assuming it runs on your localhost, in the browser navigate to: http://localhost:8000/invoke?operation=halt&objectname=CruiseControl+Manager%3Aid%3Dunique

August 2, 2011 · 1 min · rodush

How to change PHPMyAdmin session timeout

By default, the session lifetime in a new PhpMyAdmin installation using the “cookie”; authentication method is 1440 seconds (24 minutes). That is, after 24 minutes of inactivity, the next request will take the user to the login page. To increase the session lifetime, set the value of the variable to say, 60x longer: $cfg['LoginCookieValidity'] = 1440 * 60; // 86400 means one day (24-hours)

March 27, 2011 · 1 min · rodush

Отслеживание ошибок и уведомлений PHP

Иногда бывает необходимо отследить некритические ошибки, возникающие в работе РНР скрипта (E_WARNING, E_NOTICE, etc.) и куда-то их грамотно собрать. К примеру, мы хотим сделать валидацию XML файла с помощью XMLReader (кстати, об этом, думаю, можно рассказать в отдельной публикации). В случае, если XML невалидный, то выбросить исключение, прекратив дальнейшую работу. Все ошибки валидации выдаются через “WARNING”-сообщения. Для того, чтобы получить такое сообщение можно поступить следующим образом: // Track the errors (to be able to store the PHP error message) $oldConfigValue = ini_set('track_errors', '1'); while ($xmlReader->read()) {} // полностью читаем XML if (!$xmlReader->isValid()) { throw new Exception('XML does not conform to schema. ' . $php_errormsg); } // Set back track_errors setting: ini_set('track_errors', $oldConfigValue); Здесь мы сначала устанавливаем директиву РНР 'track_errors' (Отслеживать ошибки) в TRUE (1). А далее — magic! 🙂 ...

March 20, 2011 · 1 min · rodush

Virtual box — как увеличить размер диска

В своей практике использую Virtual box для изучения Linux ОС под основной системой Windows. Несколько раз сталкивался с ситуацией, когда на виртуальном жестком диске Virtual box’a заканчивалось место. Создавать новый диск большего размера и начинать работу с чистого листа как-то не привлекает. Для решения такой проблемы сейчас я лично знаю 2 метода. Начну с более (очень) простого, о котором узнал совсем недавно и был приятно обрадован, насколько легко решается задача. ...

December 11, 2010 · 2 min · rodush