Size: a a a

2020 July 10

Д

Дмитрий in Yii Framework 3
TradersVE
Route::anyMethod(
   '/profile/{action:\w+}',
   fn (Psr\Container\ContainerInterface $container) => new WebActionsCaller(
       ProfileController::class,
       $container
   )
)->name('profile');
👍
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
только вот WebActionsCaller же выпиливать собрались?)
Ну и что, это же пример просто
источник

Д

Дмитрий in Yii Framework 3
TradersVE
Route::anyMethod(
   '/profile/{action:\w+}',
   fn (Psr\Container\ContainerInterface $container) => new WebActionsCaller(
       ProfileController::class,
       $container
   )
)->name('profile');
to make this work, i have to change layout/_menu.php :
$currentUrl = $url->generate(
   $urlMatcher->getCurrentRoute()->getName(),
   $urlMatcher->getCurrentRoute()->getDefaults()
);
источник

DS

Dmitriy S in Yii Framework 3
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
to make this work, i have to change layout/_menu.php :
$currentUrl = $url->generate(
   $urlMatcher->getCurrentRoute()->getName(),
   $urlMatcher->getCurrentRoute()->getDefaults()
);
А defaults откуда там берутся?
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
А defaults откуда там берутся?
я дописал, иначе он action параметр не мог найти : Route::anyMethod ...... ->defaults(['action' => 'index'])
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
я дописал, иначе он action параметр не мог найти : Route::anyMethod ...... ->defaults(['action' => 'index'])
Есть мысля в currentRoute записывать клона с defaults(array_merge($route->getDefaults(), $parameters)), тогда можно будет на текущий роут просто по имени генерить
источник

DS

Dmitriy S in Yii Framework 3
Хотя не клона, он же там и так иммутабельный, @samdark как тебе такой вариант?
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Есть мысля в currentRoute записывать клона с defaults(array_merge($route->getDefaults(), $parameters)), тогда можно будет на текущий роут просто по имени генерить
Хм.. ну да. Логично вроде.
источник

DS

Dmitriy S in Yii Framework 3
Либо
$currentUrl = $urlMatcher->getLastMatchedRequest()->getUri()
источник

AB

Alexander Borisov in Yii Framework 3
Как вариант, при матчинге просто добавлять название роута в аттрибут реквеста*
источник

AB

Alexander Borisov in Yii Framework 3
источник

RM

Rustam Mamadaminov in Yii Framework 3
TradersVE
For example, and inject UserRepository in Service or Controller.

$container->set(
    UserRepository::class,
   static fn (ContainerInterface $container) => new UserRepository(
               $container->get(User::class),
               new UserQuery(User::class)
   )
);
yii3?
источник

T

TradersVE in Yii Framework 3
yii3 and yii2 work fine equal.
источник

ZP

Zhenya Panin in Yii Framework 3
👍
источник

T

TradersVE in Yii Framework 3
and use getAttribute and setAttribute in ActiveRecord.
источник

T

TradersVE in Yii Framework 3
In yii2 it can work with ActiveRecord, you just have to try not to depend on Yii :: $ app, and use private properties, if you achieve that, the migration will not be painful.
источник

AM

Alexander Makarov in Yii Framework 3
TradersVE
In yii2 it can work with ActiveRecord, you just have to try not to depend on Yii :: $ app, and use private properties, if you achieve that, the migration will not be painful.
Will be less painful for certain.
источник

T

TradersVE in Yii Framework 3
for example my dektrium module of yii2 passed it easily to yii3, until the validations are the same, do not use scenarios.
источник

AM

Alexander Makarov in Yii Framework 3
@xepozz по этому вопросу интересно https://github.com/yiisoft/validator/pull/73#discussion_r452781772
источник