🪒 Helpers
Introduction​
Les helpers sont des fonctions raccourcies chargées dans l'application qui permet de faire rapidement certaine action. Voici la liste des helpers qui existe dans l'application Bow Framework. Voici les helpers dispnoble dans l'application.
Table des matières​
- Introduction
- Helper de gestion HTTP
- Base de donnée
- Sécurité
- Gestion d'évènement
- Système de storage
- Helper Application
- Chaine de caractère
- Session et Cookie
- Validation
- Autre
- Utilisation
Helper de gestion HTTP​
- app
- config
- response
- response_json
- response_download
- set_response_status_code
- set_response_header
- get_response_header
- request
- redirect
- redirect_back
- url
- route
- old
- view
Base de donnée​
- db
- table
- app_db_table
- get_last_insert_id
- app_db_select
- app_db_select_one
- app_db_insert
- app_db_delete
- app_db_update
- app_db_statement
- app_db_transaction
- app_db_transaction_started
- app_db_rollback
- app_db_commit
- pdo
- set_pdo
- app_db_seed
Sécurité​
- encrypt
- decrypt
- app_hash
- bow_hash
- sanitize
- secure
- csrf_token
- csrf_field
- method_field
- create_csrf_token
- gen_csrf_token
- verify_csrf
- csrf_time_is_expired
Gestion d'évènement​
Système de storage​
Helper Application​
- app_env
- app_assets
- app_abort
- app_abort_if
- app_mode
- app_in_debug
- auth
- app_auth
- logger
- app_logger
- app_now
- client_locale
- view
Chaine de caractère​
- str_uuid
- str_slug
- str_is_mail
- str_is_domain
- str_is_slug
- str_is_alpha
- str_is_lower
- str_is_upper
- str_is_alpha_num
- str_shuffle_words
- str_wordily
- str_plural
- str_camel
- str_snake
- str_contains
- str_capitalize
- str_random
- str_force_in_utf8
- e
- str_fix_utf8
Session et Cookie​
Email​
Validation​
Autre​
Utilisation​
app​
Ce helper permet d'avoir accès au container de Bow Framework.
app("mail");
config​
Permet d'avoir accès à la configuration de Bow Framework.
config("mail")
response​
Permet d'avoir accès à une instance de \Bow\Http\Response::class.Elle doit être utilisée impérativement dans un controlleur. Avoir plus d'information sur les méthodes possible ici
return response($content = "hello papac", $code = 200);
request​
Permet d'avoir accès à une instance de \Bow\Http\Request::class. Elle doit être utilisée impérativement dans un contrôleur. Avoir plus d'information sur les méthodes possible ici
$name = request()->get("name");
response_json​
Permet d'utiliser la méthode json de \Bow\Http\Response::class. Elle doit être utilisée impérativement dans un contrôleur.
return response_json(["name" => "papac"], $code = 200);
// {"name": "papac"}
response_download​
Permet lors d'une requête de télécharger un fichier et elle est liée sur la classe \Bow\Http\Response::class. Elle doit être utilisée impérativement dans un controlleur.
$file = "/path/to/file.png";
$filename = "photo.png";
return response_download($file, $filename);
set_response_status_code​
Permet de modifier le code du statut http de réponse et elle est liée sur la classe \Bow\Http\Response::class. Elle doit être utilisée impérativement dans un controlleur.
set_response_status_code(404);
view​
Permet de compiler une vue dans Bow Framework.
return view("view.name", ["name" => "papac"], $code = 200);
session​
Permet de manipuler l'interface de session dans Bow Framework.
session($value, $default = null)
- Si aucun argument n'est passé. Elle recupère l'instance de la session
- Si default est fournie et que la valeur n'existe pas elle sera retourné comme valeur de remplacement
- Si
$valueest un tableau associatif elle ajoutera ces informations dans la session en couple de clé valeur.
cookie​
cookie("name", "papac");
// papac
create_csrf_token​
create_csrf_token();
// papac
csrf_token​
$token = csrf_token();
// papac
csrf_field​
$field = csrf_field();
// <input type="hidden" name="token" value="token_value" />
method_field​
$method = method_field("DELETE")
// <input type="hidden" name="_method" value="DELETE" />
verify_csrf​
verify_csrf($token);
// bool
csrf_time_is_expired​
csrf_time_is_expired();
// bool
sanitize​
Permet de nettoyer les données en supprimant les caractères spéciaux et les balises HTML.
$name = sanitize("papa'c<script>alert(1)</script>");
// papac
secure​
Permet de sécuriser les données en les nettoyant et en les échappant.
$name = secure("papa'c<script>");
// papa'c
set_response_header​
set_response_header("X-Token-API", $token);
get_response_header​
$token = get_response_header("X-Token-API");
// papac
redirect​
Permet de créer une redirection HTTP. Retourne une instance de \Bow\Http\Redirect.
return redirect('/dashboard');
// Ou avec des méthodes chainables
return redirect()->to('/home');
return redirect()->route('user.profile', ['id' => 1]);
redirect_back​
Permet de rediriger vers la page précédente.
return redirect_back();
// Avec un code de statut personnalisé
return redirect_back(301);
url​
Permet de construire une URL complète en ajoutant des paramètres.
$url = url('/users', ['page' => 2, 'sort' => 'name']);
// http://votre-domaine.com/users?page=2&sort=name
flash​
Permet de définir un message flash dans la session.
flash('success', 'Utilisateur créé avec succès');
// Dans la vue suivante
{{ session('success') }} // Utilisateur créé avec succès
validator​
Permet de valider des données selon des règles définies.
$validation = validator(
['email' => 'test@example.com', 'age' => 25],
['email' => 'required|email', 'age' => 'required|int']
);
if ($validation->fails()) {
return response()->json($validation->getErrors(), 422);
}
route​
Permet de générer une URL à partir du nom d'une route.
// Route définie: Route::get('/users/:id', 'UserController::show')->name('user.show');
$url = route('user.show', ['id' => 1]);
// /users/1
// Avec URL absolue
$url = route('user.show', ['id' => 1], true);
// http://votre-domaine.com/users/1
old​
Permet de récupérer l'ancienne valeur d'un champ après une redirection (utile pour les formulaires).
// Dans la vue après une validation échouée
<input type="text" name="email" value="{{ old('email') }}" />
// Avec une valeur par défaut
old('email', 'default@example.com')
client_locale​
Permet de récupérer la langue du client à partir de l'en-tête HTTP Accept-Language.
$locale = client_locale();
// fr, en, etc.
app_db_seed​
Permet d'exécuter un seeder de manière programmatique.
// Exécuter un seeder par son nom
app_db_seed('users');
// Avec des données de surcharge
app_db_seed('users', ['email' => 'custom@example.com']);
// Avec une classe Model
app_db_seed(User::class, ['name' => 'John Doe']);
is_blank​
Détermine si une valeur est "vide" (null, chaîne vide, tableau vide, etc.).
is_blank(null); // true
is_blank(''); // true
is_blank(' '); // true
is_blank([]); // true
is_blank(0); // false
is_blank('hello'); // false
queue​
Permet d'ajouter un job dans la file d'attente.
queue(new SendEmailJob($user));
app_trans / t / __​
Permet de traduire une clé de traduction.
app_trans('welcome.message'); // Bienvenue sur notre site
t('welcome.message'); // Même résultat
__('welcome.message'); // Même résultat
// Avec des variables
t('welcome.user', ['name' => 'John']); // Bienvenue John
email / raw_email​
Permet d'envoyer des emails.
// Avec une vue
email('emails.welcome', ['user' => $user], function($mail) {
$mail->to('user@example.com')
->subject('Bienvenue');
});
// Email simple
raw_email('user@example.com', 'Subject', 'Message body');
app_now​
Retourne l'instance Carbon du moment actuel.
$now = app_now();
// Instance de Carbon\Carbon
$now->format('Y-m-d'); // 2025-12-20
app_auth / auth​
Permet d'accéder au système d'authentification.
// Vérifier si l'utilisateur est authentifié
if (app_auth()->check()) {
$user = app_auth()->user();
}
// Avec un guard spécifique
$admin = app_auth('admin')->user();
app_logger / logger​
Permet d'accéder au système de logging.
logger()->info('User logged in', ['user_id' => 1]);
logger()->error('Database error', ['exception' => $e]);
app_logger()->warning('Deprecated method called');
app_in_debug​
Vérifie si l'application est en mode debug.
if (app_in_debug()) {
// Code de débogage
}
https://github.com/bowphp/framework/blob/4.0/src/Support/helper.php
Il manque quelque chose ?
Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.