Я пытаюсь избежать добавления use Carbon\Carbon; в каждый файл php, который я использую Carbon. Есть ли способ использовать Carbon \ Carbon везде в одной строке?
require 'vendor/autoload.php';
use Carbon\Carbon;
echo Carbon::now();
Нет, я не использую Laravel, но мне любопытно, как Laravel использует Carbon.






Импорт класса с использованием работает только в текущем файле. Если вы хотите получить доступ к Carbon из корневого пространства имен, вы всегда можете создать псевдоним класса.
class_alias(\Carbon\Carbon::class, 'Carbon');
Пока у вас есть это во включенном файле, вы сможете использовать Carbon вместо \Carbon\Carbon где угодно.
вы можете создать вспомогательную функцию, примерно так:
src/helpers.php:
<?php
if (!function_exists('carbon')) {
function carbon(): \Carbon\Carbon
{
return \Carbon\Carbon::now();
}
}
не забудьте добавить файл вспомогательных функций в автозагрузку композитора:
composer.json:
...
"autoload": {
"files": [
"src/helpers.php"
]
}
...
позже в вашем коде вы можете использовать его как:
<?php
$date = carbon();
Вы используете Laravel в этом конкретном случае?