@Senseich

Как грамотно и красиво писать код php?

Сегодня коснулся вопроса чистоты и грамотности кода, имеется ввиду его читаемость. К примеру:
if (isset($apples)) {
	echo $apples;
}
else {echo "Переменная удалена";}


Или так лучше:

if (isset($apples)) {

	echo $apples;
}
else {

echo "Переменная удалена";
}


Это просто пример спонтанный, чтобы понятнее вопрос был. Чтобы другие прогеры не плевались при виде моего кода ))

Посоветуйте, быть может какие то правила или путные статейки про это!
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 6
@neol
Есть тьма руководств для разных проектов, кроме упомянутого здесь PSR-2:

https://make.wordpress.org/core/handbook/best-prac...
https://symfony.com/doc/current/contributing/code/...
https://framework.zend.com/manual/2.4/en/ref/codin...
https://www.drupal.org/docs/develop/standards/codi...

Плюс в каждой команде могут быть свои правила.

Так что стиль оформления кода зависит от того какой фреймфорк или CMS вы используете или в каком коллективе работает.

Если пишете что-то совсем независимое, то PSR-2 - хороший выбор, но использовать его в проекте со своими устоявшимися правилами может быть странным решением.

PS Дополню, что есть инструменты для автоматического исправления оформления, не привязанные к IDE ( например cs.sensiolabs.org ), так что вы можете писать как вам угодно и потом подгонять всё под какой-то стандарт.
Ответ написан
Maksclub
@Maksclub
maksfedorov.ru
Есть такой способ записи, начиная с PHP 7:
php.net/manual/ru/language.operators.comparison.ph...
<?php
echo $apples ?? "Переменная удалена";

Пример работы: https://ideone.com/DsjQfY


Code Sniffer
Есть замечательное решение — поставьте и после написания кода прогоняйте через него, он вам ругаться будет на пробелы, отступы и все-все-все. Можно даже хук поставить для гита и когда вы будете коммитить, он првоерит ваш код, и если есть косяки — не примет коммит
Ответ написан
@asd111
Для php есть стандарт PSR.
Можно поставить php storm и он сам будет тебе выравнивать как надо в PSR по CTRL+L
Ответ написан
@w0key
if (isset($apples)) {
   echo $apples;
} else {
   echo "Переменная удалена";
}
Ответ написан
@oxidmod
лучше не делать echo в своем коде где попало. Вывод в аутпут - это сайд еффект. сайд еффекты должны находится на границе приложения (контроллер \ консольная команда \ слой работы с хранилищем)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 2 000 до 4 000 usd.
HTML Academy Санкт-Петербург
от 130 000 до 140 000 руб.
Duotek Москва
До 120 000 руб.
14 авг. 2018, в 16:33
1000 руб./за проект
14 авг. 2018, в 16:15
6000 руб./за проект
14 авг. 2018, в 16:12
500 руб./за проект