2016-03-19 1 views
0

私は自分のページのコントローラに、同じクラスで宣言された関数で変数を呼び出そうとしていますが、 。Laravel OOP:同じクラスで宣言されている関数でvarを呼び出そうとしています

varsを関数に戻すと、すべて正常に機能します。

私が間違ってやっているのか分からせてください:私は未定義の変数を受けています

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

class PagesController extends Controller 
{ 
public $Fname = 'Mobile'; 
public $Lname ='Store'; 
    public function about() 
    { 

     return view('pages.about', compact('Fname', 'Lname')); 
       } 

    public function contact() 
    { 
     $Fname = 'Mobile'; 
     $Lname ='Store'; 

     return view('pages.contact', compact('Fname', 'Lname')); 


    } 

} 

:FNAMEエラー。おかげさまで Erez

答えて

0

まずはthisをご覧ください。
これは簡単なエラーではありません。

public function about() 
{ 
    $Fname = $this->Fname; 
    $Lname = $this->Lname; 

    return view('pages.about', compact('Fname', 'Lname')); 
} 
+0

それはLaravelのエラーではありません勿論、私はそれを言ったことがありません。 いずれの場合でも、あなたの文章から、各関数にバールを別々に宣言するのが最善の方法です。もしそれが唯一のケースなら、それで... クラスから、または参照によってよりエレガントな方法があれば、それは単に良いでしょう。 – erezT

0

あなたのコードでこれを試してみてください:

public function about() 
    { 
     $Fname=$this->Fname; 
     $Lname=$this->Lname; 
     return view('pages.about', compact('Fname', 'Lname')); 

} 
+2

私は答えが間違っていますか? – utsav

+0

No.同義語。鉱山を提出した後、私はあなたに気付きました:) – shuvrow

+0

あなたの答えの両方に感謝しますが、これを書いた方がもっと短い "ララベルの道"はありませんか? – erezT

関連する問題