Bonjour,

Je me demander si je suis toujours obligé d'utiliser use dans tous mes fichiers que j'inclus, car le require de la calss ce fait une seule fois ? Par exemple :

asset/config.php

<?php
session_start();

require 'vendor/autoload.php';
use Carbon\Carbon;

echo Carbon::now();

?>

index.php

<?php

require 'asset/config.php';
use Carbon\Carbon;

?><!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Entropie</title>
</head>
<body>
    <?= Carbon::now(); ?>
</body>
</html>

Si je retire le use dans index.php ça ne fonctionne plus ? Je sais qu'il possibles d'écrire \Carbon\Carbon::now() mais sur certaine class ça devient vite le bordel :) peut ton faire une sorte de use global ?

Je ne sais pas si je suis claire ce n'est pas évidant a expliqué.

Merci de m'avoir lu et merci pour vos éventuelles réponses.

Cordialement,
Fabrice

2 réponses


betaWeb
Réponse acceptée

Salut,

Un use global je ne sais pas, mais tu dois utiliser cette synthaxe systématiquement lorsque tu souhaite instancier une classe ayant un namespace oui. Et je ne vois pas en quoi c'est "vite le bordel", bien au contraire ça permet de voir d'un coup d'oeil quels classes sont utilisées.

Merci pour vos réponses, je trouvais juste embêtant de devoir réécrire le namespace a chaque fois, mais il est vrai qu'au moins d'un coup d'œil, on sais quelles classes sont utilisées. Bonne journée a vous ;)