2016-03-19 7 views
0

Ich bin in meinem Seiten-Controller versuchen, eine Variable in einer Funktion, die in der gleichen Klasse deklariert wurde aufgerufen, es funktioniert nicht richtig .Laravel OOP: versuchen, eine var in einer Funktion, die in der gleichen Klasse deklariert wurde

Wenn ich die Vars zurück in die Funktion, funktioniert alles gut.

Bitte lassen Sie mich wissen, was ich falsch mache:

<?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')); 


    } 

} 

ich eine undefinierte Variable bin Empfang: Fname Fehler. Danke. Erez

Antwort

0

Zuerst müssen Sie sich ansehen this.
das ist einfach oops Konzept nicht ein Laravel Fehler überhaupt.

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

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

ofcourse es kein Laravel Fehler ist, ich habe nie gesagt, es war. In jedem Fall, von dem, was Sie schreiben, ist der beste Weg, vars in jede Funktion getrennt zu deklarieren. Wenn das der einzige Fall ist, sei es so ... Aber wenn es einen eleganteren Weg von der Klasse oder durch Referenzierung gibt, wäre das einfach besser. – erezT

0

Versuchen Sie dies in Ihrem Code:

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

} 
+2

schreibe ich etwas falsch in meiner Antwort? – utsav

+0

Nr. Gleiche Antwort. Nachdem ich meine hochgeladen habe, habe ich deine bemerkt :) – shuvrow

+0

danke für beide deine Antworten, aber gibt es nicht eine kürzere "Laravel-Art", dies zu schreiben? – erezT

Verwandte Themen