第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

從子類動(dòng)態(tài)設(shè)置類

從子類動(dòng)態(tài)設(shè)置類

PHP
慕容3067478 2022-09-12 13:10:53
我正在嘗試使用一些希望可重用的代碼在PHP中動(dòng)態(tài)運(yùn)行不同的類,但是我很難找到正確的方法來做到這一點(diǎn)。目前,我正在運(yùn)行一個(gè)POST請求,數(shù)據(jù)流動(dòng)如下:Route::post('/user/create', 'UserController@createItem');到用戶控制器:namespace App\Http\Controllers;use Illuminate\Cache\Repository;use App\Models\User;class UserController extends AbstractController{    const className = 'User';}和摘要控制器:<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use GuzzleHttp\Exception\RequestException;use App\Models\User;class AbstractController extends Controller{    public function createItem() {        $inputJSON = file_get_contents('php://input');        $this->className::buildItem($inputJSON);        return;    }}理想情況下,這應(yīng)該調(diào)用一個(gè)靜態(tài)方法,稱為buildItem()當(dāng)我通過硬編碼到抽象控制器中來測試它時(shí),它按預(yù)期工作,但是當(dāng)我嘗試以這種方式執(zhí)行此操作時(shí),我在PostMan中收到錯(cuò)誤:UserErrorException: Undefined property: App\Http\Controllers\UserController::$className in file .../app/Http/Controllers/AbstractController.php on line 14我嘗試過聲明和引用幾種不同的方法,但似乎無法使其起作用。任何幫助是值得贊賞的!className
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

由于 在實(shí)現(xiàn)中定義了 ,因此可以通過 使用后期靜態(tài)綁定來訪問它。classNamestatic::className


還需要在模型類的命名空間前面附加。


這將變?yōu)椋?/p>


class AbstractController extends Controller

{

  private const MODELS_NAMESPACE = 'App\\Models';


  public function createItem()

  {

    $inputJSON = file_get_contents('php://input');

    $className = self::MODELS_NAMESPACE . '\\' . static::className;

    $className::buildItem($inputJSON);

  }

}

演示:https://3v4l.org/Ng6bl


查看完整回答
反對 回復(fù) 2022-09-12
  • 1 回答
  • 0 關(guān)注
  • 82 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)