Стандарты кодирования PHP

Я искал некоторые рекомендации по компоновке PHP-кода. Я нашел несколько хороших ссылок, например:

http://www.dagbladet.no/development/phpcodingstandard/

и этот вопрос о SO.

Тем не менее, ничто из этого не доходит до того, что мне особенно интересно, это интеграция HTML и PHP. Например:

  1. нормально ли иметь PHP-файл, который начинается с HTML-тегов и только там, где требуется PHP? Или у вас есть только один раздел php, который содержит все?
  2. Если у вас есть кусок PHP-кода, в середине которого есть набор эхо-сигналов, которые просто выводят фиксированный бит HTML, лучше ли вырваться из php и просто поместить HTML напрямую?
  3. Должны ли все функции определяться в выделенных php-файлах или это нормально, чтобы определить набор функций в верхней части файла и вызвать их позже в том же файле?

Вероятно, есть другие вопросы, которые я хотел бы задать, но на самом деле я ищу, чтобы кто-то указывал мне на какой-то ресурс в Интернете, который предлагает руководство по общей идее о том, как сочетать HTML и PHP.

Для этих вещей действительно нет единого стандартного стандарта. В этом смысле большинство языков являются более ограничительными, чем PHP.

В последующие годы появилось много так называемых фреймворков, и среди прочего они определяют набор правил для всего: от наименования до места размещения файлов и к какому стилю должен следовать ваш код. Существует несколько фреймворков, поэтому вы не можете выбрать один и назвать его стандартом. Однако в большинстве структур есть подмножество общности. Например, большинство следует за некоторыми вариантами стандартов кодирования PEAR .

Объединение кода программирования и выходных данных (включая HTML) – это ИМХО очень плохая идея. Большинство гуру PHP, которые я знаю, используют механизм шаблонов, такой как Smarty, чтобы помочь разделить две вещи.

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

Серьезно – вы должны попробовать и следовать шаблону MVC в любом веб-приложении, поскольку это довольно стандартная практика, независимо от языка. В PHP это может быть достигнуто быстро и грязно, рассматривая index.php как ваш контроллер и разделяя логику данных и представление по файлу. Этот небольшой шаг, по крайней мере, позволит вам переместить свой код в полнофункциональную структуру, когда и когда вы выберете.

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

  • Функции, которые ничего не отображают, не имеют места в файле, который что-то отображает.
  • Печать переменных, а не HTML. Всякий раз, когда вы выводите HTML, выходите из PHP и пишите HTML с инструкциями печати для обработки любых небольших деталей, которые необходимы (действия для форм, идентификаторы для элементов управления и т. Д.).
  • Помните, что когда вы включаете файл, который выходит из PHP для печати контента, это будет обрабатываться так же, как если бы вы делали это в основном файле. Таким образом, вы можете создавать простые шаблоны, содержащие только файлы PHP, эти файлы будут печатать переменные в нужных местах. Ваш index.php (или что-то еще) выполняет всю реальную работу, но весь экран выполняется вторичным «шаблоном».

Многие учебники PHP смешивают логику и код отображения. Мне потребовались годы, чтобы нарушить вредные привычки, которые поощряли меня. По моему опыту, вы не можете слишком многое отделять PHP, и энтропия будет тянуть вас к смешанному коду, если вы не будете бороться с ним.

Стандарты кодирования должны быть больше, чем планировать ваш синтаксис, но, к сожалению, это то, что они, как правило, находятся в PHP.

FWIW, phc будет довольно печатать ваш код в стиле Zend.

 WHAT ARE CODING STANDARDS? Coding standards (also sometimes known as 'Coding Conventions' or 'Coding Rules') are a set of guidelines that a group of developers stick to, to ensure that they are all essentially “singing from the same hymn sheet”. It means that they all code in the same format and therefore, regardless of who is next to work on a particular bit of code, the syntax and formatting used will be instantly familiar. Naming conventions 

Использование надлежащих соглашений об именах считается хорошей практикой. Иногда программисты склонны использовать X1, Y1 и т. Д. Как переменные и забывают заменить их значимыми, вызывая путаницу.

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

Пример: переменную для взвешивания в качестве параметра для грузовика можно назвать TrkWeight или TruckWeightKilograms, причем TruckWeightKilograms является более предпочтительным, поскольку он мгновенно узнаваем. См. Имена переменных CamelCase.