Роман
Ребят столкнулся с такой проблемой: (Использую: FOSUserBundle, FOSRestBundle, JmsSerialize...)
FOSUserBundle унаследываю через getParent() и для этого создал отдельный бандл "UserBundle"
При попытке настроить FOSRest стокнулся с такой ошибкой:
[Symfony\Component\Config\Exception\FileLoaderLoadException]
Cannot load resource "@UserBundle/Resources/config/routing.yml". Make sure the "UserBundle" bundle is correctly registered and loaded in the application kernel class. If the bundle is registered, make sure the bundle path "@UserBundl
e/Resources/config/routing.yml" is not empty.
В /app/config/routing.yml указываю:
user:
resource: "@UserBundle/Resources/config/routing.yml"
type: annotation
prefix: /api
Содержимое UserBundle/Resources/config/routing.yml:
user:
type: rest
resource: UserBundle/Controller/UsersController
prefix: /v1
Что делаю не так?
Роман
В AppKernel UserBundl зарегистрирован
Rodion
в своем UserBundle прописывал руты для FOSUserBundle?
Rodion
ну т.е. xml их
Роман
Где они должны хранится?
Rodion
я тут не советчик, но лично я храню в конфиге UserBundle руты для FOSUserBundle, а в AppBundle импортирую routing.yml своего UserBundle
Rodion
1. подключены ли FOSUserBundle и UserBundle в AppKernel?
2. имеет ли UserBundle файл routing.yml?
3. подключены ли нужные руты FOSUserBundle?
Rodion
тебе в эксепшне все написано
Anonymous
guzzle - http-клиент, обертка над curl на php
это я знаю, Оно так же имплемтирует PSR7 обертку над $__GET https://git.io/vDilA & co
и теперь барабанная дробь...
если у меня уже установлена эта зависимость (как зависимость от oauth2-client)
то никакой Роберт Мартин мне не запретит использовать эту зависимость не напрямую (indirect way)?
Anonymous
composer то неспроста ставит все vendor зависимости на один и тот же уровень ?
Anonymous
если у мой фреймворк использует А, который автоматом ставит Б, т.к. он от Б зависит. Мне дополнительно нужна фича, которая есть в Б. Но Б это не моя прямая зависимость. Но Роберт Мартин мне разрешит (или даже обязует) использовать Б из моего фреймворка?
Роман
1. Да, подключены
2. В UserBundle создал routing.yml не знаю правильно ли... Содержимое указал выше.
3. Что такое руты?)
P.S. В Symfony я совсем новичек, так что особо комнями не закидывать)
Роман
1. подключены ли FOSUserBundle и UserBundle в AppKernel?
2. имеет ли UserBundle файл routing.yml?
3. подключены ли нужные руты FOSUserBundle?
Rodion
ну, routes
Роман
А, ну тогда кажется они есть: /app/config/routing.yml
user:
resource: "@UserBundle/Resources/config/routing.yml"
type: annotation
prefix: /api
Роман
То что я наделал каку в рутах, я уже понял по эксепшену) Вопрос в том что за сорт каки?
Rodion
type: annotation мб?
Rodion
в AppBundle
Rodion
ну т.е. убрать эту опцию
Роман
Чувак, ты гений) В смысле помогло)
Роман
ну т.е. убрать эту опцию
Роман
Я бы описал свои эиоции, но боюсь меня забанят за цензуру))
Роман
3ч поисков...)
Rodion
потому что не надо копипастить бездумно)
Роман
Не совсем подходящий вывод для моей ситуации. Прикол в том что в статье по которой я руководствовался этого "type" нету... Несколько перечитываний мне не помогли этого заметить(
Anonymous
пятиминутка саппорта по PSR-7: если Facebook пренаправляет ответ с ошибкой, заданный в на redirectUri, то переданные GET парамтеры нужно искать в ServerRequestInterface ?
Rodion
просто учись гуглить, чувак, приводить хоть какие-то умозаключения и затем проверять их
Anonymous
symfony form builder как лечить тормоза?
Роман
Кэш чистить?
Anonymous
чем лучше всего профилировать symfony приложение для выявления bottlenecks?
Rodion
blackfire.io
Anonymous
Tideways ещё.
Alan
newrelic нравится еще но и tideways к нему используем
Alan
в первом больше разных данных, во втором пхп профайлер детальнее
Aleksandr
или xdebug или блекфаер
Alan
хдебаг в продакшене нельзя а узкие места надо там искать
Anonymous
Igor Pellinen
Мужики, помогите с доктриной.
https://dpaste.de/xMjA#L1,24,34
Alex
Строка 36 не нужна
Igor Pellinen
ну эт просто внутри класса
Alex
Тогда лучше подебажить
Igor Pellinen
мне пишут что ее инжектить надо
Igor Pellinen
А я не понимаю, что это значит...
Дмитрий
что означает null в этом примере
->addOption(
'iterations',
null,
InputOption::VALUE_REQUIRED,
'How many times should the message be printed?',
1
);
мне нужно проверить чтобы опция обязательно имела значение
Igor Pellinen
/**
* Adds an argument.
*
* @param string $name The argument name
* @param int $mode The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL
* @param string $description A description text
* @param mixed $default The default value (for InputArgument::OPTIONAL mode only)
*
* @return Command The current instance
*/
public function addArgument($name, $mode = null, $description = '', $default = null)
{
$this->definition->addArgument(new InputArgument($name, $mode, $description, $default));
return $this;
}
Igor Pellinen
class InputArgument
{
const REQUIRED = 1;
const OPTIONAL = 2;
const IS_ARRAY = 4;
Igor Pellinen
иными словами, тебе нужно передать 1
Igor Pellinen
или InputArgument::REQUIRED
Дмитрий
Я и указываю InputOption::VALUE_REQUIRED
->addOption('period', null, InputOption::VALUE_REQUIRED, 'Период, за который заказываем отчет (current_week, week, month)')
и если выполнить conversion:order —period
то получаю ошибку
[Symfony\Component\Console\Exception\RuntimeException]
The "--period" option requires a value.
conversion:order [--period PERIOD] [--month MONTH] [--week WEEK] [--year YEAR] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command>
выглядит не очень, как в проверить что опция без значения и вывести свое предупреждение
Igor Pellinen
сделай OPTIONAL и руками проверь значит
Ivan
вы, кажется, разные методы рассматриваете addArgument и addOption
Ivan
addOption имеет
string $name The option name
string $shortcut The shortcut (can be null)
int $mode The option mode: One of the InputOption::VALUE_* constants
string $description A description text
mixed $default The default value (must be null for InputOption::VALUE_NONE)
Ivan
http://api.symfony.com/3.2/Symfony/Component/Console/Command/Command.html#method_addOption
Дмитрий
VALUE_OPTIONAL помогло
Somenumboola
Ребят. Вопрос от новичка в Symfony, так что не бейте тапочками. Честно гуглил, но ничего внятного не нашел.
Есть ли в Symfony возможность регистрировать бандлы динамически, после инициализации?
Например: подключить специфический бандл по условию бизнес логики.
P.s. Если есть пример буду очень признателен.
Igor Pellinen
http://stackoverflow.com/a/33066101/5779993
Igor Pellinen
tldr; Можно извернуться и сделать это, на лету почистив кеш. Но лучше бы этого никогда не делать.
Somenumboola
@igronus спасибо) Понял. А какие еще есть способы экономить контейнеры? Насколько я понимаю что их прожорливость к ОЗУ может стать существенной проблемой. Какие варианты кроме lazy лоадинга сервисов и дзена моделирования зависимостей?
Igor Pellinen
Тут уж не подскажу... Только вникаю в тему. Возможно, имеет смысл задать развернутый вопрос на английском на каком-нибудь softwareengineering.stackexchange.com, там иногда можно встретить подобные пространные обсуждения.
Rodion
Rodion
я тут не советчик, но смотрел бы на то, чего ты в конечном итоге хочешь добиться. если у тебя конечную задачу разгрузить ОЗУ решают варианты с прокси и правильным моделированием зависимостей, то использовал бы их.
Rodion
т.к. по факту в этих решениях плохого ничего нет
Дмитрий
Ребята помогите найти ошибку
Пробую писать логи с помощью monolog
Если делаю так
$log = new Logger('conversion');
$log->pushHandler(new StreamHandler('log.log', Logger::INFO));
$log->error("Заявка $num " . $data['period'] . "не выполнена");
то все работает, лог пишется
Пытаюсь сделать чтобы все настройки хранились в конфиге
в config.yml
monolog:
handlers:
conversion:
type: stream
path: "%kernel.logs_dir%/conversion.log"
level: info
channels: conversion
в service.yml
monolog_web_processor:
class: Symfony\Bridge\Monolog\Logger
tags:
- { name: monolog.logger, channel: conversion }
сообщение не пишется в файл, а ввыводится в консоле (консольная команды выполняется)
Igor Pellinen
Я бы залез в профайлер и внимательно все прочитал, с какими параметрами все иниализируется и т.п.
Роман
Всем привет, есть такой вопрос. В колбэк API укаан линк http://domain/result.php который пока менять нельзя. Как перенаправить запрос на нужный мне экшн в Symfony?
Igor Pellinen
http://symfony.com/doc/current/routing.html#routing-examples
Роман
Это не подходит, но спасибо! Сделал через nginix переброс.
Дмитрий
есть кто из Красноярска? ищем программиста
Anonymous
Добрый день всем✌️
Anonymous
hi
Gaiaz
привет
Aleksandr
привет
b e k
Darov
Evgeny
Всем привет!Как отключить кэширование в symfony 3?Поставил редирект с homepage на другую страницу через route.yml,затем удалил,редирект остался.через php bin/console очистил кэш-не помогло,очистил кэш браузера-помогло.Но не чистить же мне каждый раз кэш браузера.
Gaiaz
а при чем тут симфони если закэшировал брвузер?
Gaiaz
можешь заголовки отправить через респонс на запрет кэширования
Evgeny
и то верно)
Evgeny
Млин опять запара.какой-то черезчур вычурный этот симфони.удалил вручную ненужный файл-контроллер с /src/AppBundle/Controller, теперь вообще ничего нельзя делать,при обращении к любой странице получаю ошибку что тот удаленный файл не найден, пробую чисттить кэш через командную строку-получаю опять эту же ошибку.wtf???