Size: a a a

2020 September 23

AK

Andrew Kovalyov in symfony
правда я не знаю как себя ведет domcrawler на больших XML файлах, возможно https://github.com/prewk/xml-string-streamer подойдет лучше
источник

A

Andrey in symfony
Всем привет. Если кто писал доку  для апи на свагере, подскажите, как вы разделяли path`ы по файлам? Я столкнулся с проблемой: при импорте через
imports:
 - {resource: 'nelmio/**/*.{yaml}'}
перезаписываются роуты, а не мерджатся.
источник

IS

Igor Sh in symfony
Через $ref
источник

A

Andrey in symfony
Igor Sh
Через $ref
пробовали по доке https://swagger.io/docs/specification/using-ref/
$ref: '../document.yaml'
он не ругается что такого нет, но во вью не отображаются роуты
источник

IS

Igor Sh in symfony
Для свагера нужно потом собрать целий файл со всех файлов:
api.yaml:
...
paths:
 /v1/users/{id}:
   $ref: ‘./users.yaml#/paths/~1v1~1users~1{is}’

В users.yaml соответственно должен бить включаемий раут в paths блоке
источник

ЕС

Евгений Скоробогатый... in symfony
Добрый день
Мне понадобилось хранить конфигурацию подключения в отдельном файле. Для этого создал отдельный класс врапер.
В doctrine.yaml:
doctrine:
   dbal:
       connections:
           default:
               wrapper_class: App\Service\Database\ExtendedCustomConnection


Сам класс
namespace App\Service\Database;


use Doctrine\Common\EventManager;
use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\Connection as Connection;
use Doctrine\DBAL\Driver;
use Symfony\Component\Yaml\Yaml;

class ExtendedCustomConnect extends Connection
{

   public function __construct(array $params, Driver $driver, ?Configuration $config = null, ?EventManager $eventManager = null)
   {

       $config = Yaml::parseFile(__DIR__.'/../../../config.yaml');
       $params['dbname'] = $config['connections']['db'];
       $params['host'] = $config['connections']['address'];
       $params['port'] = $config['connections']['port'];
       $params['user'] = $config['connections']['username'];
       $params['password'] = $config['connections']['password'];

       parent::__construct($params, $driver, $config, $eventManager);
   }
}


Но получаю ошибку
request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\DBALException: "The given 'wrapperClass' App\Service\Database\ExtendedCustomConnection has to be a subtype of \Doctrine\DBAL\Connection."

Почему?
источник

AK

Andrew Kovalyov in symfony
Евгений Скоробогатый
Добрый день
Мне понадобилось хранить конфигурацию подключения в отдельном файле. Для этого создал отдельный класс врапер.
В doctrine.yaml:
doctrine:
   dbal:
       connections:
           default:
               wrapper_class: App\Service\Database\ExtendedCustomConnection


Сам класс
namespace App\Service\Database;


use Doctrine\Common\EventManager;
use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\Connection as Connection;
use Doctrine\DBAL\Driver;
use Symfony\Component\Yaml\Yaml;

class ExtendedCustomConnect extends Connection
{

   public function __construct(array $params, Driver $driver, ?Configuration $config = null, ?EventManager $eventManager = null)
   {

       $config = Yaml::parseFile(__DIR__.'/../../../config.yaml');
       $params['dbname'] = $config['connections']['db'];
       $params['host'] = $config['connections']['address'];
       $params['port'] = $config['connections']['port'];
       $params['user'] = $config['connections']['username'];
       $params['password'] = $config['connections']['password'];

       parent::__construct($params, $driver, $config, $eventManager);
   }
}


Но получаю ошибку
request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\DBALException: "The given 'wrapperClass' App\Service\Database\ExtendedCustomConnection has to be a subtype of \Doctrine\DBAL\Connection."

Почему?
App\Service\Database\ExtendedCustomConnect !== App\Service\Database\ExtendedCustomConnection
источник

AK

Andrew Kovalyov in symfony
короче класс нормально свой назови
источник

A

Andrey in symfony
Igor Sh
Для свагера нужно потом собрать целий файл со всех файлов:
api.yaml:
...
paths:
 /v1/users/{id}:
   $ref: ‘./users.yaml#/paths/~1v1~1users~1{is}’

В users.yaml соответственно должен бить включаемий раут в paths блоке
подскажите где я ошибоюсь:
мой /config/packages/nelmio_api_doc.yaml
nelmio_api_doc:
 documentation:
   paths:
     /api/project/{id}/name:
       $ref: '%kernel.project_dir%/config/packages/nelmio/path/project/projects.yaml'
мой
/config/packages/nelmio/path/project/projects.yaml
get
:
tags:
   - Project
 description: Returns project name
 responses:
   404:
     $ref: '#/responses/not_found'
   200:
     $ref: '#/responses/success'
источник

ЕС

Евгений Скоробогатый... in symfony
Andrew Kovalyov
короче класс нормально свой назови
Спасибо )))
источник

ЕС

Евгений Скоробогатый... in symfony
Andrew Kovalyov
короче класс нормально свой назови
Слона то я и не заметил.... )
источник

ПГ

Павел Г. in symfony
Приветствую. Имеется Knp Paginator . Можно ли как то установить fetch mode на кастомный объект, если QB строится от connection ?
источник

gp

gogi power in symfony
Павел Г.
Приветствую. Имеется Knp Paginator . Можно ли как то установить fetch mode на кастомный объект, если QB строится от connection ?
там есть евенти, посмотри в них
источник

ПГ

Павел Г. in symfony
gogi power
там есть евенти, посмотри в них
Спс, гляну
источник

D

Do Not Disturb🤚 in symfony
Доброго времени суток, начинаю небольшой проект с 3 агрегатами,ну где то 5 сущностей. В основном CRUD с evensubsciber на доставку уведомлении. Не подскажите как грамотно и быстро спроектировать чтоб в будущем было легче отделить бизнес логику от фреймворка по мере увеличения классов и возможно доп разработчиков, сейчас вижу только  создание классов UseCase хэндлеров, для обращения к сущностям. Точнее с контроллера дергать $handler->handle($command) и возвращать в view.
источник

VS

Vlad Sobenko in symfony
Do Not Disturb🤚
Доброго времени суток, начинаю небольшой проект с 3 агрегатами,ну где то 5 сущностей. В основном CRUD с evensubsciber на доставку уведомлении. Не подскажите как грамотно и быстро спроектировать чтоб в будущем было легче отделить бизнес логику от фреймворка по мере увеличения классов и возможно доп разработчиков, сейчас вижу только  создание классов UseCase хэндлеров, для обращения к сущностям. Точнее с контроллера дергать $handler->handle($command) и возвращать в view.
Серебрянную пулю ищешь? Не бывает.
Покрой всё тестами, прикрути ci, код стайл, стат анализатор для начала.
источник

VS

Vlad Sobenko in symfony
Do Not Disturb🤚
Доброго времени суток, начинаю небольшой проект с 3 агрегатами,ну где то 5 сущностей. В основном CRUD с evensubsciber на доставку уведомлении. Не подскажите как грамотно и быстро спроектировать чтоб в будущем было легче отделить бизнес логику от фреймворка по мере увеличения классов и возможно доп разработчиков, сейчас вижу только  создание классов UseCase хэндлеров, для обращения к сущностям. Точнее с контроллера дергать $handler->handle($command) и возвращать в view.
Планируется смена фреймворка?)
источник

D

Do Not Disturb🤚 in symfony
Нет, пока подключаться к проекту опытные разрабы требуется разработать на коленке админку
источник

ПГ

Павел Г. in symfony
gogi power
там есть евенти, посмотри в них
Вышло, благодараствую еще раз 👍
источник

gp

gogi power in symfony
незачто )
источник