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

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

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

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

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

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

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

Первая ссылка: «SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 1 данных JSON»

Peter Mortensen 30.10.2019 11:20

Вторая ссылка - это удаленный вопрос «Какая хорошая стандартная компоновка кода для PHP-приложения?».

Peter Mortensen 30.10.2019 11:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
10
2
7 113
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

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

Ответ принят как подходящий

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

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

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

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

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

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

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

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

starmonkey 21.11.2008 07:25

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

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

Другие вопросы по теме