Introducción
Laravel incluye una variedad de funciones «helpers» globales de PHP. Muchas de esas funciones son usadas por el mismo framework; sin embargo, eres libre de usarlas en tus aplicaciones si lo encuentras conveniente.
Métodos disponibles
Arreglos & Objetos
Arr::add
Arr::collapse
Arr::crossJoin
Arr::divide
Arr::dot
Arr::except
Arr::first
Arr::flatten
Arr::forget
Arr::get
Arr::has
Arr::isAssoc
Arr::last
Arr::only
Arr::pluck
Arr::prepend
Arr::pull
Arr::random
Arr::query
Arr::set
Arr::shuffle
Arr::sort
Arr::sortRecursive
Arr::where
Arr::wrap
data_fill
data_get
data_set
head
last
Rutas
Cadenas
__
class_basename
e
preg_replace_array
Str::after
Str::afterLast
Str::before
Str::beforeLast
Str::camel
Str::contains
Str::containsAll
Str::endsWith
Str::finish
Str::is
Str::isUuid
Str::kebab
Str::limit
Str::orderedUuid
Str::plural
Str::random
Str::replaceArray
Str::replaceFirst
Str::replaceLast
Str::singular
Str::slug
Str::snake
Str::start
Str::startsWith
Str::studly
Str::title
Str::ucfirst
Str::uuid
Str::words
trans
trans_choice
URLs
Variados
abort
abort_if
abort_unless
app
auth
back
bcrypt
blank
broadcast
cache
class_uses_recursive
collect
config
cookie
csrf_field
csrf_token
dd
decrypt
dispatch
dispatch_now
dump
encrypt
env
event
factory
filled
info
logger
method_field
now
old
optional
policy
redirect
report
request
rescue
resolve
response
retry
session
tap
throw_if
throw_unless
today
trait_uses_recursive
transform
validator
value
view
with
Listado de Métodos
Arreglos & Objetos
Arr::add()
El método Arr::add
agrega una clave / valor dada a un arreglo si la clave no existe previamente en el arreglo o existe pero con un valor null
:
use Illuminate\Support\Arr; $array = Arr::add(['name' => 'Desk'], 'price', 100); // ['name' => 'Desk', 'price' => 100] $array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100); // ['name' => 'Desk', 'price' => 100]
Arr::collapse()
El método Arr::collapse
colapsa un arreglo de arreglos en un único arreglo:
use Illuminate\Support\Arr; $array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Arr::crossJoin()
El método Arr::crossJoin
hace un cross join de los arreglos dados, devolviendo un producto cartesiano con todas las posibles permutaciones:
use Illuminate\Support\Arr; $matrix = Arr::crossJoin([1, 2], ['a', 'b']); /* [ [1, 'a'], [1, 'b'], [2, 'a'], [2, 'b'], ] */ $matrix = Arr::crossJoin([1, 2], ['a', 'b'], ['I', 'II']); /* [ [1, 'a', 'I'], [1, 'a', 'II'], [1, 'b', 'I'], [1, 'b', 'II'], [2, 'a', 'I'], [2, 'a', 'II'], [2, 'b', 'I'], [2, 'b', 'II'], ] */
Arr::divide()
El método Arr::divide
retorna dos arreglos, uno contiene las claves y el otro contiene los valores del arreglo dado:
use Illuminate\Support\Arr; [$keys, $values] = Arr::divide(['name' => 'Desk']); // $keys: ['name'] // $values: ['Desk']
Arr::dot()
El método Arr::dot
aplana un arreglo multidimensional en un arreglo de un sólo nivel que usa la notación de «punto» para indicar la profundidad:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; $flattened = Arr::dot($array); // ['products.desk.price' => 100]
Arr::except()
El método Arr::except
remueve los pares clave / valor de un arreglo:
use Illuminate\Support\Arr; $array = ['name' => 'Desk', 'price' => 100]; $filtered = Arr::except($array, ['price']); // ['name' => 'Desk']
Arr::first()
El método Arr::first
devuelve el primer elemento de un arreglo que cumpla la condición dada:
use Illuminate\Support\Arr; $array = [100, 200, 300]; $first = Arr::first($array, function ($value, $key) { return $value >= 150; }); // 200
Un valor por defecto puede ser pasado como un tercer parámetro al método. Este valor será retornado si no hay un valor que cumpla la condición:
use Illuminate\Support\Arr; $first = Arr::first($array, $callback, $default);
Arr::flatten()
El método Arr::flatten
unifica un arreglo multidimensional en un arreglo de un solo nivel:
use Illuminate\Support\Arr; $array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']]; $flattened = Arr::flatten($array); // ['Joe', 'PHP', 'Ruby']
Arr::forget()
El método Arr::forget
remueve un par clave / valor de un arreglo anidado usando la notación de «punto»:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, 'products.desk'); // ['products' => []]
Arr::get()
El método Arr::get
recupera un valor de un arreglo anidado usando la notación de «punto»:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; $price = Arr::get($array, 'products.desk.price'); // 100
El método Arr::get
acepta un valor por defecto, el cual será devuelto si la clave especificada no es encontrada:
use Illuminate\Support\Arr; $discount = Arr::get($array, 'products.desk.discount', 0); // 0
Arr::has()
El método Arr::has
comprueba si un elemento o elementos dados existen en un arreglo usando la notación de «punto»:
use Illuminate\Support\Arr; $array = ['product' => ['name' => 'Desk', 'price' => 100]]; $contains = Arr::has($array, 'product.name'); // true $contains = Arr::has($array, ['product.price', 'product.discount']); // false
Arr::isAssoc()
Arr::isAssoc
retorna true
si el arreglo dado es un arreglo asociativo. Un arreglo es considerado «asociativo» si no tiene claves numéricas secuenciales comenzando por cero:
use Illuminate\Support\Arr; $isAssoc = Arr::isAssoc(['product' => ['name' => 'Desk', 'price' => 100]]); // true $isAssoc = Arr::isAssoc([1, 2, 3]); // false
Arr::last()
El método Arr::last
retorna el último elemento de un arreglo que cumpla la condición dada:
use Illuminate\Support\Arr; $array = [100, 200, 300, 110]; $last = Arr::last($array, function ($value, $key) { return $value >= 150; }); // 300
Un valor por defecto puede ser pasado como tercer argumento al método. Este valor será devuelto si ningún valor cumple la condición:
use Illuminate\Support\Arr; $last = Arr::last($array, $callback, $default);
Arr::only()
El método Arr::only
retorna solo el par clave / valor especificado del arreglo dado:
use Illuminate\Support\Arr; $array = ['name' => 'Desk', 'price' => 100, 'orders' => 10]; $slice = Arr::only($array, ['name', 'price']); // ['name' => 'Desk', 'price' => 100]
Arr::pluck()
El método Arr::pluck
recupera todos los valores para una clave dada de un arreglo:
use Illuminate\Support\Arr; $array = [ ['developer' => ['id' => 1, 'name' => 'Taylor']], ['developer' => ['id' => 2, 'name' => 'Abigail']], ]; $names = Arr::pluck($array, 'developer.name'); // ['Taylor', 'Abigail']
Puedes además especificar cómo deseas que la lista resultante sea codificada:
use Illuminate\Support\Arr; $names = Arr::pluck($array, 'developer.name', 'developer.id'); // [1 => 'Taylor', 2 => 'Abigail']
Arr::prepend()
El método Arr::prepend
colocará un elemento al comienzo de un arreglo:
use Illuminate\Support\Arr; $array = ['one', 'two', 'three', 'four']; $array = Arr::prepend($array, 'zero'); // ['zero', 'one', 'two', 'three', 'four']
Si es necesario, puedes especificar la clave que debería ser usada por el valor:
use Illuminate\Support\Arr; $array = ['price' => 100]; $array = Arr::prepend($array, 'Desk', 'name'); // ['name' => 'Desk', 'price' => 100]
Arr::pull()
El método Arr::pull
retorna y remueve un par clave / valor de un arreglo:
use Illuminate\Support\Arr; $array = ['name' => 'Desk', 'price' => 100]; $name = Arr::pull($array, 'name'); // $name: Desk // $array: ['price' => 100]
Un valor por defecto puede ser pasado como tercer argumento del método. Este valor será devuelto si la clave no existe:
use Illuminate\Support\Arr; $value = Arr::pull($array, $key, $default);
Arr::random()
El método Arr::random
retorna un valor aleatorio de un arreglo:
use Illuminate\Support\Arr; $array = [1, 2, 3, 4, 5]; $random = Arr::random($array); // 4 - (retrieved randomly)
Puedes además especificar el número de elementos a retornar como un segundo argumento opcional. Nota que proveer este argumento retornará un arreglo, incluso si solo deseas un elemento:
use Illuminate\Support\Arr; $items = Arr::random($array, 2); // [2, 5] - (retrieved randomly)
Arr::query()
El método Arr::query
convierte el contenido del arreglo a una cadena de consulta:
use Illuminate\Support\Arr; $array = ['name' => 'Taylor', 'order' => ['column' => 'created_at', 'direction' => 'desc']]; Arr::query($array); // name=Taylor&order[column]=created_at&order[direction]=desc
Arr::set()
El método Arr::set
establece un valor dentro de un arreglo anidado usando la notación de «punto»:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; Arr::set($array, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]]
Arr::shuffle()
El método Arr::shuffle
ordena de forma aleatoria los elementos en el arreglo:
use Illuminate\Support\Arr; $array = Arr::shuffle([1, 2, 3, 4, 5]); // [3, 2, 5, 1, 4] - (generated randomly)
Arr::sort()
El método Arr::sort
ordena un arreglo por sus valores:
use Illuminate\Support\Arr; $array = ['Desk', 'Table', 'Chair']; $sorted = Arr::sort($array); // ['Chair', 'Desk', 'Table']
Puedes además ordenar el arreglo por los resultados de la Closure dada:
use Illuminate\Support\Arr; $array = [ ['name' => 'Desk'], ['name' => 'Table'], ['name' => 'Chair'], ]; $sorted = array_values(Arr::sort($array, function ($value) { return $value['name']; })); /* [ ['name' => 'Chair'], ['name' => 'Desk'], ['name' => 'Table'], ] */
Arr::sortRecursive()
El método Arr::sortRecursive
ordena recursivamente un arreglo usando la función sort
para sub-arreglos numéricos y ksort
para sub-arreglos asociativos:
use Illuminate\Support\Arr; $array = [ ['Roman', 'Taylor', 'Li'], ['PHP', 'Ruby', 'JavaScript'], ['one' => 1, 'two' => 2, 'three' => 3], ]; $sorted = Arr::sortRecursive($array); /* [ ['JavaScript', 'PHP', 'Ruby'], ['one' => 1, 'three' => 3, 'two' => 2], ['Li', 'Roman', 'Taylor'], ] */
Arr::where()
El método Arr::where
filtra un arreglo usando la Closure dada:
use Illuminate\Support\Arr; $array = [100, '200', 300, '400', 500]; $filtered = Arr::where($array, function ($value, $key) { return is_string($value); }); // [1 => '200', 3 => '400']
Arr::wrap()
El método Arr::wrap
envuelve el valor dado en un arreglo. Si el valor dado ya es un arreglo este no será cambiado:
use Illuminate\Support\Arr; $string = 'Laravel'; $array = Arr::wrap($string); // ['Laravel']
Si el valor dado es nulo, un arreglo vacío será devuelto:
use Illuminate\Support\Arr; $nothing = null; $array = Arr::wrap($nothing); // []
data_fill()
La función data_fill
establece un valor faltante dentro de un arreglo anidado u objeto usando la notación de «punto»:
$data = ['products' => ['desk' => ['price' => 100]]]; data_fill($data, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 100]]] data_fill($data, 'products.desk.discount', 10); // ['products' => ['desk' => ['price' => 100, 'discount' => 10]]]
Esta función además acepta asteriscos como comodines y rellenará el objetivo en consecuencia:
$data = [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2'], ], ]; data_fill($data, 'products.*.price', 200); /* [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2', 'price' => 200], ], ] */
data_get()
La función data_get
recupera un valor de un arreglo anidado u objeto usando la notación de «punto»:
$data = ['products' => ['desk' => ['price' => 100]]]; $price = data_get($data, 'products.desk.price'); // 100
La función data_get
acepta además un valor por defecto, el cual será retornado si la clave especificada no es encontrada:
$discount = data_get($data, 'products.desk.discount', 0); // 0
La función también acepta comodines usando asteriscos, que pueden tener como objetivo cualquier clave del arreglo u objeto:
$data = [ 'product-one' => ['name' => 'Desk 1', 'price' => 100], 'product-two' => ['name' => 'Desk 2', 'price' => 150], ]; data_get($data, '*.name'); // ['Desk 1', 'Desk 2'];
data_set()
La función data_set
establece un valor dentro de un arreglo anidado u objeto usando la notación de «punto»:
$data = ['products' => ['desk' => ['price' => 100]]]; data_set($data, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]]
Esta función además acepta comodines y establecerá valores en el objetivo en consecuencia:
$data = [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2', 'price' => 150], ], ]; data_set($data, 'products.*.price', 200); /* [ 'products' => [ ['name' => 'Desk 1', 'price' => 200], ['name' => 'Desk 2', 'price' => 200], ], ] */
Por defecto, cualquier valor existente es sobrescrito. Si deseas solo establecer un valor si no existe, puedes pasar false
como cuarto argumento:
$data = ['products' => ['desk' => ['price' => 100]]]; data_set($data, 'products.desk.price', 200, false); // ['products' => ['desk' => ['price' => 100]]]
head()
La función head
retorna el primer elemento en el arreglo dado:
$array = [100, 200, 300]; $first = head($array); // 100
last()
La función last
retorna el último elemento en el arreglo dado:
$array = [100, 200, 300]; $last = last($array); // 300
Rutas
app_path()
La función app_path
retorna la ruta completa al directorio app
. Además puedes usar la función app_path
para generar una ruta completa a un archivo relativo al directorio de la aplicación:
$path = app_path(); $path = app_path('Http/Controllers/Controller.php');
base_path()
La función base_path
retorna la ruta completa a la raíz del proyecto. Además puedes usar la función base_path
para generar una ruta completa a un archivo dado relativo al directorio raíz del proyecto:
$path = base_path(); $path = base_path('vendor/bin');
config_path()
La función config_path
retorna la ruta completa al directorio config
. Puedes además usar la función config_path
para generar una ruta completa a un archivo dado dentro del directorio de configuración de la aplicación:
$path = config_path(); $path = config_path('app.php');
database_path()
La función database_path
retorna la ruta completa al directorio database
. Puedes además usar la función database_path
para generar una ruta completa a un archivo dado dentro del directorio database:
$path = database_path(); $path = database_path('factories/UserFactory.php');
mix()
La función mix
retorna la ruta al archivo versionado Mix:
$path = mix('css/app.css');
public_path()
La función public_path
retorna la ruta completa al directorio public
. Puedes además usar la función public_path
para generar una ruta completa a un archivo dado dentro del directorio public:
$path = public_path(); $path = public_path('css/app.css');
resource_path()
La función resource_path
retorna la ruta completa al directorio resources
. Puedes además usar la función resource_path
para generar una ruta completa a un archivo dado dentro del directorio resources:
$path = resource_path(); $path = resource_path('sass/app.scss');
storage_path()
La función storage_path
retorna la ruta completa al directorio storage
. Puedes además usar la función storage_path
para generar una ruta completa a un archivo dado dentro del directorio storage:
$path = storage_path(); $path = storage_path('app/file.txt');
Cadenas
__()
La función __
traduce la cadena de traducción dada o clave de traducción dada usando tus archivos de localización:
echo __('Welcome to our application'); echo __('messages.welcome');
Si la cadena o llave de traducción especificada no existe, la función __
retornará el valor dado. Así, usando el ejemplo anterior, la función __
podría retornar messages.welcome
si esa clave de traducción no existe.
class_basename()
La función class_basename
retorna el nombre de la clase dada con el espacio de nombre de la clase removido:
$class = class_basename('Foo\Bar\Baz'); // Baz
e()
La función e
ejecuta la función de PHP htmlspecialchars
con la opción double_encode
establecida a true
por defecto:
echo e('<html>foo</html>'); // <html>foo</html>
preg_replace_array()
La función preg_replace_array
reemplaza un patrón dado en la cadena secuencialmente usando un arreglo:
$string = 'The event will take place between :start and :end'; $replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string); // The event will take place between 8:30 and 9:00
Str::after()
El método Str::after
retorna todo después del valor dado en una cadena. La cadena entera será retornada si el valor no existe dentro de la cadena:
use Illuminate\Support\Str; $slice = Str::after('This is my name', 'This is'); // ' my name'
Str::afterLast()
El método Str::afterLast
retorna todo luego de la última ocurrencia del valor dado en una cadena. La cadena entera será retornada si el valor no existe dentro de la cadena:
use Illuminate\Support\Str; $slice = Str::afterLast('App\Http\Controllers\Controller', '\\'); // 'Controller'
Str::before()
El método Str::before
retorna todo antes del valor dado en una cadena:
use Illuminate\Support\Str; $slice = Str::before('This is my name', 'my name'); // 'This is '
Str::beforeLast()
El método Str::beforeLast
retorna todo antes de la última ocurrencia del valor dado en una cadena:
use Illuminate\Support\Str; $slice = Str::beforeLast('This is my name', 'is'); // 'This '
Str::camel()
El método Str::camel
convierte la cadena dada a camelCase
:
use Illuminate\Support\Str; $converted = Str::camel('foo_bar'); // fooBar
Str::contains()
El método Str::contains
determina si la cadena dada contiene el valor dado (sensible a mayúsculas y minúsculas):
use Illuminate\Support\Str; $contains = Str::contains('This is my name', 'my'); // true
Puedes además pasar un arreglo de valores para determinar si la cadena dada contiene cualquiera de los valores:
use Illuminate\Support\Str; $contains = Str::contains('This is my name', ['my', 'foo']); // true
Str::containsAll()
El método Str::containsAll
determina si la cadena dada contiene todos los valores del arreglo:
use Illuminate\Support\Str; $containsAll = Str::containsAll('This is my name', ['my', 'name']); // true
Str::endsWith()
El método Str::endsWith
determina si la cadena dada finaliza con el valor dado:
use Illuminate\Support\Str; $result = Str::endsWith('This is my name', 'name'); // true
También puedes pasar un arreglo de valores para determinar si la cadena dada termina con alguno de los valores dados:
use Illuminate\Support\Str; $result = Str::endsWith('This is my name', ['name', 'foo']); // true $result = Str::endsWith('This is my name', ['this', 'foo']); // false
Str::finish()
El método Str::finish
agrega una instancia individual del valor dado a una cadena si éste no finaliza con el valor:
use Illuminate\Support\Str; $adjusted = Str::finish('this/string', '/'); // this/string/ $adjusted = Str::finish('this/string/', '/'); // this/string/
Str::is()
El método Str::is
determina si una cadena dada concuerda con un patrón dado. Asteriscos pueden ser usados para indicar comodines:
use Illuminate\Support\Str; $matches = Str::is('foo*', 'foobar'); // true $matches = Str::is('baz*', 'foobar'); // false
Str::ucfirst()
El método Str::ucfirst
devuelve la cadena dada con el primer carácter en mayúscula.
use Illuminate\Support\Str; $string = Str::ucfirst('foo bar'); // Foo bar
Str::isUuid()
El método Str::isUuid
determina si la cadena dada es un UUID válido:
use Illuminate\Support\Str; $isUuid = Str::isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de'); // true $isUuid = Str::isUuid('laravel'); // false
Str::kebab()
El método Str::kebab
convierte la cadena dada a kebab-case
:
use Illuminate\Support\Str; $converted = Str::kebab('fooBar'); // foo-bar
Str::limit()
El método Str::limit
trunca la cadena dada en la longitud especificada:
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20); // The quick brown fox...
Puedes además pasar un tercer argumento para cambiar la cadena que será adjuntada al final:
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)'); // The quick brown fox (...)
Str::orderedUuid
El método Str::orderedUuid
genera una «primera marca de tiempo» UUID que puede ser eficientemente almacenada en una columna indexada de la base de datos:
use Illuminate\Support\Str; return (string) Str::orderedUuid();
Str::plural()
El método Str::plural
convierte una cadena de una única palabra a su forma plural. Esta función actualmente solo soporta el idioma inglés:
use Illuminate\Support\Str; $plural = Str::plural('car'); // cars $plural = Str::plural('child'); // children
Puedes además proporcionar un entero como segundo argumento a la función para recuperar la forma singular o plural de la cadena:
use Illuminate\Support\Str; $plural = Str::plural('child', 2); // children $plural = Str::plural('child', 1); // child
Str::random()
El método Str::random
genera una cadena aleatoria con la longitud especificada. Este método usa la función PHP random_bytes
:
use Illuminate\Support\Str; $random = Str::random(40);
Str::replaceArray()
El método Str::replaceArray
reemplaza un valor dado en la cadena secuencialmente usando un arreglo:
use Illuminate\Support\Str; $string = 'The event will take place between ? and ?'; $replaced = Str::replaceArray('?', ['8:30', '9:00'], $string); // The event will take place between 8:30 and 9:00
Str::replaceFirst()
El método Str::replaceFirst
reemplaza la primera ocurrencia de un valor dado en una cadena:
use Illuminate\Support\Str; $replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog'); // a quick brown fox jumps over the lazy dog
Str::replaceLast()
El método Str::replaceLast
reemplaza la última ocurrencia de un valor dado en una cadena:
use Illuminate\Support\Str; $replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog'); // the quick brown fox jumps over a lazy dog
Str::singular()
El método Str::singular
convierte una cadena a su forma singular. Esta función actualmente solo soporta el idioma inglés:
use Illuminate\Support\Str; $singular = Str::singular('cars'); // car $singular = Str::singular('children'); // child
Str::slug()
El método Str::slug
genera un «slug» de URL amigable con la cadena dada:
use Illuminate\Support\Str; $slug = Str::slug('Laravel 5 Framework', '-'); // laravel-5-framework
Str::snake()
El método Str::snake
convierte la cadena dada a snake_case
:
use Illuminate\Support\Str; $converted = Str::snake('fooBar'); // foo_bar
Str::start()
El método Str::start
agrega una instancia individual del valor dado a una cadena si ésta no inicia con ese valor:
use Illuminate\Support\Str; $adjusted = Str::start('this/string', '/'); // /this/string $adjusted = Str::start('/this/string', '/'); // /this/string
Str::startsWith()
El método Str::startsWith
determina si la cadena dada comienza con el valor dado:
use Illuminate\Support\Str; $result = Str::startsWith('This is my name', 'This'); // true
Str::studly()
El método Str::studly
convierte la cadena dada a StudlyCase
:
use Illuminate\Support\Str; $converted = Str::studly('foo_bar'); // FooBar
Str::title()
El método Str::title
convierte la cadena dada a Title Case
:
use Illuminate\Support\Str; $converted = Str::title('a nice title uses the correct case'); // A Nice Title Uses The Correct Case
Str::uuid()
El método Str::uuid
genera un UUID (versión 4):
use Illuminate\Support\Str; return (string) Str::uuid();
Str::words()
El método Str:words
limita el número de palabras en una cadena:
use Illuminate\Support\Str; return Str::words('Perfectly balanced, as all things should be.', 3, ' >>>'); // Perfectly balanced, as >>>
trans()
La función trans
traduce la clave de traducción dada usando tus archivos de localización:
echo trans('messages.welcome');
Si la clave de traducción especificada no existe, la función trans
retornará la clave dada. Así, usando el ejemplo anterior, la función trans
podría retornar messages.welcome
si la clave de traducción no existe.
trans_choice()
La función trans_choice
traduce la clave de traducción dada con inflexión:
echo trans_choice('messages.notifications', $unreadCount);
Si la clave de traducción dada no existe, la función trans_choice
retornará la clave dada. Así, usando el ejemplo anterior, la función trans_choice
podría retornar messages.notifications
si la clave de traducción no existe.
URLs
action()
La función action
genera una URL para la acción del controlador dada. No necesitas pasar el espacio de nombre completo del controlador. En lugar de eso, pasa al controlador el nombre de clase relativo al espacio de nombre App\Http\Controllers
:
$url = action('HomeController@index'); $url = action([HomeController::class, 'index']);
Si el método acepta parámetros de ruta, puedes pasarlos como segundo argumento al método:
$url = action('UserController@profile', ['id' => 1]);
asset()
La función asset
genera una URL para un asset usando el esquema actual de la solicitud (HTTP o HTTPS):
$url = asset('img/photo.jpg');
Puedes configurar la URL host del asset estableciendo la variable ASSET_URL
en tu archivo .env
. Esto puede ser útil si alojas tus assets en un servicio externo como Amazon S3:
// ASSET_URL=http://example.com/assets $url = asset('img/photo.jpg'); // http://example.com/assets/img/photo.jpg
route()
La función route
genera una URL para el nombre de ruta dado:
$url = route('routeName');
Si la ruta acepta parámetros, puedes pasarlos como segundo argumento al método:
$url = route('routeName', ['id' => 1]);
Por defecto, la función route
genera una URL absoluta. Si deseas generar una URL relativa, puedes pasar false
como tercer argumento:
$url = route('routeName', ['id' => 1], false);
secure_asset()
La función secure_asset
genera una URL para un asset usando HTTPS:
$url = secure_asset('img/photo.jpg');
secure_url()
La función secure_url
genera una URL HTTPS completa a la ruta dada:
$url = secure_url('user/profile'); $url = secure_url('user/profile', [1]);
url()
La función url
genera una URL completa a la ruta dada:
$url = url('user/profile'); $url = url('user/profile', [1]);
Si una ruta no es proporcionada, una instancia de Illuminate\Routing\UrlGenerator
es retornada:
$current = url()->current(); $full = url()->full(); $previous = url()->previous();
Variados
abort()
La función abort
arroja una excepción HTTP que será renderizada por el manejador de excepciones:
abort(403);
Puedes además proporcionar el texto de respuesta de la excepción y las cabeceras de la respuesta personalizados:
abort(403, 'Unauthorized.', $headers);
abort_if()
La función abort_if
arroja una excepción HTTP si una expresión booleana dada es evaluada a true
:
abort_if(! Auth::user()->isAdmin(), 403);
Como el método abort
, puedes proporcionar además el texto de respuesta para la excepción como tercer argumento y un arreglo de cabeceras de respuesta personalizadas como cuarto argumento.
abort_unless()
La función abort_unless
arroja una excepción HTTP si una expresión booleana dada es evaluada a false
:
abort_unless(Auth::user()->isAdmin(), 403);
Como el método abort
, puedes proporcionar además el texto de respuesta para la excepción como tercer argumento y un arreglo de cabeceras de respuesta personalizadas como cuarto argumento.
app()
La función app
retorna la instancia del contenedor de servicio:
$container = app();
Puedes pasar una clase o nombre de interfaz para resolverlo desde el contenedor:
$api = app('HelpSpot\API');
auth()
La función auth
retorna una instancia del autenticador. Puedes usarla en vez del facade Auth
por conveniencia:
$user = auth()->user();
Si es necesario, puedes especificar con cuál instancia del guard podrías acceder:
$user = auth('admin')->user();
back()
La función back
genera una respuesta de redirección HTTP a la ubicación previa del usuario:
return back($status = 302, $headers = [], $fallback = false); return back();
bcrypt()
La función bcrypt
encripta el valor dado usando Bcrypt. Puedes usarlo como una alternativa al facade Hash
:
$password = bcrypt('my-secret-password');
blank()
La función blank
retorna true
si el valor dado es «vacío»:
blank(''); blank(' '); blank(null); blank(collect()); // true blank(0); blank(true); blank(false); // false
Para lo inverso de blank
, mira el método filled
.
broadcast()
La función broadcast
emite el evento dado a sus listeners:
broadcast(new UserRegistered($user));
cache()
La función cache
puede ser usada para obtener un valor de la caché. Si la clave dada no existe en la caché, un valor opcional por defecto será retornado:
$value = cache('key'); $value = cache('key', 'default');
Puedes agregar elementos a la caché pasando un arreglo de pares clave / valor a la función. También debes pasar la cantidad de segundos o la duración que el valor almacenado en caché debe considerarse válido:
cache(['key' => 'value'], 300); cache(['key' => 'value'], now()->addSeconds(10));
class_uses_recursive()
La función class_uses_recursive
retorna todos los traits usados por una clase, incluyendo los traits utilizados por todas las clases padres:
$traits = class_uses_recursive(App\User::class);
collect()
La función collect
crea una instancia de colecciones del valor dado:
$collection = collect(['taylor', 'abigail']);
config()
La función config
obtiene el valor de una variable de configuración. Los valores de configuración pueden ser accesados usando la sintaxis de «punto», la cual incluye el nombre del archivo y la opción que deseas acceder. Un valor por defecto puede ser especificado y es retornado si la opción de configuración no existe:
$value = config('app.timezone'); $value = config('app.timezone', $default);
Puedes establecer variables de configuración en tiempo de ejecución pasando un arreglo de pares clave / valor:
config(['app.debug' => true]);
cookie()
La función cookie
crea una nueva instancia de cookie:
$cookie = cookie('name', 'value', $minutes);
csrf_field()
La función csrf_field
genera un campo de entrada hidden
que contiene el valor del token CSRF. Por ejemplo, usando la sintaxis de Blade:
{{ csrf_field() }}
csrf_token()
La función csrf_token
recupera el valor del actual token CSRF:
$token = csrf_token();
dd()
La función dd
desecha las variables dadas y finaliza la ejecución del script:
dd($value); dd($value1, $value2, $value3, ...);
Si no quieres detener la ejecución de tu script, usa la función dump
en su lugar.
decrypt()
La función decrypt
desencripta el valor dado usando el encriptador de Laravel:
$decrypted = decrypt($encrypted_value);
dispatch()
La función dispatch
empuja el trabajo dado sobre la cola de trabajos de Laravel:
dispatch(new App\Jobs\SendEmails);
dispatch_now()
La función dispatch_now
ejecuta el trabajo dado inmediatamente y retorna el valor de su método handle
:
$result = dispatch_now(new App\Jobs\SendEmails);
dump()
La función dump
desecha las variables dadas:
dump($value); dump($value1, $value2, $value3, ...);
Si quieres parar de ejecutar el script después de desechar las variables, usa la función dd
en su lugar.
encrypt()
La función encrypt
encripta el valor dado usando el encriptador de Laravel:
$encrypted = encrypt($unencrypted_value);
env()
La función env
recupera el valor de una variable de entorno o retorna un valor por defecto:
$env = env('APP_ENV'); // Returns 'production' if APP_ENV is not set... $env = env('APP_ENV', 'production');
Si ejecutas el comando config:cache
durante tu proceso de despliegue, deberías estar seguro de que eres el único llamando a la función env
desde dentro de tus archivos de configuración. Una vez que la configuración está en caché, el archivo .env
no será cargado y todas las llamadas a la función .env
retornarán null
.
event()
La función event
despacha el evento dado a sus listeners:
event(new UserRegistered($user));
factory()
La función factory
crea un constructor de model factories para una clase dada, nombre y cantidad. Este puede ser usado mientras pruebas o haces seeding:
$user = factory(App\User::class)->make();
filled()
La función filled
retorna el valor dado que no esté «vacío»:
filled(0); filled(true); filled(false); // true filled(''); filled(' '); filled(null); filled(collect()); // false
Para el inverso de filled
, mira el método blank
.
info()
La funcióninfo
escribirá información al log:
info('Some helpful information!');
Un arreglo de datos contextuales puede además ser pasado a la función:
info('User login attempt failed.', ['id' => $user->id]);
logger()
La función logger
puede ser usada para escribir mensaje de nivel debug
al log:
logger('Debug message');
Un arreglo de datos contextuales puede además ser pasado a la función:
logger('User has logged in.', ['id' => $user->id]);
Una instancia del logger será retornada si no hay un valor pasado a la función:
logger()->error('You are not allowed here.');
method_field()
La función method_field
genera un campo de entrada HTML hidden
que contiene el valor falsificado del verbo de los formularios HTTP. Por ejemplo, usando la sintaxis de Blade:
<form method="POST"> {{ method_field('DELETE') }} </form>
now()
La función now
crea una nueva instancia Illuminate\Support\Carbon
con la hora actual:
$now = now();
old()
La función old
recupera un viejo valor de entrada flasheado en la sesión:
$value = old('value'); $value = old('value', 'default');
optional()
La función optional
acepta cualquier argumento y te permite acceder a propiedades o métodos de llamada en ese objeto. Si el objeto dado es null
, las propiedades y métodos retornarán null
en vez de causar un error:
return optional($user->address)->street; {!! old('name', optional($user)->name) !!}
La función optional
también acepta un Closure como segundo argumento. El Closure será invocado si el valor proporcionado como primer argumento no es null:
return optional(User::find($id), function ($user) { return new DummyUser; });
policy()
El método policy
recupera una instancia de la política para una clase dada:
$policy = policy(App\User::class);
redirect()
La función redirect
retorna una respuesta de redirección HTTP o retorna la instancia del redirector si no hay argumentos llamados:
return redirect($to = null, $status = 302, $headers = [], $secure = null); return redirect('/home'); return redirect()->route('route.name');
report()
La función report
reportará una excepción usando el método report
de tu manejador de excepciones:
report($e);
request()
La función request
retorna la instancia de la solicitud actual u obtiene un elemento de entrada:
$request = request(); $value = request('key', $default);
rescue()
La función rescue
ejecuta Closure dada y almacena en caché cualquier excepción que ocurra durante su ejecución. Todas las excepciones que son capturadas serán enviadas al método report
de tu manejador de excepciones; no obstante, la solicitud continuará procesando:
return rescue(function () { return $this->method(); });
También puedes pasar un segundo argumento a la función rescue
. Este argumento será el valor por «defecto» que debería ser retornado si una excepción ocurre mientras se ejecuta la Closure:
return rescue(function () { return $this->method(); }, false); return rescue(function () { return $this->method(); }, function () { return $this->failure(); });
resolve()
La función resolve
resuelve un nombre de clase o interfaz dado a su instancia usando el contenedor de servicios:
$api = resolve('HelpSpot\API');
response()
La función response
crea una instancia de respuesta u obtiene una instancia del factory de respuesta:
return response('Hello World', 200, $headers); return response()->json(['foo' => 'bar'], 200, $headers);
retry()
La función retry
intenta ejecutar la función de retorno dada hasta que el máximo número de intentos límite se cumple. Si la función de retorno no arroja una excepción, su valor de retorno será retornado. Si la función de retorno arroja una excepción, se volverá a intentar automáticamente. Si el máximo número de intentos es excedido, la excepción será arrojada:
return retry(5, function () { // Attempt 5 times while resting 100ms in between attempts... }, 100);
session()
La función session
puede ser usada para obtener o establecer valores de session:
$value = session('key');
Puedes establecer valores pasando un arreglo de pares clave / valor a la función:
session(['chairs' => 7, 'instruments' => 3]);
La sesión almacenada será retornada si no se pasa un valor a la función:
$value = session()->get('key'); session()->put('key', $value);
tap()
La función tap
acepta dos argumentos: un $value
arbitrario y una Closure. El $value
será pasado a la Closure y será retornado por la función tap
. El valor de retorno de la Closure es irrelevante:
$user = tap(User::first(), function ($user) { $user->name = 'taylor'; $user->save(); });
Si no hay Closure pasada a la función tap
, puedes llamar cualquier método en el $value
dado. El valor de retorno del método al que llamas siempre será $value
, sin importar lo que el método retorna en su definición. Por ejemplo, el método de Eloquent update
típicamente retorna un entero. Sin embargo, podemos forzar que el método retorne el modelo en sí mismo encadenando el método update
a través de la función tap
:
$user = tap($user)->update([ 'name' => $name, 'email' => $email, ]);
Para agregar un método tap
a una clase, puedes agregar el trait Illuminate\Support\Traits\Tappable
a la clase. El método tap
de este trait acepta un Closure como único argumento. La instancia del objeto será pasada al Closure y luego retornada por el método tap
:
return $user->tap(function ($user) { // });
throw_if()
La función throw_if
arroja la excepción dada si una expresión booleana dada es evaluada a true
:
throw_if(! Auth::user()->isAdmin(), AuthorizationException::class); throw_if( ! Auth::user()->isAdmin(), AuthorizationException::class, 'You are not allowed to access this page' );
throw_unless()
La función throw_unless
arroja la excepción dada si una expresión booleana dada es evaluada a false
:
throw_unless(Auth::user()->isAdmin(), AuthorizationException::class); throw_unless( Auth::user()->isAdmin(), AuthorizationException::class, 'You are not allowed to access this page' );
today()
La función today
crea una nueva instancia de Illuminate\Support\Carbon
para la fecha actual:
$today = today();
trait_uses_recursive()
La función trait_uses_recursive
retorna todos los traits usados por un trait:
$traits = trait_uses_recursive(\Illuminate\Notifications\Notifiable::class);
transform()
La función transform
ejecuta una Closure
en un valor dado si el valor no está en vacío y retorna el resultado de la Closure
:
$callback = function ($value) { return $value * 2; }; $result = transform(5, $callback); // 10
Un valor por defecto o Closure
puede ser pasado como el tercer parámetro al método. Este valor será retornado si el valor dado está vacío:
$result = transform(null, $callback, 'The value is blank'); // The value is blank
validator()
La función validator
crea un nueva instancia del validador con los argumentos dados. Puedes usarlo en vez del facade Validator
por conveniencia:
$validator = validator($data, $rules, $messages);
value()
La función value
retorna el valor dado. Sin embargo, si pasas un Closure
a la función, el Closure
será ejecutado y su resultado será devuelto:
$result = value(true); // true $result = value(function () { return false; }); // false
view()
La función view
recupera una instancia de la vista:
return view('auth.login');
with()
La función with
retorna el valor dado. Si se le pasa un Closure
como segundo argumento a la función, el Closure
será ejecutado y su resultado será devuelto:
$callback = function ($value) { return (is_numeric($value)) ? $value * 2 : 0; }; $result = with(5, $callback); // 10 $result = with(null, $callback); // 0 $result = with(5, null); // 5
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Almacenamiento De Archivos - Documentación de Laravel 6 Lección siguiente Correos Electrónicos - Documentación de Laravel 6