Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Основной стандарт кодирования psr-1

Лекция



Привет, сегодня поговорим про основной стандарт кодирования psr-1, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое основной стандарт кодирования psr-1 , настоятельно рекомендую прочитать все из категории Разработка программного обеспечения и информационных систем.

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

Ключевые слова «НЕОБХОДИМО»/«ДОЛЖНО» («MUST»), «НЕДОПУСТИМО»/«НЕ ДОЛЖНО» («MUST NOT»), «ТРЕБУЕТСЯ» («REQUIRED»), «НУЖНО» («SHALL»), «НЕ ПОЗВОЛЯЕТСЯ» («SHALL NOT»), «СЛЕДУЕТ» («SHOULD»), «НЕ СЛЕДУЕТ» («SHOULD NOT»), «РЕКОМЕНДУЕТСЯ» («RECOMMENDED»), «ВОЗМОЖНО» («MAY») и «НЕОБЯЗАТЕЛЬНО» («OPTIONAL») в этом документе должны расцениваться так, как описано в RFC 2119.

1. Обзор

  • В файлах НЕОБХОДИМО использовать только теги <?php и <?=.

  • В файлах с кодом PHP НЕОБХОДИМО использовать только UTF-8 без BOM.

  • В одном файле СЛЕДУЕТ либо объявлять символы (классы, функции, константы и т. д.),либо выполнять побочные действия (т. е. производить вывод, менять значения .ini и т. д.), но НЕ СЛЕДУЕТ делать и то и другое одновременно.

  • НЕОБХОДИМО, чтобы пространства имен и классы соответствовали стандартам PSR, описывающим автозагрузку: [PSR-0, PSR-4].

  • Классам НЕОБХОДИМО давать имена в стиле StudlyCaps.

  • Константам классов НЕОБХОДИМО давать имена в верхнем регистре с символом подчеркивания в качестве разделителя.

  • Методам НЕОБХОДИМО давать имена в стиле camelCase.

2. Файлы

2.1. Теги PHP

В коде PHP НЕОБХОДИМО использовать полные теги <?php или сокращенную форму <?=. Использование других вариантов тегов НЕДОПУСТИМО.

2.2. Об этом говорит сайт https://intellect.icu . Кодировка символов

Для кода PHP НЕОБХОДИМО использовать только UTF-8 без BOM.

2.3. Побочные действия

В файле СЛЕДУЕТ объявлять новые символы (классы, функции, константы и т. д.) не выполняя побочных действий, либо СЛЕДУЕТ выполнять логику, но НЕ СЛЕДУЕТ делать и то и другое сразу.

Выражение «побочные действия» означает выполнение при подключении файла действий, не связанных напрямую с объявлением классов, функций, констант и т. д.

«Побочные действия» включают в себя (но не ограничиваются): генерацию вывода, явное использование require или include, подключение к внешним службам, изменение значений ini, вбрасывание ошибок или исключений, изменение глобальных или статических переменных, чтение или запись файлов и так далее.

Ниже приведен пример файла, содержащего и объявления и побочные действия, т. е. пример того, как делать не надо:

<?php
// побочное действие: изменение значений ini
ini_set('error_reporting', E_ALL);

// побочное действие: подключение файла
include "file.php";

// побочное действие: генерация вывода
echo "<html>\n";

// объявление
function foo()
{
    // тело функции
}

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

<?php
// объявление
function foo()
{
    // тело функции
}

// условное объявление *не является* побочным действием
if (! function_exists('bar')) {
    function bar()
    {
        // тело функции
    }
}

3. Пространства имен и имена классов

НЕОБХОДИМО, чтобы пространства имен и классы соответствовали стандартам "автозагрузки" [PSR-0, PSR-4].

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

Классам НЕОБХОДИМО давать имена в стиле StudlyCaps.

В коде, написанном для PHP версий 5.3 и новее, НЕОБХОДИМО использовать формальные пространства имен.

Пример:

<?php
// PHP 5.3 и новее:
namespace Vendor\Model;

class Foo
{
}

В коде, написанном для PHP версий 5.2.x и более ранних, СЛЕДУЕТ использовать соглашение о псевдо-пространствах имен с использованием префикса Vendor_ в именах классов.

<?php
// PHP 5.2.x и более ранние:
class Vendor_Model_Foo
{
}

4. Константы классов, свойства и методы

Понятие «класс» относится ко всем классам, интерфейсам и трейтам.

4.1. Константы

Константам классов НЕОБХОДИМО давать имена в верхнем регистре с символом подчеркивания в качестве разделителя.

Пример:

<?php
namespace Vendor\Model;

class Foo
{
    const VERSION = '1.0';
    const DATE_APPROVED = '2012-06-01';
}

4.2. Свойства

Это руководство намеренно избегает каких бы то ни было указаний, касающихся использования стилей $StudlyCaps$camelCase, или $under_score для имен свойств.

Какое бы соглашение об именовании не использовалось, его СЛЕДУЕТ последовательно применять ко всей соответствующей области кода. Эта область может быть представлена уровнем разработчика, пакета, класса или метода.

4.3. Методы

Методам НЕОБХОДИМО давать имена в стиле camelCase().

Надеюсь, эта статья про основной стандарт кодирования psr-1, была вам полезна, счастья и удачи в ваших начинаниях! Надеюсь, что теперь ты понял что такое основной стандарт кодирования psr-1 и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Разработка программного обеспечения и информационных систем

Из статьи мы узнали кратко, но содержательно про основной стандарт кодирования psr-1
создано: 2015-02-16
обновлено: 2021-03-13
235



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Разработка программного обеспечения и информационных систем

Термины: Разработка программного обеспечения и информационных систем