Klasse Controller, die nicht in laravel 5
So, ich bin neu in laravel und versuchte gerade ein bisschen code um klar die basics,aber jedoch nach dem erstellen eines neuen Controllers Griff einer route.Es wirft ein schwerwiegender sagen-Klasse "Controller" nicht gefunden!!!
(Die controller.php in dem selben Verzeichnis vorhanden)
Den controller.php code ist der Standard ein
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
abstract class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
Dies ist mein PagesController.php code
<?php
class PagesController extends Controller
{
public function home()
{
$name = 'Yeah!';
return View::make('welcome')->with('name',$name);
}
}
Dies ist route.php code
<?php
Route::get('/','PagesController@home');
Den welcome.blade.php code ist der Standard eine Ausnahme zeigt es die variable $name anstelle von laravel 5.
Was mache ich immer falsch?
Stellen Sie sicher, dass Ihr controller ist in einem Namespace befinden, sowie
InformationsquelleAutor gospelslide | 2015-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim Verweis auf eine Klasse wie
extends Controller
PHP sucht die Klasse in Ihrem aktuellen namespace.In diesem Fall ist ein global namespace. Aber die
Controller
Klasse offensichtlich nicht vorhanden im globalen Namensraum, sondern imApp\Http\Controllers
.Müssen Sie den namespace an der Spitze der
PagesController.php
:Sie können entweder fügen Sie
use View;
an die Spitze der controller oder alias zu verwendenview
wie diese:return view('welcome')->with('name', $name);
Ja das habe ich gemacht und es funktioniert nun perfekt,danke!
Ich vermisse auch die call-Controller Dank@limonte
InformationsquelleAutor Limon Monte
Werden Sie wollen, um den namespace angeben zu Ihrem
Controller
Klasse:sonst
Controller
gesucht wird in der Standard-root-namespace\
, wo es nicht vorhanden ist.InformationsquelleAutor Kenney
Meine Frage war eine andere Klasse name als der einer in der Klasse, die Sie erweitert-controller, die Namen sollten identisch sein
InformationsquelleAutor user2638733