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).



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

Задайте вопрос специалисту



Добрый день многоуважаемое сообщество.

Сегодня на нашем сайте появился новый блог Q&A (Вопросы и ответы). В этом блоге Вы можете задавать свои самые каверзные (и не очень) вопросы, связанные с программирование на PHP. Наши специалисты окажут Вам совершенно бесплатную консультацию по Вашему вопросу.

Для того, чтобы задать вопрос, необходимо подписаться на блог Q&A и создать в нем топик-вопрос.

Надеемся, что нововведение окажется полезным для Вас.

С уважением, PHP Time.

Ответ на «микрооптимизацию в PHP»

Оригинал: A Response to “Micro-Optimizations in PHP”

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

Обидно, что я получаю такие низкокачественные посты из рассылки PHP. Подобные статьи путают разработчиков, что, в свою очередь, способствует созданию некачественных приложений в сообществе PHP-разработчиков. Эта ситуация заставляет задуматься о росте числа хейтеров PHP.

Я не сомневаюсь в том, что автор писал статью с исключительно добрыми намерениями. Но, по крайней мере, он должен был предоставить доказательства сделанных в статье заявлений. В конце концов, хороший разработчик должен всегда спрашивать,почему? Я прочитал рекомендуемые в том посте оптимизации. Я оценил рекомендации с точки зренияабсолютной правды и обозначил каждую из них как истина или ложь. Пожалуйста, ознакомьтесь с полным текстом, прежде чем заметите ошибки.

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

Правильный взгляд на временные зоны в PHP

Оригинал: Timezones, the Right Way


Это небольшая статья о том, как работать с временными зонами при хранении значений даты / времени в базе данных. Базы данных или язык программирования, который вы решите использовать, решающего значения не имеет, так как описываемые в статье явления универсальны. Свои действия я буду показывать на примере использования связки MySQL и PHP. Проблема, связанная с временными зонами, достаточно банальна. Многие часто забывают об их существовании, а некоторые считают их чем-то чрезмерно сложным. Обычно при настройке базы данных или при пользовании услугами веб-хостинга ваши временные зоны настроены по умолчанию. Настройки по умолчанию подойдут, если вы работаете с одним сервером, но что произойдет, если вы решите переместить его?

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