2017-11-04 17 views
1

のコンストラクタを見つけることができません。現在のクラスCと同じ名前空間のクラスAのオブジェクトをインスタンス化しようとしていますが失敗します。同じ名前空間がクラス

両方のクラスがAppes \ Appes名前空間にあります。

これはA.phpのコードです:

namespace App\Models; 

class A implements B 
{ 
    private $url; 

    public function __construct($url = "") 
    { 
     $this->url = $url; 
    } 
} 

これはC.phpのコードです:

namespace App\Models; 
require_once 'A.php'; 

class C 
{ 
    private $url; 

    ...some functions... 

    public function getC() 
    { 
     $test = A($this->url); 
     return $test; 
    } 

    ...other functions 
} 

私はPHPUnitの

Error: Call to undefined function App\Models\A() 

を取得し、私ができます私が間違っていることを理解していない。

私はあなたが関数としてA()を呼び出しているA()を呼び出すことにより、PHP 7.0.24

+3

私はあなたに「新」を忘れていると思いますか? '$ test = new A($ this-> url);'?あなたはそれを機能呼び出しとしてそのまま呼んでいます。入力ミスやシンプルなタイプミスとしてこの質問を閉じることはできますか? – HPierce

+0

正式にこの回答にお答えください。私は答えとして書き留めることができます。私はこれで4時間苦労していました。私は前にこれを愚かに感じたことはありません。どうもありがとう。 –

答えて

1

を使用しています。それが私たちの最高に起こる - あなたは、単純なタイプミスを作った

class C 
{ 
    private $url; 

    ...some functions... 

    public function getC() 
    { 
     $test = new A($this->url); 
     return $test; 
    } 

    ...other functions 
} 

:あなたはnewが忘れてしまったように見えます。

関連する問題