стандарты — массив PHP против [] в объявлении метода и переменной

У меня есть вопрос по поводу синтаксиса PHP.

При определении функций и переменных, какое соглашение я должен использовать?

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

переменные

public $varname = array();

или же

public $varname = [];

методы

public function foo($bar = array()){}

или же

public function foo($bar = []){}

41

Решение

PSR-2 (от Группа по взаимодействию с PHP Framework) не упоминает синтаксис короткого массива. Но, как вы можете видеть в глава 4.3 они используют синтаксис короткого массива, чтобы установить значение по умолчанию $arg3 быть пустым массивом.

Таким образом, для PHP> = 5.4 синтаксис короткого массива представляется стандартом де-факто. Использовать только array(), если вы хотите, чтобы ваш скрипт работал на PHP <5.4.

48

Другие решения

из 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() синтаксис.

16

Это зависит от того, на какую версию PHP вы ориентируетесь. Для лучшей обратной совместимости, я бы порекомендовал вам использовать array (). Если вы не заботитесь о старых версиях (< PHP 5.4), я бы порекомендовал вам использовать более короткую версию.

6
По вопросам рекламы [email protected]