Cours Laravel 5.3 – les bases – configuration, session et gestion de fichiers
25 novembre 2016/
Dans ce chapitre nous verrons la configuration, la gestion des sessions et des fichiers avec un exemple simple d’envoi et d’enregistrement de fichiers images dans un dossier à partir d’un formulaire.
La configuration
Tout ce qui concerne la configuration de Laravel se trouve dans le dossier config :
Les fichiers de configuration contiennent en fait juste un tableau avec des clés et des valeurs. Par exemple pour les vues (view.php) :
On a la clé paths et la valeur : un tableau avec realpath(base_path(‘resources/views’)). Pour récupérer une valeur il suffit d’utiliser sa clé avec l’helper config :
config('view.paths');
On utilise le nom du fichier (view) et le nom de la clé (paths) séparés par un point.
Si je fais effectivement cela mes vues, au lieu d’être cherchées dans le dossier resources/views seront cherchées dans le dossier mes_vues.
Vous pouvez évidemment créer vos propres fichiers de configuration. Pour l’exemple de ce chapitre on va avoir besoin justement d’utiliser une configuration. Comme notre application doit enregistrer des fichiers d’images dans un dossier il faut définir l’emplacement et le nom de ce dossier de destination. On va donc créer un fichier images.php :
Bonjour à tous, bonjour Bestmomo,
J’ai déjà posté sur Laravel France sur le même sujet toujours pas résolu!
Je viens d’essayer votre tuto sur l’upload des fichiers (en local), et j’ai une erreur:
BadMethodCallException in Macroable.php line 74: Method store does not exist.
Il y a une erreur avec la balise css.
Evidament le css ne marche pas du coup
j’ai modifié en:
{!! Html::style( ‘https://netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css’) !!}
et ça fonctionne.
Excuse, pour le commentaire précédent j’avais pas remarqué que j’ai pas copié tout mon code.
On me génère tantôt l’erreur spécifié en haut et le plus souvent cette erreur suivante : Parse error: syntax error, unexpected namespace (T_NAMESPACE).
Voici le code, c’est celui du cours:
namespace App\Http\Controllers;
use App\Http\Requests\ImagesRequest;
use App\Repositories\PhotosRepositoryInterface;
class PhotoController extends Controller
{
public function create()
{
return view(‘photo’);
}
public function store(ImagesRequest $request, PhotosRepositoryInterface $photosRepository)
{
$photosRepository->save($request->image);
Bonjour,
Besoin d’aide. J’ai cette erreure et d’après moi le code est correct d’autant plus que je l’ai copié dans ce cours et vérifié et revérifié.
FatalThrowableError in PhotoController.php line 12:
Parse error: syntax error, unexpected identifier (T_STRING), expecting ‘;’ or ‘{‘
12 commentaires
tomdev
J’ai eu un problème de téléchargement de l’image du style :
« Unable to guess the mime type as no guessers are available »
Pour résoudre le problème, il faut dé-commenter la ligne suivante dans le fichier php.ini :
extension=php_fileinfo.dll
kikou
Bonjour à tous, bonjour Bestmomo,
J’ai déjà posté sur Laravel France sur le même sujet toujours pas résolu!
Je viens d’essayer votre tuto sur l’upload des fichiers (en local), et j’ai une erreur:
BadMethodCallException in Macroable.php line 74: Method store does not exist.
Une idée?
buzzeclair
Salut,
Je suis bloqué par une erreur d’autorisation.
« HttpException
This action is unauthorized. »
Si quelqu’un à une idée merci.
buzzeclair
ok je suis stupide
public function authorize()
{
return true;
}
Merci à bestmomo quand même car j’ai trouvé mon erreur grace à une résolution de problème similaire sur le forum laravel france :
https://laravel.fr/t/laravel-5/formulaire-this-action-is-unauthorized
codeurh24
Bonjour.
Il y a une erreur avec la balise css.
Evidament le css ne marche pas du coup
j’ai modifié en:
{!! Html::style( ‘https://netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css’) !!}
et ça fonctionne.
bestmomo
Bonsoir,
Oui il y a eu apparemment un accident de copie ! Merci c’est rectifié.
DerO
Bonjour,
Dans le Controller PhotoController il y a une parenthèse en trop à la ligne :
$request->image->store(config(‘images.path’), ‘public’));
bestmomo
Bonjour,
Merci c’est réparé 😉
zero-tech
Excuse, pour le commentaire précédent j’avais pas remarqué que j’ai pas copié tout mon code.
On me génère tantôt l’erreur spécifié en haut et le plus souvent cette erreur suivante : Parse error: syntax error, unexpected namespace (T_NAMESPACE).
Voici le code, c’est celui du cours:
namespace App\Http\Controllers;
use App\Http\Requests\ImagesRequest;
use App\Repositories\PhotosRepositoryInterface;
class PhotoController extends Controller
{
public function create()
{
return view(‘photo’);
}
public function store(ImagesRequest $request, PhotosRepositoryInterface $photosRepository)
{
$photosRepository->save($request->image);
return view(‘photo_ok’);
}
}
bestmomo
Bonjour,
Tu as quelle version de PHP ?
zero-tech
Bonjour,
Besoin d’aide. J’ai cette erreure et d’après moi le code est correct d’autant plus que je l’ai copié dans ce cours et vérifié et revérifié.
FatalThrowableError in PhotoController.php line 12:
Parse error: syntax error, unexpected identifier (T_STRING), expecting ‘;’ or ‘{‘
Voici mon code et merci d’avance :
image->store(config(‘images.path’),’public’);
return view(‘photo_ok’);
}
}
GrCOTE7
Y ri1 dvt image…?