<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

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

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Работа с аннотациями в PHP

Работа с аннотациями в PHP

Во всех современных фреймворках очень часто используются аннотации. В PHP аннотации реализуются через Reflection API.

Вот пример того, как аннотация используется в контроллерах:


/**
* @Folder('src/Controllers')
* @Type('Controller')
*
*/
class PageController extends Controller
{
    
    /**
    * @Route('/')
    *
    */
    public function actionIndex() : Response
    {
        return new Response('Главная страница');
    }
    
    
    /**
    * @Route('/contacts/')
    *
    */
    public function actionContacts() : Response
    {
        return new Response('Наши контакты');
    }
    
    
    /**
    * @Route('/article/(\d+)')
    *
    */
    public function actionArticle(int $id) : Response
    {
        return new Response('Наши контакты');
    }

}

Как видно, аннотации в PHP обозначаются как в примере выше: сначала идет знак @, а затем название аннотации.

Получить эти аннотации для дальнейшей обработки можно с помощью Reflection API. Пример скрипта ниже:

$ref = new ReflectionClass(PageController::class);

// получаем комментарии к классу
print $class_comments = $ref -> getDocComment();

// получаем комментарии к методу
$method_comments = $ref -> getMethod('actionContacts') -> getDocComment();
print $method_comments;

// регулярное выражение для получения аннотации
// в зависимости от вашего типа аннотации, оно можеть быть разным
$pattern = "##";

// получаем все аннотации для класса
preg_match_all($pattern,$method_comments, $matches)

print_r($matches);

Вот так можно вытащить документированные комментарии к классу или методу в PHP.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (3):

Silver78 Silver78 21.02.2019 14:51:25

Не пойму зачем писать такие "статьи"? Те, кто ничего не знал на эту тему так ничего и не поймут. А тем, кто в курсе, тем эта статья и нах не нужна! Если вам надо писать такие статьи для продвижения сайта, то уберите их из рассылки хотя бы!

Ответить

Castels Castels 21.02.2019 15:51:39

Почему не поймут, скажите, пожалуйста? Что именно не понятно?

Ответить

porsake porsake 21.02.2019 20:59:34

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

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.