Illuminate/Foundation/helpers.php


<?php

use Illuminate\Support\Str;
use Illuminate\Container\Container;


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 = array()) { return app()->abort($code, $message, $headers); } }
if ( ! function_exists('action')) { /** * Generate a URL to a controller action. * * @param string $name * @param array $parameters * @param bool $absolute * @return string */ function action($name, $parameters = array(), $absolute = true) { return app('url')->action($name, $parameters, $absolute); } }
if ( ! function_exists('app')) { /** * Get the available container instance. * * @param string $make * @param array $parameters * @return mixed|\Illuminate\Foundation\Application */ function app($make = null, $parameters = []) { if (is_null($make)) return Container::getInstance(); return Container::getInstance()->make($make, $parameters); } }
if ( ! function_exists('app_path')) { /** * Get the path to the application folder. * * @param string $path * @return string */ function app_path($path = '') { return app('path').($path ? '/'.$path : $path); } }
if ( ! function_exists('asset')) { /** * Generate an asset path for the application. * * @param string $path * @param bool $secure * @return string */ function asset($path, $secure = null) { return app('url')->asset($path, $secure); } }
if ( ! function_exists('auth')) { /** * Get the available auth instance. * * @return \Illuminate\Contracts\Auth\Guard */ function auth() { return app('Illuminate\Contracts\Auth\Guard'); } }
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('back')) { /** * Create a new redirect response to the previous location. * * @param int $status * @param array $headers * @return \Illuminate\Http\RedirectResponse */ function back($status = 302, $headers = array()) { return app('redirect')->back($status, $headers); } }
if ( ! function_exists('bcrypt')) { /** * Hash the given value. * * @param string $value * @param array $options * @return string */ function bcrypt($value, $options = array()) { return app('hash')->make($value, $options); } }
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('config_path')) { /** * Get the configuration path. * * @param string $path * @return string */ function config_path($path = '') { return app()->make('path.config').($path ? '/'.$path : $path); } } if ( ! function_exists('cookie')) { /** * Create a new cookie instance. * * @param string $name * @param string $value * @param int $minutes * @param string $path * @param string $domain * @param bool $secure * @param bool $httpOnly * @return \Symfony\Component\HttpFoundation\Cookie */ function cookie($name = null, $value = null, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true) { $cookie = app('Illuminate\Contracts\Cookie\Factory'); if (is_null($name)) { return $cookie; } return $cookie->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly); } }
if ( ! function_exists('csrf_token')) { /** * Get the CSRF token value. * * @return string * * @throws RuntimeException */ function csrf_token() { $session = app('session'); if (isset($session)) { return $session->getToken(); } throw new RuntimeException("Application session store not set."); } }
if ( ! function_exists('database_path')) { /** * Get the database path. * * @param string $path * @return string */ function database_path($path = '') { return app()->databasePath().($path ? '/'.$path : $path); } }
if ( ! function_exists('delete')) { /** * Register a new DELETE route with the router. * * @param string $uri * @param \Closure|array|string $action * @return \Illuminate\Routing\Route */ function delete($uri, $action) { return app('router')->delete($uri, $action); } }
if ( ! function_exists('get')) { /** * Register a new GET route with the router. * * @param string $uri * @param \Closure|array|string $action * @return \Illuminate\Routing\Route */ function get($uri, $action) { return app('router')->get($uri, $action); } }
if ( ! function_exists('info')) { /** * Write some information to the log. * * @param string $message * @param array $context * @return void */ function info($message, $context = array()) { return app('log')->info($message, $context); } }
if ( ! function_exists('logger')) { /** * Log a debug message to the logs. * * @param string $message * @param array $context * @return null|\Illuminate\Contracts\Logging\Log */ function logger($message = null, array $context = array()) { if (is_null($message)) return app('log'); return app('log')->debug($message, $context); } }
if ( ! function_exists('old')) { /** * Retrieve an old input item. * * @param string $key * @param mixed $default * @return mixed */ function old($key = null, $default = null) { return app('request')->old($key, $default); } }
if ( ! function_exists('patch')) { /** * Register a new PATCH route with the router. * * @param string $uri * @param \Closure|array|string $action * @return \Illuminate\Routing\Route */ function patch($uri, $action) { return app('router')->patch($uri, $action); } }
if ( ! function_exists('post')) { /** * Register a new POST route with the router. * * @param string $uri * @param \Closure|array|string $action * @return \Illuminate\Routing\Route */ function post($uri, $action) { return app('router')->post($uri, $action); } }
if ( ! function_exists('put')) { /** * Register a new PUT route with the router. * * @param string $uri * @param \Closure|array|string $action * @return \Illuminate\Routing\Route */ function put($uri, $action) { return app('router')->put($uri, $action); } }
if ( ! function_exists('public_path')) { /** * Get the path to the public folder. * * @param string $path * @return string */ function public_path($path = '') { return app()->make('path.public').($path ? '/'.$path : $path); } }
if ( ! function_exists('redirect')) { /** * Get an instance of the redirector. * * @param string|null $to * @param int $status * @param array $headers * @param bool $secure * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse */ function redirect($to = null, $status = 302, $headers = array(), $secure = null) { if (is_null($to)) return app('redirect'); return app('redirect')->to($to, $status, $headers, $secure); } }
if ( ! function_exists('resource')) { /** * Route a resource to a controller. * * @param string $name * @param string $controller * @param array $options * @return void */ function resource($name, $controller, array $options = []) { return app('router')->resource($name, $controller, $options); } }
if ( ! function_exists('response')) { /** * Return a new response from the application. * * @param string $content * @param int $status * @param array $headers * @return \Symfony\Component\HttpFoundation\Response|\Illuminate\Contracts\Routing\ResponseFactory */ function response($content = '', $status = 200, array $headers = array()) { $factory = app('Illuminate\Contracts\Routing\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 $absolute * @param \Illuminate\Routing\Route $route * @return string */ function route($name, $parameters = array(), $absolute = true, $route = null) { return app('url')->route($name, $parameters, $absolute, $route); } }
if ( ! function_exists('secure_asset')) { /** * Generate an asset path for the application. * * @param string $path * @return string */ function secure_asset($path) { return asset($path, true); } }
if ( ! function_exists('secure_url')) { /** * Generate a HTTPS url for the application. * * @param string $path * @param mixed $parameters * @return string */ function secure_url($path, $parameters = array()) { return url($path, $parameters, true); } }
if ( ! function_exists('session')) { /** * Get / set the specified session 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 session($key = null, $default = null) { if (is_null($key)) return app('session'); if (is_array($key)) return app('session')->put($key); return app('session')->get($key, $default); } }
if ( ! function_exists('storage_path')) { /** * Get the path to the storage folder. * * @param string $path * @return string */ function storage_path($path = '') { return app('path.storage').($path ? '/'.$path : $path); } }
if ( ! function_exists('trans')) { /** * Translate the given message. * * @param string $id * @param array $parameters * @param string $domain * @param string $locale * @return string */ function trans($id = null, $parameters = array(), $domain = 'messages', $locale = null) { if (is_null($id)) return app('translator'); return app('translator')->trans($id, $parameters, $domain, $locale); } }
if ( ! function_exists('trans_choice')) { /** * Translates the given message based on a count. * * @param string $id * @param int $number * @param array $parameters * @param string $domain * @param string $locale * @return string */ function trans_choice($id, $number, array $parameters = array(), $domain = 'messages', $locale = null) { return app('translator')->transChoice($id, $number, $parameters, $domain, $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 = array(), $secure = null) { return app('Illuminate\Contracts\Routing\UrlGenerator')->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 = array(), $mergeData = array()) { $factory = app('Illuminate\Contracts\View\Factory'); if (func_num_args() === 0) { return $factory; } return $factory->make($view, $data, $mergeData); } }
if ( ! function_exists('env')) { /** * Gets the value of an environment variable. Supports boolean, empty and null. * 获取一个环境变量的值。支持“布尔值”,“空值”和“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 string $event * @param mixed $payload * @param bool $halt * @return array|null */ function event($event, $payload = array(), $halt = false) { return app('events')->fire($event, $payload, $halt); } }
if ( ! function_exists('elixir')) { /** * Get the path to a versioned Elixir file. * * @param string $file * @return string */ function elixir($file) { static $manifest = null; if (is_null($manifest)) { $manifest = json_decode(file_get_contents(public_path().'/build/rev-manifest.json'), true); } if (isset($manifest[$file])) { return '/build/'.$manifest[$file]; } throw new InvalidArgumentException("File {$file} not defined in asset manifest."); } }