158 lines
4.1 KiB
PHP
158 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Support;
|
|
|
|
use Carbon\CarbonInterface;
|
|
use Carbon\CarbonInterval;
|
|
use Illuminate\Support\Defer\DeferredCallback;
|
|
use Illuminate\Support\Defer\DeferredCallbackCollection;
|
|
use Illuminate\Support\Facades\Date;
|
|
use Symfony\Component\Process\PhpExecutableFinder;
|
|
|
|
if (! function_exists('Illuminate\Support\defer')) {
|
|
/**
|
|
* Defer execution of the given callback.
|
|
*
|
|
* @param callable|null $callback
|
|
* @param string|null $name
|
|
* @param bool $always
|
|
* @return ($callback is null ? \Illuminate\Support\Defer\DeferredCallbackCollection : \Illuminate\Support\Defer\DeferredCallback)
|
|
*/
|
|
function defer(?callable $callback = null, ?string $name = null, bool $always = false): DeferredCallback|DeferredCallbackCollection
|
|
{
|
|
if ($callback === null) {
|
|
return app(DeferredCallbackCollection::class);
|
|
}
|
|
|
|
return tap(
|
|
new DeferredCallback($callback, $name, $always),
|
|
fn ($deferred) => app(DeferredCallbackCollection::class)[] = $deferred
|
|
);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\php_binary')) {
|
|
/**
|
|
* Determine the PHP Binary.
|
|
*/
|
|
function php_binary(): string
|
|
{
|
|
return (new PhpExecutableFinder)->find(false) ?: 'php';
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\artisan_binary')) {
|
|
/**
|
|
* Determine the proper Artisan executable.
|
|
*/
|
|
function artisan_binary(): string
|
|
{
|
|
return defined('ARTISAN_BINARY') ? ARTISAN_BINARY : 'artisan';
|
|
}
|
|
}
|
|
|
|
// Time functions...
|
|
|
|
if (! function_exists('Illuminate\Support\now')) {
|
|
/**
|
|
* Create a new Carbon instance for the current time.
|
|
*
|
|
* @param \DateTimeZone|\UnitEnum|string|null $tz
|
|
* @return \Illuminate\Support\Carbon
|
|
*/
|
|
function now($tz = null): CarbonInterface
|
|
{
|
|
return Date::now(enum_value($tz));
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\microseconds')) {
|
|
/**
|
|
* Get the current date / time plus the given number of microseconds.
|
|
*/
|
|
function microseconds(int|float $microseconds): CarbonInterval
|
|
{
|
|
return CarbonInterval::microseconds($microseconds);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\milliseconds')) {
|
|
/**
|
|
* Get the current date / time plus the given number of milliseconds.
|
|
*/
|
|
function milliseconds(int|float $milliseconds): CarbonInterval
|
|
{
|
|
return CarbonInterval::milliseconds($milliseconds);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\seconds')) {
|
|
/**
|
|
* Get the current date / time plus the given number of seconds.
|
|
*/
|
|
function seconds(int|float $seconds): CarbonInterval
|
|
{
|
|
return CarbonInterval::seconds($seconds);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\minutes')) {
|
|
/**
|
|
* Get the current date / time plus the given number of minutes.
|
|
*/
|
|
function minutes(int|float $minutes): CarbonInterval
|
|
{
|
|
return CarbonInterval::minutes($minutes);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\hours')) {
|
|
/**
|
|
* Get the current date / time plus the given number of hours.
|
|
*/
|
|
function hours(int|float $hours): CarbonInterval
|
|
{
|
|
return CarbonInterval::hours($hours);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\days')) {
|
|
/**
|
|
* Get the current date / time plus the given number of days.
|
|
*/
|
|
function days(int|float $days): CarbonInterval
|
|
{
|
|
return CarbonInterval::days($days);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\weeks')) {
|
|
/**
|
|
* Get the current date / time plus the given number of weeks.
|
|
*/
|
|
function weeks(int $weeks): CarbonInterval
|
|
{
|
|
return CarbonInterval::weeks($weeks);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\months')) {
|
|
/**
|
|
* Get the current date / time plus the given number of months.
|
|
*/
|
|
function months(int $months): CarbonInterval
|
|
{
|
|
return CarbonInterval::months($months);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('Illuminate\Support\years')) {
|
|
/**
|
|
* Get the current date / time plus the given number of years.
|
|
*/
|
|
function years(int $years): CarbonInterval
|
|
{
|
|
return CarbonInterval::years($years);
|
|
}
|
|
}
|