`use`-Varianten für Namespaces
Varianten
<?php
use Namespace\Klasse; // Klassen-Import
use Namespace\Klasse as Alias; // Import mit Alias
use function Namespace\funktion; // Funktionen importieren (PHP 5.6+)
use const Namespace\KONSTANTE; // Konstanten importieren (PHP 5.6+)
use Namespace\Klasse\{ // Group Use (PHP 7+)
Unterklasse,
AnotherClass as Alias
};
Klassen importieren
<?php
use App\Models\User;
use App\Models\Article;
$user = new User();
$article = new Article();
Import mit Alias
<?php
use App\Models\User as BaseUser;
use Illuminate\Support\Facades\User as FacadeUser;
// verhindert Namenskollisionen
$user = new BaseUser();
$authUser = FacadeUser::get();
Funktionen importieren (use function)
<?php
use function App\Utils\Helpers\formatDate;
use function App\Utils\Helpers\debug;
// direkter Aufruf ohne Prefix
echo formatDate(new DateTime());
debug($data);
Konstanten importieren (use const)
<?php
use const App\Config\APP_NAME;
use const App\Config\VERSION;
echo APP_NAME; // Ausgabe: "Meine App"
echo VERSION; // Ausgabe: "1.0.0"
Group Use (PHP 7+)
<?php
// vor PHP 7 (umständlich)
use App\Models\User;
use App\Models\Article;
use App\Models\Comment;
// ab PHP 7+ (gruppiert)
use App\Models\{User, Article, Comment};
// mit Alias
use App\Models\{
User,
Article as Post,
Comment
};
// Klassen, Funktionen und Konstanten gemischt
use App\Models\User;
use function App\Utils\helper;
use const App\Config\VERSION;
use App\Services\{AuthService, MailService, PaymentService};