2017-06-08 2 views
1

J'ai créé la fonction Aide enLumen 5.4 Classe d'assistance non disponible dans le monde

lumière \ app \ Helpers \ Helpers.php

et a ajouté

<?php 
if(!function_exists('config_path')) 
{ 
     /** 
     * Return the path to config files 
     * @param null $path 
     * @return string 
     */ 
     function config_path($path=null) 
     { 
       return app()->getConfigurationPath(rtrim($path, ".php")); 
     } 
} 

dans compoer.json

, 
    "files": [ 
     "app/Helpers/Helpers.php" 
    ], 

puis exécuté

composer dump-autoload -o 
composer dump-autoload 

après que si essayez de faire appel à web.php

$app->get('/', function() use ($app) { 


    echo config_path(); 


}); 

Obtenir erreur suivant

Fatal error: Call to undefined function config_path() in D:\xampp\htdocs\lumen\routes\web.php on line 17 enter image description here

Répondre

1

On dirait web.php est exécuté avant Helpers.php. La meilleure chose que vous pouvez faire est de mettre n'importe quelle logique dans le contrôleur, les modèles, etc. et de garder les routes seulement dans web.php.

Si vous ne vous en souciez pas, vous pouvez require() fichiers d'aide dans index.php, mais encore une fois, c'est une mauvaise pratique.

+0

@ Alexey.Ya son mauvais mais je ne sais pas pourquoi il ne fonctionne pas dans lumen.Same pense fonctionne très bien à laravel – vision

+0

@ Alexey.Cette aide que j'utilise pour jwt etc – vision

+0

Avec laravel lui-même, je pense que cela fonctionne bien mais pour Lumen, je n'ai jamais eu d'aide à cause d'un petit projet. Si Lumen a un fichier bootstrap comme Laravel, require_once vos helpers là et pas dans le public/index.php:/ – everytimeicob