2017-07-14 4 views
0

Je suis nouveau dans Laravel et j'essaye de créer un View in Acelle (application basée sur Laravel). J'ai lu beaucoup de tutoriels, mais je n'ai pas eu de chance avec ce problème.Je ne peux pas créer de vue à Laravel

J'ai créé la vue "lol.blade.php" sur/ressources/vues dossier avec ce code:

HELLO (just hello) 

La Route:

Route::get('lol', function() 
{ 
    if (view()->exists('lol')) { 
     //return 'helloooo'; <--- it works 
     return view('lol'); 
    } else { 
     return 'not exists';  
    } 
}); 

Le code connaît le point de vue existe, mais l'url (localhost/acelle/public/lol) affiche ce message:

"Oups, on dirait que quelque chose s'est mal passé."

Je ne peux pas résoudre le problème avec des tutoriels. J'ai suivi toutes les étapes de la création de vues dans Laravel, mais je ne sais pas pourquoi la vue imprime ce message.

Aidez s'il vous plaît!

PS: Version Laravel: 5.2.45

EDIT: Dans la console [réseau] montre Erreur 500. et laravel.log affiche 59 lignes. mais la première ligne afficher: [2017-07-14 14:08:20] production.ERROR: ErrorException: index indéfini: contrôleur dans/home/acelle/public_html/acelle/app/fournisseurs/AppServiceProv ider.php: 20

+1

'Oups, on dirait que quelque chose s'est mal passé 'est une description insuffisante. La réponse à votre question dans ce cas est «réparer quelque chose». –

+0

pouvez-vous poster votre pile de débogage. devrait être juste en dessous du message 'whoops' – xperator

+0

Et si ce n'est pas juste en dessous, tournez' APP_DEBUG' à 'true' dans votre fichier' .env'. – ceejayoz

Répondre

0

Vous a publié ce billet dans les commentaires:

app('view')->composer('*', function ($view) { 
    $action = app('request')->route()->getAction(); 
    $controller = class_basename($action['controller']); 
    list($controller, $action) = explode('@', $controller); 
    $view->with(compact('controller', 'action')); 
}); 

Votre problème est que cette voie utilise une fermeture , et a aucun contrôleur:

Route::get('lol', function() {}); 

Par conséquent, $action['controller'] n'existe pas et émet un avertissement en conséquence. Vous devrez vérifier isset($action['controller']) avant de faire le reste de votre code qui utilise la variable du contrôleur.

+0

Je l'ai résolu avec un contrôleur. merci – Nicomuniz

+0

Content de pouvoir aider, @Nicomuniz. – ceejayoz

0

Déjà résolu !!

SOLUTION:

la création d'un contrôleur: MiwebController.php

<? 
namespace Acelle\Http\Controllers; 

class MiwebController extends Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
     $this->middleware('auth'); 
    } 

    public function index() 
    { 
     return view('lol'); 
    } 
} 
?> 

routes.php:

Route::get('lol', '[email protected]'); 

Il fonctionne très bien. Je vous remercie!