Миграция Doctrine с аннотаций на атрибуты

Начиная с PHP 8 в PHP были добавлены атрибуты, которые доступны теперь нативно. В будущем они полностью заменят аннотации. Библиотеки стали переходить на использование нативного синтаксиса.

Если вы используете doctrine, то при миграции на новую версию PHP возникает задача миграции аннотаций на атрибуты.

Сделать это можно при помощи rector. Для этого нужно:

  • Добавить rector как dev-зависимость: composer require rector/rector --dev
  • Создать конфигурационный файл в корне проекта с именем rector.php
<?php

declare(strict_types=1);

use Rector\Doctrine\Set\DoctrineSetList;
use Rector\Symfony\Set\SymfonySetList;
use Rector\Symfony\Set\SensiolabsSetList;
use Rector\Config\RectorConfig;

return function (RectorConfig $rectorConfig): void {
    $rectorConfig->sets([
        DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,
        SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES,
        SensiolabsSetList::FRAMEWORK_EXTRA_61,
    ]);
};
  • Запустить вызвав в консоли: vendor/bin/rector process src где src — папка, для которой нужно запустить обработку. Можно также ограничить только директорией с сущностями — тогда src/Entity
  • Поправить конфигурацию doctrine в файле config/doctrine.yaml в маппинге нужно удалить строку: type: annotation

Android: Установка среды разработки на Ubuntu 12.10

И добрался я до Линукса :) Когда-то писал я о том, как настраивается Eclipse для разработки под Android в Windows 7, но можно работать и из-под бесплатного-свободного-открытого Linux. Ubuntu кажется мне наиболее дружественной и простой (про Юнити, тихо, пожалуйста :) ) Давайте я покажу, как все просто настраивается на Ununtu.Как я уже написал, буду использовать Ubuntu 12.10, думаю, в других версиях отличия будут невелики.

Continue reading

Полезный сайт — сниппеты

Бывают такие кусочки кода, которые один раз написал и пользуешься. Это сниппеты. Маленькие, полезные. На Хабре нашел сайтик, где люди решили собрать коллекцию таких вот минифункций и программ.

Вот

Публикую, чтобы самому не забыть, да другим показать.

Обновление в go.pyatnitsev.ru

Всем привет!

Сегодня обновил сервис go.pyatnitsev.ru, который позволяет создавать короткие алиасы на сайты. Почитать подробнее можно тут и тут

Сейчас допустимыми сокращениями являются: http://go.pyatnitsev.ru/somename/name

Надеюсь, так будет удобнее в некоторых случаях.

php,mysql, Reg_exp : http://go.pyatnitsev.ru или удобная навигация

Мне сильно понравилась мысль коротких ссылок на сайтах. Нет, это не сервисы как bit.ly или goo.gl, а страницы переадресации внутри домена. Таковые есть у Microsoft, Intel. Нужны, чтобы их можно было легко запомнить и раздать клиентам, для их же удобства.

Захотелось сделать такую же страничку. Сделал. Дело было так:

Иду и создаю поддомен http://go.pyatnitsev.ru, пока он развертывается, начинаю продумывать структуру базы и php-кода, который этим занимался бы.

Continue reading

О Виртуальных машинах. Кратко

А вы знаете что такое виртуальная машина? По-хорошему, определение можно глянуть в Википедии, но если кратко-это компьютер в компьютере.

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

  • Пониженное разрешение — чем не netbook?
  • Мало оперативной памяти — старый компьютер вот он

Continue reading

Об орфографии

А вот сейчас я буду работать капитаном очевидность, но тем не менее начинающим поможет.

Есть такая штука, называется система orphus, это скрипт, который добавляет возможность по нажатию комбинации клавиш Ctrl + Enter отправлять сообщение об орфографической ошибке на странице.

С сегодняшнего дня эта система добавлена в блог, о чем красноречиво свидетельствует кнопка справа:

Пишу я, мягко говоря, не сильно грамотно, так что просьба к читателям-ежели что найдете-ошибку/опечатку/неточность в тексте — выделяйте, нажимайте выше обозначенные клавиши и отправляйте ваше сообщение. Буду премного благодарен

Декодер

Радует один из сервисов сделанный в студии Артемия Лебедева. Я говорю о декодере, маленькой и очень простой страничке, которая позволяет просто переводить текст из нечитабельной формы в понятную человеку.

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

Средство Must Have :)