Je regroupe ici les informations utiles qui ne nécessitent pas de créer un article dédié. Vous avez donc une liste non ordonnée de fonctions utiles et de snippets qui vous servirons dans vos développements.
1. Cacher que votre site est réalisé avec Laravel
Il est souvent utile de masquer la technologie qui a été utilisée pour la création d’un site web. Si vous voulez rendre moins facile cette détection sur votre site et cacher la technologie utilisée, un moyen basic et très simple est déjà de changer le nom de la session.
Les projets Laravel ont comme nom de session laravel_session. Il est donc une bonne pratique de la renommer en modifiant son nom dans le fichier: config\session.php
#'cookie' => 'laravel_session',
'cookie' => 'webp_session',
Et si vous ne l’avez pas encore fait, changer le nom de l’application dans le fichier: config\app.php
#'name' => 'Laravel',
'name' => 'Web-Presence.ch',
2. Paramètre optionnel dans le fichier de routage
Il est possible d’ajouter un paramètre optionnel dans le routage en ajouter ? dans votre paramètre comme vous le montre l’exemple suivant:
Route::any('backend/event/{date?}', ['as'=> 'backend/event','uses'=>'Backend\EventController@index'])->middleware('auth');
Du côté du controller il suffit de déclarer la fonction de la manière suivante:
class EventController extends Controller
{
public function index(Request $request,$date=null){
if(is_null($date)){
$($ = date("Y-m-d");
}
3. Cron sous Laravel
Il est très facile de mettre en place des crons sous Laravel, il faut bien évidemment le mettre dans le cron tab de votre serveur en appelant la commande suivante: artisan schedule:run
Et ensuite ajouter les appels à fonctions dans le fichier app/Console/Kernel.php.
Vous avez de nombreuses façons de choisir à quel moment vos crons doivent être lancées. Je vous donne ci-dessous quelque exemple mais pour plus d’infos, je vous invite à vous référer à la doc officielle
class Kernel extends ConsoleKernel
{
$schedule->call(function () {
/* Cron éxécuté chaque heure à la 20ème et la 50ème minute */
})->cron('20,50 * * * *');
$schedule->call(function () {
/* Cron éxécuté à 9 heure et 13 heure à la 10ème, la 35ème et la 52ème minute */
})->cron('10,35,52 9,13 * * *');
$schedule->call(function () {
/* Cron éxécuté chaque jour à minuit */
})->daily();
4. Redirection des URL avec index.php
Les urls avec index.php sont valides et ne génèrent pas d’erreur. Si vous avez des balises canonical et que les chemins de vos ressources sont absolus ce n’est pas trop grave mais comme je n’aime pas cela, je vais générer des redirections depuis le fichier htacces. Le but du script ci-dessous est de rediriger les urls de la façon suivante:
http://www.crabcake.ch/blog/index.php => http://www.crabcake.ch/blog
http://www.crabcake.ch/blog/index.php/laravel-snippet-utile => http://www.crabcake.ch/blog/laravel-snippet-utile
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index.php/?([^\ \?]*) [NC]
RewriteRule ^ %1/%2 [R=301,L]