@symfony_php

Страница 322 из 1418
Arky
08.10.2017
10:40:49
Я в php месяц, а симфони неделю)

Sergey
08.10.2017
10:42:05
норм, не переживай. Пробуй и эксперементируй

и пробуй читать доки по доктрине а не по симфони

Dmitry
08.10.2017
10:44:07
Вдруг еще куда-то можно, а я не знаю)
вот тут вроде как прям твой случай ) http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-associations.html

Google
Arky
08.10.2017
10:45:12
Спасибо вам огромное)

Pavel
08.10.2017
11:00:14
Такой вопрос: приемочный тест это тоже самое, что и функциональный, только выполняется с точки зрения обычного пользователя?

Sergey
08.10.2017
11:02:56
Такой вопрос: приемочный тест это тоже самое, что и функциональный, только выполняется с точки зрения обычного пользователя?
ну если придираться - любой тест тестирующий функциональные требования является функциональным

а так да. это просто e2e/интеграционные тесты написанные с точки зрения пользователя. Их основная цель - убедиться в том что необходимая функицональность присутствует.

в основном только позитивные сценарии

Pavel
08.10.2017
11:10:14
Но при этом функциональные != интеграционные?

В моем понимании - функциональный тест, например, обновление профиля пользователя - мы только делаем http запрос с данными , чекаем получили мы статус ОК и корректность сохраненных данных

Sergey
08.10.2017
11:16:34
любой тест который тестирует что-то не в изоляции является интеграционным по своей природе

e2e тесты - это теж е интеграционные просто на очень больших масштабах

терминология очень расплывчата

потому мне больше нравятся изолированные тесты. e2e тесты...

Pavel
08.10.2017
11:19:42
Я помню то видео Integrated Tests are A Scum )

Sergey
08.10.2017
11:21:58
Я помню то видео Integrated Tests are A Scum )
там где-то в одной из статей он к слову пояснял про то что приемочные тесты нужны, у них цель несколько другая чем у просто интеграционных тестов

Google
Sergey
08.10.2017
11:22:01
ну короч все сложна

Pavel
08.10.2017
11:24:52
Я согласен с аргументом, что интеграционные тесты в какой степени признак плохого дизайна, но блин, есть уже не лучшего качества кодовая база, и как ее отрефакторить не ломая при этом функионал? Мб что-то упустил.

Sergey
08.10.2017
11:26:21
интеграционные тебе тут не особо помогут, помогут e2e с точки зрения пользователя. Разобрался как работает - зафиксировал - зарефакторил и добавил юнит тестов

vlad
08.10.2017
11:27:30
ребят, можно ли переносить комманды из папки Command? Например, создать там поддиректирии, чтобы туда уже раскидать команды

Sergey
08.10.2017
11:27:32
все ты всеравно не покроешь (ибо комбинаторная сложность) а минимум - запросто

vlad
08.10.2017
11:27:45
Как понял - надо забить это как сервис

Но вот как-то не срастается

Не приведёте пример?

Sergey
08.10.2017
11:28:27
Как понял - надо забить это как сервис
services: # default configuration for services in *this* file _defaults: autowire: true autoconfigure: true public: false App\Command\: resource: '../../../src/Command/*'

Pavel
08.10.2017
11:32:00
Если версия symfony >=3.3

vlad
08.10.2017
11:32:59
Проблема вот в чём: `debug-check-accounts: class: AppBundle\Command\Debug_CheckAccountsCommand tags: - { name: console.command } public: true` Таким вот образом записал в services.yml Саму команду вынес в поддриректорию Debug т.е. путь до команды такой: AppBundle\Command\Debug\Debug_CheckAccountsCommand А теперь вопрос Если я загружаю файлы на сервер - то падает ошибка: Class AppBundle\Command\Debug\Debug_CheckAccountsCommand does not exist И на этом всё уже встаёт

Я где-то героически туплю

Pavel
08.10.2017
11:34:47
неправильный неймспейс в самом файле?

vlad
08.10.2017
11:36:28
чёртовы пророки

спасибо, и правда!

забыл совсем его поменять

ребят, ещё вопрос

есть стоящая литература по symfony?

Google
vlad
08.10.2017
11:37:25
в формате книжки, где основные моменты и аспекты затрагиваются

vlad
08.10.2017
11:38:00
и как?

Sergey
08.10.2017
11:43:14
хз не читал

vlad
08.10.2017
11:48:08
ребят, ещё вопрос как передать аргумент? ведь к методу configure, как я понимаю, больше доступа нет а в консоли команда принимает как раз-таки аргумент вернее, как я понимаю, его сначала надо где-то сетнуть а затем при запуске команды из input'а получить не подскажете, как?

vlad
08.10.2017
12:00:19
если бы я сразу явно это увидел в документации - не задавал бы таких глупых вопросов я про ->addArgument говорил

Sergey
08.10.2017
12:00:21
а аргументы команды симфони тебе разрулит

Sergey
08.10.2017
12:00:44
значения то этих аргументов симфони тебе дастанет

короч объясни что ты хочешь сделать

vlad
08.10.2017
12:03:40
просто я перенёс команду в поддиректорию объявил её как сервис в методе configure как обычно стоит ->addArgument('agr', InputArgument::OPTIONAL, '...'); затем, в теле метода исполнения сразу этот аргумент подхватываю: $arg = $input->getArgument('arg'); само собой интерфейс InputInterface передаётся в метод выполнения команды как параметр и это стандартно, и всегда работало а сейчас, когда объявил команду как сервис, у меня такая ошибка:

` [Symfony\Component\Console\Exception\InvalidArgumentException] The "arg" argument does not exist. `

я грешу на то, что надо аргументы как-то в services.yml объявить

но такого в документации не вижу

Google
Sergey
08.10.2017
12:07:50
то есть поясню - использовать аргументы в configure - не правильно. у тебя для этго run есть

явное разделение конфигурации и использования

vlad
08.10.2017
12:09:11
`в методе configure как обычно стоит ->addArgument('agr', InputArgument::OPTIONAL, '...'); затем, в теле метода исполнения сразу этот аргумент подхватываю: $arg = $input->getArgument('arg');`

не-не-не

я в теле execute использовал их

ладно, спасибо

буду курить

Sergey
08.10.2017
12:16:43
короч, тебе не надо ничего лишнего делать

Admin
ERROR: S client not available

Sergey
08.10.2017
12:16:49
просто сервис объявляешь и вешаешь тэг

далее все одинаково.

Виктор
08.10.2017
12:21:44
Кто умеет делать бандлы для vendor помогите плз. У меня в composer.json в бандле есть: "autoload" : { "psr-4" : {"Webslon\\Bundle\\TelegramBundle": ""} }, но когда делаю composer install и прописываю в AppKernel.php - пишет что мой класс с бандлом найти не может. Возможная причина - до composer.lock не долетает почему-то ветка autoload...

Куда копать - че-то я замучался гуглить и никак... Получается решить только правкой autoload проекта - но мне то надо, чтобы autoload цеплялся из моего бандла...

Sergey
08.10.2017
12:33:26
так у тебя с ветками проблема или с автолоадом?)

Виктор
08.10.2017
12:42:38
Я предположил что по той причине, что секция autoload не попадает почему-то в composer.lock

Честно раньше этот файл не было необходимости изучать, но сейчас полез и вижу там подобное:



А еще он у меня в битбакете лежит... Может что-то с этим не так...

Вот что указано в composer.json проекта:

Google
Виктор
08.10.2017
12:49:41


А это оказывается в composer.lock:



устанавливается через composer install все нормально - в папке vendor бандл появляется, но ругается потом что класс подключить не может

Виктор
08.10.2017
13:26:47
это пробовал

Andrew
08.10.2017
13:27:03
пример - https://github.com/akovalyov/DebugStatementsFixers/blob/master/composer.json#L12-L15

Виктор
08.10.2017
13:29:54


Не пашет так - с этого и начинал

может затык именно тут, неправильно как-то подключаю?!

Есть вообще у кого-то опыт класть бандлы в битбакет в приватный реп?

Andrew
08.10.2017
13:31:54
Не пашет так - с этого и начинал
значит проверяй неймспейс

100% там затык

Виктор
08.10.2017
13:32:14


Неймспейс копирован отсюда

и туда только слеши добиты

ну и если я кладу бандл в src и прописываю autoload в основном проекте - то все работает

Andrew
08.10.2017
13:33:42
посмотри в vendor/composer/autoload_psr4.php

Виктор
08.10.2017
13:34:59


Ну то есть вот так пашет себе прекрасно

но этой же строчки у нормальных пасанов не должно быть)

Страница 322 из 1418