Helper Functions
Arrays
array_add
The array_add function adds a given key / value pair to the array if the given key doesn't already exist in the array.
1$array = ['foo' => 'bar'];2 3$array = array_add($array, 'key', 'value');array_divide
The array_divide function returns two arrays, one containing the keys, and the other containing the values of the original array.
1$array = ['foo' => 'bar'];2 3list($keys, $values) = array_divide($array);array_dot
The array_dot function flattens a multi-dimensional array into a single level array that uses "dot" notation to indicate depth.
1$array = ['foo' => ['bar' => 'baz']];2 3$array = array_dot($array);4 5// ['foo.bar' => 'baz'];array_except
The array_except method removes the given key / value pairs from the array.
1$array = array_except($array, ['keys', 'to', 'remove']);array_fetch
The array_fetch method returns a flattened array containing the selected nested element.
1$array = [2    ['developer' => ['name' => 'Taylor']],3    ['developer' => ['name' => 'Dayle']]4];5 6$array = array_fetch($array, 'developer.name');7 8// ['Taylor', 'Dayle'];array_first
The array_first method returns the first element of an array passing a given truth test.
1$array = [100, 200, 300];2 3$value = array_first($array, function($key, $value)4{5    return $value >= 150;6});A default value may also be passed as the third parameter:
1$value = array_first($array, $callback, $default);array_last
The array_last method returns the last element of an array passing a given truth test.
1$array = [350, 400, 500, 300, 200, 100];2 3$value = array_last($array, function($key, $value)4{5    return $value > 350;6});7 8// 500A default value may also be passed as the third parameter:
1$value = array_last($array, $callback, $default);array_flatten
The array_flatten method will flatten a multi-dimensional array into a single level.
1$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];2 3$array = array_flatten($array);4 5// ['Joe', 'PHP', 'Ruby'];array_forget
The array_forget method will remove a given key / value pair from a deeply nested array using "dot" notation.
1$array = ['names' => ['joe' => ['programmer']]];2 3array_forget($array, 'names.joe');array_get
The array_get method will retrieve a given value from a deeply nested array using "dot" notation.
1$array = ['names' => ['joe' => ['programmer']]];2 3$value = array_get($array, 'names.joe');4 5$value = array_get($array, 'names.john', 'default'); Want something like array_get but for objects instead? Use object_get.
array_only
The array_only method will return only the specified key / value pairs from the array.
1$array = ['name' => 'Joe', 'age' => 27, 'votes' => 1];2 3$array = array_only($array, ['name', 'votes']);array_pluck
The array_pluck method will pluck a list of the given key / value pairs from the array.
1$array = [['name' => 'Taylor'], ['name' => 'Dayle']];2 3$array = array_pluck($array, 'name');4 5// ['Taylor', 'Dayle'];array_pull
The array_pull method will return a given key / value pair from the array, as well as remove it.
1$array = ['name' => 'Taylor', 'age' => 27];2 3$name = array_pull($array, 'name');array_set
The array_set method will set a value within a deeply nested array using "dot" notation.
1$array = ['names' => ['programmer' => 'Joe']];2 3array_set($array, 'names.editor', 'Taylor');array_sort
The array_sort method sorts the array by the results of the given Closure.
1$array = [2    ['name' => 'Jill'],3    ['name' => 'Barry']4];5 6$array = array_values(array_sort($array, function($value)7{8    return $value['name'];9}));array_where
Filter the array using the given Closure.
1$array = [100, '200', 300, '400', 500];2 3$array = array_where($array, function($key, $value)4{5    return is_string($value);6});7 8// Array ( [1] => 200 [3] => 400 )head
Return the first element in the array.
1$first = head($this->returnsArray('foo'));last
Return the last element in the array. Useful for method chaining.
1$last = last($this->returnsArray('foo'));Paths
app_path
Get the fully qualified path to the app directory.
1$path = app_path();base_path
Get the fully qualified path to the root of the application install.
config_path
Get the fully qualified path to the config directory.
public_path
Get the fully qualified path to the public directory.
storage_path
Get the fully qualified path to the storage directory.
Routing
get
Register a new GET route with the router.
1get('/', function() { return 'Hello World'; });post
Register a new POST route with the router.
1post('foo/bar', 'FooController@action');put
Register a new PUT route with the router.
1put('foo/bar', 'FooController@action');patch
Register a new PATCH route with the router.
1patch('foo/bar', 'FooController@action');delete
Register a new DELETE route with the router.
1delete('foo/bar', 'FooController@action');resource
Register a new RESTful resource route with the router.
1resource('foo', 'FooController');Strings
camel_case
Convert the given string to camelCase.
1$camel = camel_case('foo_bar');2 3// fooBarclass_basename
Get the class name of the given class, without any namespace names.
1$class = class_basename('Foo\Bar\Baz');2 3// Baze
Run htmlentities over the given string, with UTF-8 support.
1$entities = e('<html>foo</html>');ends_with
Determine if the given haystack ends with a given needle.
1$value = ends_with('This is my name', 'name');snake_case
Convert the given string to snake_case.
1$snake = snake_case('fooBar');2 3// foo_barstr_limit
Limit the number of characters in a string.
1str_limit($value, $limit = 100, $end = '...')Example:
1$value = str_limit('The PHP framework for web artisans.', 7);2 3// The PHP...starts_with
Determine if the given haystack begins with the given needle.
1$value = starts_with('This is my name', 'This');str_contains
Determine if the given haystack contains the given needle.
1$value = str_contains('This is my name', 'my');str_finish
Add a single instance of the given needle to the haystack. Remove any extra instances.
1$string = str_finish('this/string', '/');2 3// this/string/str_is
Determine if a given string matches a given pattern. Asterisks may be used to indicate wildcards.
1$value = str_is('foo*', 'foobar');str_plural
Convert a string to its plural form (English only).
1$plural = str_plural('car');str_random
Generate a random string of the given length.
1$string = str_random(40);str_singular
Convert a string to its singular form (English only).
1$singular = str_singular('cars');str_slug
Generate a URL friendly "slug" from a given string.
1str_slug($title, $separator);Example:
1$title = str_slug("Laravel 5 Framework", "-");2 3// laravel-5-frameworkstudly_case
Convert the given string to StudlyCase.
1$value = studly_case('foo_bar');2 3// FooBartrans
Translate a given language line. Alias of Lang::get.
1$value = trans('validation.required'):trans_choice
Translate a given language line with inflection. Alias of Lang::choice.
1$value = trans_choice('foo.bar', $count);URLs
action
Generate a URL for a given controller action.
1$url = action('HomeController@getIndex', $params);route
Generate a URL for a given named route.
1$url = route('routeName', $params);asset
Generate a URL for an asset.
1$url = asset('img/photo.jpg');secure_asset
Generate a URL for an asset using HTTPS.
1echo secure_asset('foo/bar.zip', $title, $attributes = []);secure_url
Generate a fully qualified URL to a given path using HTTPS.
1echo secure_url('foo/bar', $parameters = []);url
Generate a fully qualified URL to the given path.
1echo url('foo/bar', $parameters = [], $secure = null);Miscellaneous
csrf_token
Get the value of the current CSRF token.
1$token = csrf_token();dd
Dump the given variable and end execution of the script.
1dd($value);elixir
Get the path to a versioned Elixir file.
1elixir($file);env
Gets the value of an environment variable or return a default value.
1env('APP_ENV', 'production')event
Fire an event.
1event('my.event');value
If the given value is a Closure, return the value returned by the Closure. Otherwise, return the value.
1$value = value(function() { return 'bar'; });view
Get a View instance for the given view path.
1return view('auth.login');with
Return the given object.
1$value = with(new Foo)->doWork();