Pull to refresh
7
@pchelkinread⁠-⁠only

User

Send message

Enum в PHP

Reading time5 min
Views33K

Проблема


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

От перечислений требовалась гибкость и возможность использования в разных компонентах приложения. Задачи, которые должны были решать перечисления, следующие:

  • иметь возможность получить список значений перечислениях
  • интеграция с Doctrine для использования перечисления в качестве типа поля
  • интеграция с Form для использования перечислений как поле в форме для выбора нужного элемента
  • интеграция с Twig для перевода значений перечисления
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments11

Разбираемся с SOLID: Инверсия зависимостей

Reading time6 min
Views155K

Давайте глянем на определение принципа инверсии зависимостей из википедии:


Принцип инверсии зависимостей (англ. dependency inversion principle, DIP) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах. Входит в пятёрку принципов SOLID.

Формулировка:

A. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций.
B. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Большинство разработчиков, с которыми мне доводилось общаться, понимают только вторую часть определения. Мол "ну а что тут такого, надо завязывать классы не на конкретную реализацию а на интерфейс". И вроде бы верно, но только кому должен принадлежать интерфейс? Да и почему вообще этот принцип так важен? Давайте разбираться.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments21

Microsoft обновляет старые версии Skype вне зависимости от желания пользователей

Reading time1 min
Views28K
Верный, старый Скайп обновился, считайте — только что предал меня. Год назад я отключил обновления. В какой-то момент новые улучшеные уродливые смайлы и увеличивающийся с каждой версией объем потребляемой памяти вынудили отключить обновление. Это случай когда старое лучше нового.

Выглядело это так: вдруг я услышал звук выхода из скайпа. Никаких диалоговых окон.
Запустил по новой и вот он новый Скайп!
Тень сомнения пробежала по извилинам — и точно — дрянь пролезла через Windows Update!
А ведь моя версия Скайпа была выпущена еще до покупки Майкрософтом.

Одно дело если бы оно пришло вместе с обычными обновлениями, которые накатываются с перезагрузкой.
Этот же метод смахивает на установку руткитом «полезного» ПО.



Напрашивается вывод
Total votes 98: ↑38 and ↓60-22
Comments61

Перестаньте беспокоиться. Методы избавления от стресса

Reading time11 min
Views30K
Если есть лекарство, то вам не о чем беспокоиться. Вам достаточно принять его. Если же лекарства нет, то к чему беспокойство? Беспокойство лишь усугубляет страдания. Далай Лама

Эмоциональные расстройства в наше время стали абсолютной нормой. Тяжело найти человека, который никогда бы не подвергался влиянию стрессов, если, конечно, он не тибетский монах. Стресс сопровождает нас повсюду: на работе, в общественном транспорте, в торговых центрах, пробках, очередях, государственных учреждениях. Даже в отношениях с близкими, детьми и родителям переживание стрессов, как нам кажется, является нормой. И это верно, если, конечно, нормой следует считать наиболее распространенное поведение.

image
Иллюстрация: ladyiris.ru

Хочу сразу предупредить, что в тексте много букв, но если вам интересны методы борьбы с беспокойством, не поленитесь прочитать его до конца.
Читать дальше →
Total votes 99: ↑82 and ↓17+65
Comments54

Kohana, Image Preview – это просто

Reading time2 min
Views3.9K
С недавних пор, примерно год назад, перед нашей командой стояла задача выбора PHP фреймворка для реализации «серьезных» проектов. Почему в итоге выбрали Kohana, я уже и не помню, скорее всего интуитивно, подкупившись на его простоту, легкость и не высокий порог входа. На тот момент текущая версия была 3.0 и мы полные энтузиазма вгрызлись в документацию.

В любом «серьезном» проекте перед разработчиком встает задача генерации уменьшенных копий загружаемых пользователем картинок. Почитав различные HOW TO, мы решили использовать генерацию превью при запросе изображения через url.
Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments30

Information

Rating
Does not participate
Location
Томск, Томская обл., Россия
Date of birth
Registered
Activity