381 lines
8.8 KiB
PHP
381 lines
8.8 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Container\Container;
|
|
use Illuminate\Contracts\Bus\Dispatcher;
|
|
|
|
if (! function_exists('abort')) {
|
|
/**
|
|
* Throw an HttpException with the given data.
|
|
*
|
|
* @param int $code
|
|
* @param string $message
|
|
* @param array $headers
|
|
* @return void
|
|
*
|
|
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
|
|
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
|
|
*/
|
|
function abort($code, $message = '', array $headers = [])
|
|
{
|
|
return app()->abort($code, $message, $headers);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('app')) {
|
|
/**
|
|
* Get the available container instance.
|
|
*
|
|
* @param string $make
|
|
* @return mixed|\Laravel\Lumen\Application
|
|
*/
|
|
function app($make = null)
|
|
{
|
|
if (is_null($make)) {
|
|
return Container::getInstance();
|
|
}
|
|
|
|
return Container::getInstance()->make($make);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('base_path')) {
|
|
/**
|
|
* Get the path to the base of the install.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function base_path($path = '')
|
|
{
|
|
return app()->basePath().($path ? '/'.$path : $path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('decrypt')) {
|
|
/**
|
|
* Decrypt the given value.
|
|
*
|
|
* @param string $value
|
|
* @return string
|
|
*/
|
|
function decrypt($value)
|
|
{
|
|
return app('encrypter')->decrypt($value);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('dispatch')) {
|
|
/**
|
|
* Dispatch a job to its appropriate handler.
|
|
*
|
|
* @param mixed $job
|
|
* @return mixed
|
|
*/
|
|
function dispatch($job)
|
|
{
|
|
return app(Dispatcher::class)->dispatch($job);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('config')) {
|
|
/**
|
|
* Get / set the specified configuration value.
|
|
*
|
|
* If an array is passed as the key, we will assume you want to set an array of values.
|
|
*
|
|
* @param array|string $key
|
|
* @param mixed $default
|
|
* @return mixed
|
|
*/
|
|
function config($key = null, $default = null)
|
|
{
|
|
if (is_null($key)) {
|
|
return app('config');
|
|
}
|
|
|
|
if (is_array($key)) {
|
|
return app('config')->set($key);
|
|
}
|
|
|
|
return app('config')->get($key, $default);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('database_path')) {
|
|
/**
|
|
* Get the path to the database directory of the install.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function database_path($path = '')
|
|
{
|
|
return app()->databasePath($path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('encrypt')) {
|
|
/**
|
|
* Encrypt the given value.
|
|
*
|
|
* @param string $value
|
|
* @return string
|
|
*/
|
|
function encrypt($value)
|
|
{
|
|
return app('encrypter')->encrypt($value);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('env')) {
|
|
/**
|
|
* Gets the value of an environment variable. Supports boolean, empty and null.
|
|
*
|
|
* @param string $key
|
|
* @param mixed $default
|
|
* @return mixed
|
|
*/
|
|
function env($key, $default = null)
|
|
{
|
|
$value = getenv($key);
|
|
|
|
if ($value === false) {
|
|
return value($default);
|
|
}
|
|
|
|
switch (strtolower($value)) {
|
|
case 'true':
|
|
case '(true)':
|
|
return true;
|
|
|
|
case 'false':
|
|
case '(false)':
|
|
return false;
|
|
|
|
case 'empty':
|
|
case '(empty)':
|
|
return '';
|
|
|
|
case 'null':
|
|
case '(null)':
|
|
return;
|
|
}
|
|
|
|
if (Str::startsWith($value, '"') && Str::endsWith($value, '"')) {
|
|
return substr($value, 1, -1);
|
|
}
|
|
|
|
return $value;
|
|
}
|
|
}
|
|
|
|
if (! function_exists('event')) {
|
|
/**
|
|
* Fire an event and call the listeners.
|
|
*
|
|
* @param object|string $event
|
|
* @param mixed $payload
|
|
* @param bool $halt
|
|
* @return array|null
|
|
*/
|
|
function event($event, $payload = [], $halt = false)
|
|
{
|
|
return app('events')->fire($event, $payload, $halt);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('factory')) {
|
|
/**
|
|
* Create a model factory builder for a given class, name, and amount.
|
|
*
|
|
* @param dynamic class|class,name|class,amount|class,name,amount
|
|
* @return \Illuminate\Database\Eloquent\FactoryBuilder
|
|
*/
|
|
function factory()
|
|
{
|
|
app('db');
|
|
|
|
$factory = app('Illuminate\Database\Eloquent\Factory');
|
|
|
|
$arguments = func_get_args();
|
|
|
|
if (isset($arguments[1]) && is_string($arguments[1])) {
|
|
return $factory->of($arguments[0], $arguments[1])->times(isset($arguments[2]) ? $arguments[2] : null);
|
|
} elseif (isset($arguments[1])) {
|
|
return $factory->of($arguments[0])->times($arguments[1]);
|
|
} else {
|
|
return $factory->of($arguments[0]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (! function_exists('info')) {
|
|
/**
|
|
* Write some information to the log.
|
|
*
|
|
* @param string $message
|
|
* @param array $context
|
|
* @return void
|
|
*/
|
|
function info($message, $context = [])
|
|
{
|
|
return app('Psr\Log\LoggerInterface')->info($message, $context);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('redirect')) {
|
|
/**
|
|
* Get an instance of the redirector.
|
|
*
|
|
* @param string|null $to
|
|
* @param int $status
|
|
* @param array $headers
|
|
* @param bool $secure
|
|
* @return \Laravel\Lumen\Http\Redirector|\Illuminate\Http\RedirectResponse
|
|
*/
|
|
function redirect($to = null, $status = 302, $headers = [], $secure = null)
|
|
{
|
|
$redirector = new Laravel\Lumen\Http\Redirector(app());
|
|
|
|
if (is_null($to)) {
|
|
return $redirector;
|
|
}
|
|
|
|
return $redirector->to($to, $status, $headers, $secure);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('resource_path')) {
|
|
/**
|
|
* Get the path to the resources folder.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function resource_path($path = '')
|
|
{
|
|
return app()->resourcePath($path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('response')) {
|
|
/**
|
|
* Return a new response from the application.
|
|
*
|
|
* @param string $content
|
|
* @param int $status
|
|
* @param array $headers
|
|
* @return \Illuminate\Http\Response|\Laravel\Lumen\Http\ResponseFactory
|
|
*/
|
|
function response($content = '', $status = 200, array $headers = [])
|
|
{
|
|
$factory = new Laravel\Lumen\Http\ResponseFactory;
|
|
|
|
if (func_num_args() === 0) {
|
|
return $factory;
|
|
}
|
|
|
|
return $factory->make($content, $status, $headers);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('route')) {
|
|
/**
|
|
* Generate a URL to a named route.
|
|
*
|
|
* @param string $name
|
|
* @param array $parameters
|
|
* @param bool $secure
|
|
* @return string
|
|
*/
|
|
function route($name, $parameters = [], $secure = null)
|
|
{
|
|
return app('url')->route($name, $parameters, $secure);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('storage_path')) {
|
|
/**
|
|
* Get the path to the storage folder.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function storage_path($path = '')
|
|
{
|
|
return app()->storagePath($path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('trans')) {
|
|
/**
|
|
* Translate the given message.
|
|
*
|
|
* @param string $id
|
|
* @param array $replace
|
|
* @param string $locale
|
|
* @return \Illuminate\Contracts\Translation\Translator|string
|
|
*/
|
|
function trans($id = null, $replace = [], $locale = null)
|
|
{
|
|
if (is_null($id)) {
|
|
return app('translator');
|
|
}
|
|
|
|
return app('translator')->trans($id, $replace, $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('trans_choice')) {
|
|
/**
|
|
* Translates the given message based on a count.
|
|
*
|
|
* @param string $id
|
|
* @param int|array|\Countable $number
|
|
* @param array $replace
|
|
* @param string $locale
|
|
* @return string
|
|
*/
|
|
function trans_choice($id, $number, array $replace = [], $locale = null)
|
|
{
|
|
return app('translator')->transChoice($id, $number, $replace, $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('url')) {
|
|
/**
|
|
* Generate a url for the application.
|
|
*
|
|
* @param string $path
|
|
* @param mixed $parameters
|
|
* @param bool $secure
|
|
* @return string
|
|
*/
|
|
function url($path = null, $parameters = [], $secure = null)
|
|
{
|
|
return app('url')->to($path, $parameters, $secure);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('view')) {
|
|
/**
|
|
* Get the evaluated view contents for the given view.
|
|
*
|
|
* @param string $view
|
|
* @param array $data
|
|
* @param array $mergeData
|
|
* @return \Illuminate\View\View
|
|
*/
|
|
function view($view = null, $data = [], $mergeData = [])
|
|
{
|
|
$factory = app('view');
|
|
|
|
if (func_num_args() === 0) {
|
|
return $factory;
|
|
}
|
|
|
|
return $factory->make($view, $data, $mergeData);
|
|
}
|
|
}
|