PHP Profi

Тонкости языка

Тонкости языкаСоздание строго типизированных массивов и коллекций с использованием value object

Одной из особенностей языка, анонсированной еще в PHP 5.6, было добавление синтаксиса ... — для обозначения того, что функция или метод принимает переменную длину аргументов.

Что-то я редко встречаю, чтобы это было совмещено с указанием типа, в частности, для создания типизированных массивов.

Например, мы можем создать класс Movie с методом для задания массива дат выхода, который принимает только DateTimeImmutable объекты:

class Movie {
  private $airdates = [];

  public function setAirDates(\DateTimeImmutable ...$airdates) {
    $this->airdates = $airdates;
  }

  public function getAirDates() {
    return $this->airdates;
  }
}
2017-04-13 alek13

Тонкости языкаТипы данных в PHP и MySQL

MySQL   PHP

С тех пор как был выпущен PHP 7.0, большое внимание уделяется скалярным типам. Сохранять типы данных внутри вашего приложения теперь довольно просто. Но когда речь идёт о внешних системах, таких как база данных, то всё не так всё гладко, как казалось изначально.

2017-03-28 alek13

Тонкости языкаПочему не стоит злоупотреблять абстракцией

Некоторое время назад я начал работать над уже существующим проектом. Прежде чем погрузиться в него, я прочитал документацию. В самом начале файла contributing.md мне встретилось следующее высказывание: "Абстракция везде, где это возможно". Вскоре я заметил, что в этом проекте гораздо больше абстрактных классов, чем обычно. Зачастую это приводит к появлению кода, который невозможно изменять и обладающего лишними зависимостями.

2015-10-18 irul

Тонкости языкаУскоряем запросы в БД с помощью PDO и итераторов

Когда вы просматриваете километры кода, у вас вполне может возникнуть вопрос: "Почему все сделано так, как сделано?" Лично я особенно замечаю вещи, которые могут и должны быть улучшены, когда дело касается тяжелых запросов в БД. 

2015-08-31 solD1Er

Тонкости языкаSPL итераторы вопреки производительности

 

Итераторы SPL вопреки производительности

2015-04-27 irul

Тонкости языкаРеализация поиска созвучных слов на PHP — Небольшой пример использования функций metaphone и levenshtein.

В этом уроке я покажу вам, как можно использовать две малоизвестные функции PHP (metaphone($str) и levenshtein($str1, $str2)) для поиска созвучных слов на PHP. Поставив эти функции, вы получите исключительные результаты при сопоставлении фраз - для поиска орфографических ошибок или просто для нахождения фраз, звучащих одинаково.

2015-02-03 irul

Тонкости языкаИнтерфейсы для трейтов

Трейты - это не только копипаст на уровне компилятора, есть свои нюансы, знание и  использование которых может вам очень пригодиться.

Исследуем один  из таких нюансов и по возможности его усовершенствование на уровне языка. Посмотрим, как мы можем решить одну проблему во время выполнения, но было бы здорово иметь эту возможность в самом PHP.

2014-11-23 irul