Size: a a a

2020 June 27

AM

Alexander Makarov in Yii Framework 3
Дмитрий
@samdark сделаем отдельную репу-демку для yii-rest?
предлагаю переименовать существующие по одному шаблону и выложить в ряд
yii-demo - обычное
yii-demo-rest - рест-апи
yii-demo-console - консольное приложение
yii-demo-{json-, g-}rpc - {JSON, G}RPC
прочее
Лучше туториалы.
источник

RM

Rustam Mamadaminov in Yii Framework 3
Дмитрий
уже есть наработки?
интерфейс?
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
@samdark если ты еще ищешь где бы доку написать, то начинай yii-rest. кажется, легче всё выкинуть, чем переписывать...
А он готов?
источник

AM

Alexander Makarov in Yii Framework 3
Для чего?
источник

Д

Дмитрий in Yii Framework 3
Alexander Makarov
Для чего?
отписал выше
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
yii-rest сейчас не зависит от yii-web. кто-то говорил, что зависит.
нужно интегрировать этот DataResponseInterface в yii-rest
Ок, это makes sense. Как назвать?
источник

Д

Дмитрий in Yii Framework 3
хз, response-formatter?
источник

Д

Дмитрий in Yii Framework 3
factory
источник

Д

Дмитрий in Yii Framework 3
data-response-factory, в честь интерфейса)
источник

T

TradersVE in Yii Framework 3
источник

Д

Дмитрий in Yii Framework 3
@samdark для Gii фронтенд части уже есть репа?
источник

T

TradersVE in Yii Framework 3
why: More simple ?

<?php

declare(strict_types=1);

namespace App\Controller;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Yiisoft\View\WebView;

final class SiteController extends AbstractController
{
   public function index(WebView $webView, ServerRequestInterface $request): ResponseInterface
   {
       return $this->responseFactory->createResponse(
           $this->renderContent(
               '//views/site/index',
               [
                   'csrf' => $request->getAttribute('csrf_token')
               ]
           )
       );
   }
}

abstract class AbstractController implements ViewContextInterface
{
   private WebView $view;
   protected Aliases $aliases;
   protected DataResponseFactoryInterface $responseFactory;

   public function __construct(
       DataResponseFactoryInterface $responseFactory,
       Aliases $aliases,
       WebView $view
   ) {
       $this->responseFactory = $responseFactory;
       $this->aliases = $aliases;
       $this->view = $view;
   }

   protected function renderContent(string $view, array $parameters = []): string
   {
       return $this->view->render(
           '//layout/main',
           array_merge(
               [
                   'content' => $this->view->render($view, $parameters, $this)
               ],
               $parameters
           ),
           $this
       );
   }

   public function getViewPath(): string
   {
       return $this->aliases->get('@views');
   }
}
источник

Д

Дмитрий in Yii Framework 3
Alexander Makarov
Ок, это makes sense. Как назвать?
п.с. а я уже притянул yii-web :(
источник

T

TradersVE in Yii Framework 3
I think we can modify view to pass the path of the view when it is outside the application, for example a module.
источник

Д

Дмитрий in Yii Framework 3
TradersVE
I think we can modify view to pass the path of the view when it is outside the application, for example a module.
rendering the view files that exists outside the application looks poorly
источник

Д

Дмитрий in Yii Framework 3
if module provide a view files it should provide controllers that will handle it
источник

T

TradersVE in Yii Framework 3
So laravel and symfony do it wrong, they return the view, the solution above is clean, without magic or static methods.
источник

T

TradersVE in Yii Framework 3
A controller must return a view is all.
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
1.  дать возможность отвязаться от yii-web
2. дать возможность юзать это вне yii3
1. Там есть нужные вещи для реста, мидлтвари всякие, диспетчер тот же. Ты как без них будешь?
2. Ок
источник

T

TradersVE in Yii Framework 3
Дмитрий
if module provide a view files it should provide controllers that will handle it
Off couser
источник