亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何進行代碼重構以減少 laravel 中的相似代碼?

如何進行代碼重構以減少 laravel 中的相似代碼?

PHP
夢里花落0921 2022-12-23 13:07:36
您好,我是新手,我剛開始為測驗應用程序創建項目。我在存儲和更新功能中重復了代碼,如何減少重復并編寫更清晰的代碼,我們將不勝感激謝謝 Nabeel這是我的商店方法public function store(Quiz $quiz, QuestionRequest $request)     {          if($request->hasfile('image'))        {             $file=$request->file('image');            //Get File name with the extension            $fileWithExt = $file->getClientOriginalName();            //Get Just File Name            $filename = pathinfo($fileWithExt,PATHINFO_FILENAME);            //Get Just Extension            $extension = $file->getClientOriginalExtension();            //Filename to store            $nameoffile = $filename.'_'.time().'.'.$extension;            //Upload Image            $path = $file->move(public_path('images'),$nameoffile);             //$path = $file->storeAs('app/img/',$nameoffile);             $path = $nameoffile;        }          else        {            $path=null;        }     }這是我的更新方法public function update(Quiz $quiz,QuestionRequest $request,Question $question)    {          if(is_null($question->imgpath))        {            if($request->hasfile('image'))            {                 $file=$request->file('image');                //Get File name with the extension                $fileWithExt = $file->getClientOriginalName();                //Get Just File Name                $filename = pathinfo($fileWithExt,PATHINFO_FILENAME);                //Get Just Extension                $extension = $file->getClientOriginalExtension();                //Filename to store                $nameoffile = $filename.'_'.time().'.'.$extension;                //Upload Image                $path = $file->move(public_path('images'),$nameoffile);                 $path = $nameoffile;            }              else            {                $path=null;            }        }
查看完整描述

1 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

您可以在您的模型類中創建一個新的特征或函數,并可以在您的控制器中使用它。像這樣


在你Quiz.php剛剛創建一個名為fileUpload()


php artisan fileUpload($data) 

    {

      $file=$data;

      //Get File name with the extension

      $fileWithExt = $file->getClientOriginalName();

      //Get Just File Name

      $filename = pathinfo($fileWithExt,PATHINFO_FILENAME);

      //Get Just Extension

      $extension = $file->getClientOriginalExtension();

      //Filename to store

      $nameoffile = $filename.'_'.time().'.'.$extension;

      //Upload Image

      $path = $file->move(public_path('images'),$nameoffile); 


      $path = $nameoffile;


      return $path;

    }

在你的控制器中store(),update()你可以這樣做


    if(is_null($question->imgpath))

    {

        if($request->hasfile('image'))

        {  

            $path = $quiz->fileUpload($request->file('image'));

        }  

        else

        {

            $path=null;

        }

    }


查看完整回答
反對 回復 2022-12-23
  • 1 回答
  • 0 關注
  • 90 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號