У меня есть вопрос по поводу синтаксиса PHP.
При определении функций и переменных, какое соглашение я должен использовать?
Я знаю, что они делают то же самое на практике, но я хотел бы знать, какой метод соответствует стандартам наилучшей практики.
переменные
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), я бы порекомендовал вам использовать более короткую версию.