PHP
Веб-агентство » Цифровые новости » Рекомендации по PHP: параметры типов

Рекомендации по PHP: параметры типов

Есть практики, которым мы учимся в школе, те, которые мы используем из-за лени, те, которые мы используем по привычке, будь то на виду или систематически копируя и вставляя. Со временем и опытом становится ясно, что мы ищем все более четкие методологии и синтаксисы. Несмотря на тенденции, которые различаются вокруг каждого языка, мы часто можем определить, читая код, у кого из нашей команды есть такой синтаксис. В C # пуристы имеют привычку начинать все свои интерфейсы с «I». Например .

PHP, свободный синтаксис... слишком свободный?

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

Типа его параметры, для чего? И почему это хорошая практика?

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

Зачем тратить время на написание типа данных?
Действительно, но давайте сразу сравним плюсы и минусы.

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

В плюсы могу констатировать небольшой список:

  1. Это помогает мне создавать мой код. В моем прототипе (объявлении моей функции) я знаю, что такой-то и такой-то аргумент должен бытьбежать ou Int.
  2. Это позволяет мне отлаживать быстрее. Если вы объявили, что вам нужен аргумент типа Информация о пользователе в вашем методе PHP будет ожидать экземпляр User. Или попробуйте дать aбежать или любой другой тип, отличный от указанного, вызовет немедленную остановку PHP. По общему признанию, ошибка может быть довольно "тяжелой", но все остальные ваши разработки вряд ли будут иметь сбой.
  3. Моим коллегам нравится читать мой код как книгу. Действительно, когда мы знаем, что метод setItem(…) принимает аргумент типа Foo, помогает. Нет ?
    1
    2
    функция setItem($ элемент);
    функция setItem(Фу $ предмет);

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

Подвешенная проблема с типом смешанный

В самом деле, я все-таки должен признать слабость, типа смешанный. Ужасный парень и быть забанен. Для тех, кто программировал на C/C++, это похоже на объявление указателя экземпляра с помощью (void *).

Я советую вам по возможности не использовать этот тип и ограничить его использование. Пример ?
Метод setPoireau(mixed $poireau) принимает в качестве параметров лук-порей, но, поскольку он не типизирован, вы также можете задать ему детеныша тюленя… Проблематично.

Если вы хотели заставить есть лук-порей, вы знаете, что вам нужно сделать, и давайте признаем, что у вас извращенный ум, и что вы хотели бы иметь возможность давать овощи, я предлагаю вам использовать интерфейс (или абстрактный класс ) и определите свой метод следующим образом.

1
функция setЛик(я овощ $ лук-порей);

Я соглашусь, что этот пример, возможно, не самый лучший, но он заслуживает того, чтобы быть ясным.

Заключение

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

Возможно, когда-нибудь у нас будет право напечатать возвращаемое значение метода, который поможет нам в нашем стремлении к еще лучшей семантике.

★ ★ ★ ★ ★