簡體   English   中英

無法訪問傳遞的實例對象類

[英]Can not access passing instance object class

當我在一個方法中捕獲類時,我會收到錯誤。 當我打電話給另一個方法時,我得到了這樣的錯誤。 在此輸入圖像描述

請參閱下面的代碼。 我該如何解決這個請幫助。

class Java{

    function anotherMethod(Php $phpAccess){
        $phpAccess->framework();
        $phpAccess->cms();
    }

}


class Php{

    public function framework()
    {
        echo "Laravel is a popular php framework. </br>";
    }

    public function cms()
    {
        echo "WordPress is popular php cms. </br>";
    }

}

$php = new Php();
$java = new Java($php);
echo $java->anotherMethod();

但是當我在構造函數中捕獲類時,它會給出正確的輸出。請參閱下面的代碼。

class Java{
  function __construct(Php $phpAccess){
    $phpAccess->framework();
    $phpAccess->cms();
  }
}

您正在收到錯誤,因為您將PHP對象傳遞給Java構造函數,但PHP對象是anotherMethod的依賴項。 如下所示更改Java類以按您的方式工作:

class Java
{
    private $phpAccess;

    public function __construct(Php $phpAccess)
    {
        $this->phpAccess = $phpAccess;
    }

    public function anotherMethod()
    {
        $this->phpAccess->framework();
        $this->phpAccess->cms();
    }
}

class Php
{
    public function framework()
    {
        echo "Laravel is a popular php framework. </br>";
    }

    public function cms()
    {
        echo "WordPress is popular php cms. </br>";
    }
}

$php = new Php();
$java = new Java($php);
$java->anotherMethod();

你調用函數anotherMethod沒有任何參數。 在您的班級中,該方法定義為WITH paramater。 所以你必須使用參數$ php調用anotherMethod


echo $java->anotherMethod($php);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM