
Алексей
22.10.2017
15:33:53

Владимир
22.10.2017
15:34:09
Согласен

Borys
22.10.2017
15:35:11
http://sylius.org
Симфа запиленая под екоммерс

Google

Алексей
22.10.2017
15:35:37
Можно что-то посоветовать, но рассказывать как всё сделать...?
Ну то есть, я понимаю, какие-то конкретные вопросы про реализацию, скажем, опций у товара или, например, как хранить итемы в корзине. Но сначала нужно начать что-то делать самому.

Borys
22.10.2017
15:36:12
Как по мне достаточно интересный и стаб продукт

Алексей
22.10.2017
15:36:23
http://sylius.org
На самом деле, тоже так себе совет, ИМХО.
Взяв сразу Sylius он, может, и сделает магазин, но ничего не поймёт в итоге.
Насколько я понимаю, он делает это сейчас для себя.

Borys
22.10.2017
15:36:46
Не думаю...

Владимир
22.10.2017
15:37:42
Мне кажется, что Силиус не для новичков. Или у меня такое впечатление осталось от первых его сырых версий

Алексей
22.10.2017
15:37:49
Ну если человек задаёт вопросы в стиле "как сделать корзину", значит он ещё не умеет формулировать задачу и делать её декомпозицию.
Отсюда, мне кажется, ему нужен не Sylius.

Vlad
22.10.2017
15:37:50

Алексей
22.10.2017
15:39:16
Ну, то есть, посмотреть на Sylius стоит, если терпения хватит. Но "магазин для себя" лучше сделать самому. Чтобы научиться думать как глобальные задачи превращать в подзадачи и превращать их в работающий код.

Владимир
22.10.2017
15:39:47
Оказывается и на стэке такой вопрос задавали:
https://ru.stackoverflow.com/questions/20482/%D0%9A%D0%B0%D0%BA-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83-%D0%B4%D0%BB%D1%8F-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B0-%D0%BD%D0%B0-php
Арки, не ты это был?

Arky
22.10.2017
16:08:40
Вбщим, да, так как я учусь кодить мне нужны не готовые решения. А просто понять механизм как это работает и помучатся со своим велосипедом. Всем спасибо за ответы)

Dmitry
22.10.2017
16:12:21

Google

Владимир
22.10.2017
16:12:41
Что-то перед сном тупить начал. Установил бандл Easy admin на чистую симфони, прошел инструкции со страницы:
http://symfony.com/doc/current/bundles/EasyAdminBundle/book/installation.html
Но при запросе на страницу http://localhost/admin получаю ошибку:
No route found for "GET /admin/dashboard"
Может кто с пол пинка вспомнит от чего это? Если нет, то я спать пойду

Алексей
22.10.2017
16:13:31
Маршруты-то импортировал?

Константин
22.10.2017
16:13:54
А откуда роут /admin/dashboard взялся?

Владимир
22.10.2017
16:14:10
http://prntscr.com/h0k3hu

Алексей
22.10.2017
16:14:10
Кстати, да. Такие, вроде, в Sonata были.

Arky
22.10.2017
16:14:11

Алексей
22.10.2017
16:14:39

Владимир
22.10.2017
16:14:47
Вот вот. Я тоже удивил.ся. Но сонату я не ставил

Константин
22.10.2017
16:14:49

Arky
22.10.2017
16:15:03
config.yml проверил

Алексей
22.10.2017
16:15:20

Andrew
22.10.2017
16:15:28

Arky
22.10.2017
16:17:16

Владимир
22.10.2017
16:17:25
В мануале по-другому написано.
Отличие в том что я указал не конкретный контроллер, а папку с контроллерами - это не существенно. Я и так и так пробовал

Andrew
22.10.2017
16:18:11


Владимир
22.10.2017
16:18:11
Лан, пойду спать. А соната и вправду была затянута в проект в виде зависимостей ))
php bin/console debug:router
php bin/console debug:router
—------------------------ —------ —------ —---- —---------------------------------
Name Method Scheme Host Path
—------------------------ —------ —------ —---- —---------------------------------
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler_open_file ANY ANY ANY /_profiler/open
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
homepage ANY ANY ANY /
easyadmin ANY ANY ANY /admin/
admin ANY ANY ANY /admin/
—------------------------ —------ —------ —---- —---------------------------------
Хы. Стоит подумать о том как бы писать моноширным в телеграмм ))
http://prntscr.com/h0k5ql

Google

Алексей
22.10.2017
16:19:54

Arky
22.10.2017
16:20:08
`

Алексей
22.10.2017
16:21:26


Владимир
22.10.2017
16:24:12
Вылечил. Из дебага моих маршрутов видно было, что у меня два маршрута на один и тот же url настроены. Изменил префикс для изи админа и заработало.
ситуация странная...

Arky
22.10.2017
16:24:23
https://puu.sh/y4oA7/e1d38e16f1.png
а у меня что?))
у меня userbundle еще стоит)

Владимир
22.10.2017
16:25:11
регистр разный

Алексей
22.10.2017
16:25:13
а у меня что?))
У тебя несоответствие регистра. Класс и файл называются по-разному, скорее всего.
Можешь попробовать третий раз спросить...

Arky
22.10.2017
16:25:46
Файл User.php, класс называется User...

Arky
22.10.2017
16:25:55
Все что вижу User
Везде вижу User
нигде не вижу user

Алексей
22.10.2017
16:26:15
Кеш чистил?

Arky
22.10.2017
16:26:23
да

Владимир
22.10.2017
16:26:35
Мож прописывал где-то этот класс в конфигах?
и написал с мелкой?

Arky
22.10.2017
16:26:57
https://puu.sh/y4oFx/b3d476b79a.png

Google

Алексей
22.10.2017
16:27:33
В маппинге, скорее всего, ошибка.
В каком-нибудь targetEntity="..."

Arky
22.10.2017
16:28:39

Владимир
22.10.2017
16:33:56
Арки, сделай у себя php bin/console debug:route
Покажи результаты

Алексей
22.10.2017
16:43:49
К слову, @Eraice, используй сервисы типа pastebin или gist чтобы показывать код. За скриншоты с кодом в приличном обществе бьют ногами :)

Владимир
22.10.2017
16:44:26
Э не. Вопрос решен - это надо мной браузер Опера потешался

Алексей
22.10.2017
16:44:50

Владимир
22.10.2017
16:44:55
Он запомнил, что при определеном URL нужно редиректить на дашбоард
Говорила мне мама - не пользуй оперу

Admin
ERROR: S client not available

Алексей
22.10.2017
16:45:27

Владимир
22.10.2017
16:45:37
ага

Arky
22.10.2017
16:45:39

Алексей
22.10.2017
16:45:41
ага
Ну так если там такой редирект был - Opera сделала всё правильно.

Arky
22.10.2017
16:46:20

Владимир
22.10.2017
16:46:38
Я по роду деятельности десятками инстанцы симфони клепаю. Предыдущий инстанс был с сонатой как раз. У нее такое поведение

Алексей
22.10.2017
16:46:44
В копилку разработчика ещё и CTRL+R вместо F5.

Владимир
22.10.2017
16:47:04

Google

Владимир
22.10.2017
16:47:38

Алексей
22.10.2017
16:48:01
У меня один проект - first-project.local, второй - second-project.local. И никаких проблем.
Ну, хостнеймы, если быть точнее.

Alan
22.10.2017
16:48:40
скриншоты заставляют подумать а не копипастить )
и подсветка там красивая ))

Алексей
22.10.2017
16:49:24

Владимир
22.10.2017
16:49:27

Dinar
22.10.2017
17:08:18
Привет всем. Есть идеи, почему Одинаковый JSON может сериализоваться по разному на одном и том же сервере но в разных доменах?

Bohdan
22.10.2017
17:09:02


Dmitry
22.10.2017
17:12:11
поделись сниппетом)
<?php
namespace AppBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
class RepositoryRegisterPass implements CompilerPassInterface
{
/**
* {@inheritdoc}
*/
public function process(ContainerBuilder $container)
{
$files = glob(__DIR__ . '/../../Repository/**Repository.php');
$bundle = substr(__NAMESPACE__, 0, strpos(__NAMESPACE__, '\\'));
$factory = [new Reference('doctrine.orm.entity_manager'), 'getRepository'];
foreach ($files as $file) {
$class = substr(realpath($file), strpos(realpath($file), $bundle), -4);
$entity = strtr($class, ['\\Repository' => '\\Entity', 'Repository' => '']);
if (class_exists($entity)) {
$container->autowire($class, $class)->setFactory($factory)->addArgument($entity);
}
}
}
}
выполняется один раз при компиляции


Bohdan
22.10.2017
17:12:47
интересно, спасибо

Dmitry
22.10.2017
17:15:28
всегда пожалуйста)


Алексей
22.10.2017
17:15:54
<?php
namespace AppBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
class RepositoryRegisterPass implements CompilerPassInterface
{
/**
* {@inheritdoc}
*/
public function process(ContainerBuilder $container)
{
$files = glob(__DIR__ . '/../../Repository/**Repository.php');
$bundle = substr(__NAMESPACE__, 0, strpos(__NAMESPACE__, '\\'));
$factory = [new Reference('doctrine.orm.entity_manager'), 'getRepository'];
foreach ($files as $file) {
$class = substr(realpath($file), strpos(realpath($file), $bundle), -4);
$entity = strtr($class, ['\\Repository' => '\\Entity', 'Repository' => '']);
if (class_exists($entity)) {
$container->autowire($class, $class)->setFactory($factory)->addArgument($entity);
}
}
}
}
выполняется один раз при компиляции
А из метаданных доктрины список репозиториев не получить было чтобы не завязываться на конкретный путь и паттерн?
Это только идея, я сам не пробовал.


Dmitry
22.10.2017
17:16:47
Можно и так попробовать, чуть позже гляну - отпишусь

Алексей
22.10.2017
17:17:28
Ага. Было бы интересно.
Ведь репозиторий указывается в параметрах Entity.
Может, правда, и не прокатить, т.к. контейнер на этой стадии ещё не собран.

Dmitry
22.10.2017
17:21:03
Можно было взять все сущности из Entity, и через Reflection взять репозитории - но это вообще как-то не айс)

Алексей
22.10.2017
17:24:59
Ну как бы да. Потому что ты завязываешься на Entity.
Дублируешь код.
http://www.doctrine-project.org/api/orm/2.5/source-class-Doctrine.ORM.Mapping.ClassMetadataInfo.html#251-257
По идее таки можно вытащить.