Почему примеры PHP-массивов оставляют конечную запятую?



Я видел примеры, подобные следующим:



$data = array(
'username' => $user->getUsername(),
'userpass' => $user->getPassword(),
'email' => $user->getEmail(),
);


однако на практике я всегда не левая точка с запятой. Я делаю что-то неправильно, или это просто "другой" способ сделать это? Если бы я использовал фреймворк, не будет ли конечная запятая негативно влиять на генерацию кода? Я также видел использование конечных запятых в объявлениях массивов на других языках (Java, C++), поэтому я предполагаю, что причины оставления конечных запятых не являются конкретными к PHP, но это вызвало мой интерес.

631   7  

7 ответов:

почему примеры PHP-массивов оставляют конечную запятую?

потому что они могут. :) Тег PHP ручной ввод для массива гласит:

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

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

говоря о других языках: будьте осторожны с этим в JavaScript. Firefox будет снисходительно терпеть конечные запятые; Internet Explorer, по праву, бросит ошибку.

Это хорошая практика при определении массива в несколько строк. Это также поощряется стандарты кодирования ZendFramework:

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

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

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

потому что он сохраняет записи однородными.

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

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

разрешив трейлинг запятая на последнем элементе, это освобождает программиста от необходимости стремиться к этой раздражающей и бесплодной детали.

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

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

Comments

    Ничего не найдено.