Intereting Posts
Получить официальный часовой пояс в PHP? Nginx 403 запрещен для всех файлов Получение данных из раскрывающегося списка с множественным выбором с PHP для вставки в MySQL обновление связанных таблиц в торте Как отображать адрес электронной почты для пользователей, но скрывать от робота? Есть ли простой способ сделать это с помощью PHP, Javascript или JQuery? Cakephp медленный на ovh Получение результата из процедуры в laravel – удаление квадратных скобок из ответа Разделить предложение на отдельные слова md5 хеширование с использованием пароля как соли? Как настроить сообщения об ошибках регулярного выражения Zend_Form? Отображение изображений из пути в PHP из MySQL AngularJS + Laravel 5 Аутентификация пользователей для просмотра в локальном часовом поясе Как использовать настраиваемое поле для добавления класса в сообщение? PHP, как извлечь массив ключей и значений без индекса

PHP-массив vs в описании метода и переменной

У меня есть небольшой симпатичный вопрос.

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

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

переменные

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), я рекомендую вам использовать более короткую версию.