Hallo, ich versuche, einzelne Vererbung in Laravel 5.2 für Controller zu tun.Einfache Vererbung von Controller-Klassen in Laravel 5.2
Dies ist meine Mutterbase Klasse
<?php
namespace App\Http\Controllers\Moviesfrontend;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class BaseController extends Controller
{
public function __construct($request)
{
//code to check whether city is set in session or not
$selectedcity=$request->session()->get('selectedcity');
}
}
In Base Klasse Konstrukt wird den Namen der Stadt in der Sitzung gespeichert holen. Nun möchte ich auf diesen in $ selectedcity gespeicherten Stadtnamen in meiner Kindklasse zugreifen.
Mein Kind Controller-Klasse ist
<?php
namespace App\Http\Controllers\Moviesfrontend;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class HomeController extends BaseController
{
public function __construct(Request $request)
{
parent::__construct($request);
}
public function index(Request $request)
{
echo $selectedcity;
}
}
Bedefault denke, ich Eltern Klassenvariablen Klasse verfügbar sind, aber das funktioniert nicht und ich erhalte Fehlermeldung, die $ selectedcity nicht gefunden.
Bitte helfen Sie mir Zugriff auf diese Variable in der Klasse Chlid.
Ich habe die gleiche Sache wie Sie sagten immer noch zeigt es mir Undefined Variable: selectedcity, und ich habe 4-5 Controller, wo ich Code geschrieben habe, um zu überprüfen, ob Sitzung hat den Wert oder nicht, also habe ich versucht, Elternklasse zu erstellen in dem ich den Code schreiben möchte, um den Sitzungswert zu überprüfen, ist gesetzt oder nicht, also habe ich BaseController erstellt. – dollar
@dollar Wenn Sie diesen Fehler immer noch erhalten, haben Sie etwas falsch gemacht. Vermutlich vermisst du irgendwo ein '$ this'. Oder Sie haben keine Instanzeigenschaft erstellt. In jedem Fall, das ist Vererbung 101. Siehe dieses Beispiel als Beweis des Konzepts: http://codepad.org/Fm9Qu54h – Gordon
gr8 danke es funktionierte, genauso kann ich Funktionen in der Basisklasse schreiben und auf sie in der Klasse chlid zugreifen .. .? – dollar