Ubuntu 14.04, PhpStorm и старый баг горячих клавиш

Приветстсвую, уважаемый читатель!

Сегодня хочу поделиться решением древнего бага, найденым на просторах интернета. Ранее, в ubuntu не работали горячие клавиши в русской раскладке. И вроде какбы этот баг пофиксили, но не везде. В приложениях на яве, например PhpStorm, горячие клавиши в русской расскладке по-прежнему не работали. С чем это связанно — неясно. Кто за это должен отвечать — непонятно.

Но бодрый пользователь гитхаба zheludkovm выпустиль патч, для исправления этого бага.

Читать дальше →

Принцип открытости/закрытости

Оригинал: http://www.sitepoint.com/the-open-closed-principle/

Должен признаться, когда впервые увидел академическое определение принципа открытости/закрытости, его смысл был для меня удивительно ясен. Я отбросил из определения весь технический жаргон, и принцип читался как заклинание, которое мы слышали раньше много раз: «Не ломай ядро».
Ну, правда, здесь существует некоторая двусмысленность высказывания, так как есть по крайней мере два общих подхода к поддержанию «ядра» в полной сохранности, позволяющие аккуратно расширять его функциональные возможности. Первый подход (вот почему я использовал намеренно термин «расширение») — Наследование. Наследование является, пожалуй, самым переоцененным приемом для повторной реализации. Такой процесс легко осуществим, но здесь существует определенный риск разрушить хрупкую иерархию моделей. Второй подход называется Композиция. Подход не так прост, как наследование, но это тоже довольно аккуратный способ расширить программный модуль, не меняя его.


Читать дальше →

Почему некоторые PHP-разработчики предпочитают статические API?

Оригинал: Why do some PHP Developers <3 Static APIs?

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

Читать дальше →

FAQ: Как заставить IDE автокомплитить scope методы в ActiveRecord Yii2

В последнее время часто стали задавать вопрос — как же заставить IDE дополнять предустановленые в модели scope методы. Для начала посмотрим, как разработчики фреймворка предполагают работу со scopes.

Вкратце. В модели создается статический метод, который дергается классом ActiveQuery черезе магический метод __call. Но эти методы не подхватываются IDE (на примере PhpStorm 7).



Читать дальше →