Как обозначить фасад запроса переменной в Laravel?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как обозначить фасад запроса переменной в Laravel?

Сообщение Anonymous »

Я провожу эксперимент, чтобы сделать мои контроллеры как можно более динамичными. Позвольте мне дать вам краткий обзор. У меня есть контроллер логотипа, который я настроил следующим образом:

Код: Выделить всё

use App\Models\Logo;

class LogoController extends Controller
{
public function add(Request $request)
{
$data['entity']         = 'logo';

$newEntityObj                = new Logo;
$newEntityObj->title         = $title;                         // set title
$newEntityObj->type          = $type;                          // set type
$saveNewEntityData           = $newEntityObj->save();          // save the entity data
------------------
-------------------
}
}
Теперь я внес некоторые изменения, например:
использовал переменную для обозначения модели логотипа.

Код: Выделить всё

$modelClass             = "App\\Models\\" . ucfirst($data['entity']);
А затем используйте переменную $modelClass для выполнения над ней действий Eloquent, например: -

Код: Выделить всё

$newEntityObj                = new $modelClass;
$newEntityObj->title         = $title;                         // set title
$newEntityObj->type          = $type;                          // set type
$saveNewEntityData           = $newEntityObj->save();          // save the entity data
Итак, класс контроллера логотипа был обновлен до:

Код: Выделить всё

use App\Models\Logo;

class LogoController extends Controller
{
public function add(Request $request)
{
$data['entity']         = 'logo';
$modelClass             = "App\\Models\\" . ucfirst($data['entity']);

$newEntityObj                = new $modelClass;
$newEntityObj->title         = $title;                         // set title
$newEntityObj->type          = $type;                          // set type
$saveNewEntityData           = $newEntityObj->save();          // save the entity data
------------------
-------------------
}
}
Теперь я создал файл запроса Validationb, чтобы использовать его для проверки формы. Я использую это следующим образом:

Код: Выделить всё

// Request Validation Inclusion //
use App\Http\Requests\AdminRequests\LogoValidation\LogoRequest;

public function add(LogoRequest $request)
{
--------------------------
--------------------------
}
Теперь вместо того, чтобы писать публичную функцию add(LogoRequest $request), я хочу сделать ее более динамичной. Примерно так:

Код: Выделить всё

class LogoController extends Controller
{
public static $classEntity          = 'logo';
public static $classFormattedEntity = null;
public static $classRequestVariable = null;

public function __construct()
{
$entityArray    = explode('-', str_replace('_', '-', self::$classEntity));
foreach($entityArray as $keyEntity => $rowEntity)
{
if($keyEntity !== 0)
$entityArray[$keyEntity] = ucfirst($rowEntity);
}
self::$classFormattedEntity = implode('', $entityArray);
self::$classRequestVariable = "App\\Http\\Requests\\AdminRequests\\" . ucfirst(self::$classFormattedEntity) . "Validation\\" . ucfirst(self::$classFormattedEntity) . "Request";
}

public function add(self::$classRequestVariable $request)
{
..............................
..............................
}
}
Переменная self::$classRequestVariable фактически печатает App\Http\Requests\AdminRequests\LogoValidation\LogoRequest
Но когда я пишу общедоступную функцию add(self::$classRequestVariable $request) вместо общедоступной функции add(LogoRequest $request), я получаю следующую ошибку:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/696 ... in-laravel
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как обозначить фасад запроса переменной в Laravel?
    Anonymous » » в форуме Php
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Фасад процесса Laravel не возвращает запросы Python ([Errno 11001] getaddrinfo не удалось)")
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Невозможно имитировать частичный бревенчатый фасад в Laravel
    Anonymous » » в форуме Php
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как обозначить трассировки стека libart.so или libc.so в Crashlytics Android NDK?
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как обозначить компонент Blazor как абстрактный, используя только файл .razor?
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»