У меня есть небольшой симпатичный вопрос.
При определении функций и переменных, какую конвенцию я должен использовать?
Я знаю, что они делают то же самое на практике, но я хотел бы знать, какой метод соответствует стандартам лучшей практики.
переменные
public $varname = array();
или
public $varname = [];
методы
public function foo($bar = array()){}
или
public function foo($bar = []){}
PSR-2 (от группы взаимодействия PHP Framework ) не упоминает синтаксис коротких массивов. Но, как вы можете видеть в главе 4.3, они используют короткий синтаксис массива, чтобы установить значение по умолчанию $arg3
как пустой массив.
Таким образом, для PHP> = 5.4 синтаксис короткого массива, по-видимому, является стандартом де-факто. Используйте array()
, если вы хотите, чтобы ваш скрипт выполнялся на PHP <5.4.
из документов PHP:
Начиная с PHP 5.4 вы также можете использовать синтаксис короткого массива, который заменяет array () на [].
<?php $array = array( "foo" => "bar", "bar" => "foo", ); // as of PHP 5.4 $array = [ "foo" => "bar", "bar" => "foo", ]; ?>
если вы попытаетесь использовать нотацию «[]» в более ранней версии, чем 5.4, она не удастся, и PHP выкинет syntax error
для обратной совместимости вы должны использовать синтаксис array()
.
Это зависит от того, какую версию PHP вы настраиваете. Для лучшей обратной совместимости, я бы рекомендовал вам использовать array (). Если вам не нравятся более старые версии (<PHP 5.4), я рекомендую вам использовать более короткую версию.