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

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

當(dāng)父類中存在屬性時,Laravel 出現(xiàn)未定義屬性錯誤

當(dāng)父類中存在屬性時,Laravel 出現(xiàn)未定義屬性錯誤

PHP
守著星空守著你 2023-08-19 16:47:23
另外兩個類似的問題要求屬性不能是私有的(類繼承中的未定義屬性?)和對父構(gòu)造函數(shù)的調(diào)用(從父類訪問屬性時未定義屬性),這些不是我的情況的問題。我有一個繼承的類,它是 Object 實(shí)例,但我正在調(diào)用一個由父級提供的函數(shù),該函數(shù)訪問它自己的受保護(hù)屬性。在一個對象中,代碼實(shí)際上有效,除非我進(jìn)行單獨(dú)的函數(shù)調(diào)用(請參見下面的代碼),在這種情況下我會收到此錯誤,在另一個類中,即使沒有額外的行來強(qiáng)制出現(xiàn)問題,我也會在運(yùn)行時收到錯誤(sendExport()錯誤嵌入到返回的 Excel 中,該 Excel 已損壞)。我看不到我的子類之間有任何區(qū)別,所以我不知道為什么行為不同,即使其中一個可以滿足我的需要,但它可能生成錯誤的事實(shí)讓我感到緊張,因此任何有關(guān)可能的問題/修復(fù)的指示會很好。錯誤是:Undefined property: App\Helpers\Exports\StudyExport::$spreadsheet at ExcelReport.php:20Line 20 is: if($this->spreadsheet instanceof Spreadsheet){這是父類 ExcelReport.php,這sendExport()是要查看的函數(shù),它調(diào)用getExcel(),您會注意到不需要調(diào)用構(gòu)造函數(shù):<?phpnamespace App\Helpers;use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Writer\Xlsx;use Illuminate\Support\Facades\Auth;class ExcelReport {    protected $cellRow=0;    protected $count=0;    protected $excelSec=1/24/60/60;    protected $spreadsheet=null;    public function checkExcel(){        return $this->spreadsheet instanceof Spreadsheet;    }    public function getExcel($tab=0){        if($this->spreadsheet instanceof Spreadsheet){            if($tab>=$this->spreadsheet->getSheetCount()) $tab=0;            $this->spreadsheet->setActiveSheetIndex($tab);            $writer=new Xlsx($this->spreadsheet);            ob_start();            $writer->save('php://output');            $this->spreadsheet->disconnectWorksheets();            unset($this->spreadsheet);            return ob_get_contents();        }else{            return $this->spreadsheet;        }    }    public function sendExport($title,$tab=0){        $filename=$this->filename($title,Auth::user()->dateFormat()).'.xlsx';            // This line is not actually needed, without it, the code works (in one child but not in         // another), with it the call to getExcel() gives the error        $this->getExcel($tab);        // /////
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個贊

問題是這一行:

    unset($this->spreadsheet);

這應(yīng)該是:

    $this->spreadsheet = null;

這并不能解決我所有的問題,但現(xiàn)在給了我一致的行為。我的新 Child 類仍然給我一個損壞的 Excel 文件,但這可能是由于該子類的代碼中存在一些問題,因?yàn)樗F(xiàn)在始終適用于所有其他類。


查看完整回答
反對 回復(fù) 2023-08-19
  • 1 回答
  • 0 關(guān)注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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