Funções Helper

Introdução

Laravel inclui uma variedade de funções "helper". Muitas destas funções são usadas pelo próprio framework; contudo, você está livre para usá-las em suas aplicações se você achar conveniente.

Métodos Disponíveis

Arrays

Paths

Strings

URLs

Diversas

Listagem dos Métodos

array_add()

A função array_add adiciona um dado par chave / valor para o array se a chave especificada ainda não existir no array:

$array = array_add(['name' => 'Desk'], 'price', 100);

// ['name' => 'Desk', 'price' => 100]

array_collapse()

A função array_collapse quebra um array de arrays em um único array:

$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

array_divide()

A função array_divide retorna dois arrays, um contendo as chaves e outro contendo os valores do array original:

list($keys, $values) = array_divide(['name' => 'Desk']);

// $keys: ['name']

// $values: ['Desk']

array_dot()

A função array_dot nivela um array multi-dimensional em um único nível que usa notação "." para indicar profundidade:

$array = array_dot(['foo' => ['bar' => 'baz']]);

// ['foo.bar' => 'baz'];

array_except()

A função array_except remove um dado par chave / valor do array:

$array = ['name' => 'Desk', 'price' => 100];

$array = array_except($array, ['price']);

// ['name' => 'Desk']

array_first()

A função array_first retorna o primeiro elemento de um array que passar por um determinado teste verdade:

$array = [100, 200, 300];

$value = array_first($array, function ($key, $value) {
    return $value >= 150;
});

// 200

O valor padrão também pode ser passado como terceiro parâmetro ao método. Este valor será retornado se nenhum valor passar no teste verdade.

$value = array_first($array, $callback, $default);

array_flatten()

A função array_flatten nivelará um array multi-dimensional num único nível.

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$array = array_flatten($array);

// ['Joe', 'PHP', 'Ruby'];

array_forget()

A função array_forget remove um dado par chave / valor de um array aninhado em profundidade utilizando notação ".":

$array = ['products' => ['desk' => ['price' => 100]]];

array_forget($array, 'products.desk');

// ['products' => []]

array_get()

A função array_get recupera um valor de um array aninhado em profundidade utilizando notação ".":

$array = ['products' => ['desk' => ['price' => 100]]];

$value = array_get($array, 'products.desk');

// ['price' => 100]

A função array_get também aceita um valor padrão que será retornado no caso de a chave especificada não ser encontrada:

$value = array_get($array, 'names.john', 'default');

array_has()

A função array_has verifica se um determinado item existe em um dado array utilizando a notação ".":

$array = ['products' => ['desk' => ['price' => 100]]];

$hasDesk = array_has($array, ['products.desk']);

// true

array_only()

A função array_only retornará somente o par chave / valor especificado do array dado:

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];

$array = array_only($array, ['name', 'price']);

// ['name' => 'Desk', 'price' => 100]

array_pluck()

A função array_pluck extrairá uma lista a partir de um par chave / valor do array:

$array = [
    ['developer' => ['id' => 1, 'name' => 'Taylor']],
    ['developer' => ['id' => 2, 'name' => 'Abigail']]
];

$array = array_pluck($array, 'developer.name');

// ['Taylor', 'Abigail'];

Você também pode especificar como deseja que a lista resultante seja chaveada:

$array = array_pluck($array, 'developer.name', 'developer.id');

// [1 => 'Taylor', 2 => 'Abigail'];

array_pull()

A função array_pull retorna e remove um par chave / valor do array:

$array = ['name' => 'Desk', 'price' => 100];

$name = array_pull($array, 'name');

// $name: Desk

// $array: ['price' => 100]

array_set()

A função array_set define um valor dentro de um array utilizando a notação ".":

$array = ['products' => ['desk' => ['price' => 100]]];

array_set($array, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

array_sort()

A função array_sort ordena o array através dos resultados de uma dada Closure:

$array = [
    ['name' => 'Desk'],
    ['name' => 'Chair'],
];

$array = array_values(array_sort($array, function ($value) {
    return $value['name'];
}));

/*
    [
        ['name' => 'Chair'],
        ['name' => 'Desk'],
    ]
*/

array_where()

A função array_where filtra o array usando a Closure passada:

$array = [100, '200', 300, '400', 500];

$array = array_where($array, function ($key, $value) {
    return is_string($value);
});

// [1 => 200, 3 => 400]

head()

A função head simplesmente retorna o primeiro elemento do array passado:

$array = [100, 200, 300];

$first = head($array);

// 100

last()

A função last retorna o último elemento do array passado:

$array = [100, 200, 300];

$last = last($array);

// 300

Paths

app_path()

A função app_path retorna o caminho completo do diretório app:

$path = app_path();

Você pode também utilizar a função app_path para retornar um caminho completo de um arquivo em relação ao diretório da aplicação:

$path = app_path('Http/Controllers/Controller.php');

base_path()

A função base_path retorna o caminho completo do diretório raís do projeto:

$path = base_path();

Você pode também utilizar a função base_path para gerar um caminho completo de um arquivo relativo ao diretório raís do projeto:

$path = base_path('vendor/bin');

config_path()

A função config_path retorna o caminho completo do diretório de configuração da aplicação:

$path = config_path();

database_path()

A função database_path retorna o caminho completo do diretório de banco de dados da aplicação:

$path = database_path();

public_path()

A função publi_path retorna o caminho completo do diretório public:

$path = public_path();

storage_path()

A função storage_path retorna o caminho completo do diretório storage:

$path = storage_path();

Você pode também utilizar a função storage_pat para retornar o caminho completo de um arquivo passado relativo ao diretório storage:

$path = storage_path('app/file.txt');

Strings

camel_case()

A função camel_case converte uma string para camelCase:

$camel = camel_case('foo_bar');

// fooBar

class_basename()

O class_basename retorna o nome da classe de uma classe passada com o seu namespace, que será removido:

$class = class_basename('Foo\Bar\Baz');

// Baz

e()

A função e abre htmlentities de uma string passada:

echo e('<html>foo</html>');

ends_with()

A função ends_with determina se uma string termina com o valor passado:

$value = ends_with('This is my name', 'name');

// true

snake_case()

A função snake_case converte uma string para snake_case:

$snake = snake_case('fooBar');

// foo_bar

str_limit()

O função string_limit limita o número de caracteres de uma string. A função aceita uma string como primeiro argumento e, no segundo, o número máximo de caracteres a ser retornado:

$value = str_limit('The PHP framework for web artisans.', 7);

// The PHP...

starts_with()

A função starts_with determina se uma string começa com um valor passado:

$value = starts_with('This is my name', 'This');

// true

str_contains()

A função str_contains verifica se uma string passada contém o valor passado:

$value = str_contains('This is my name', 'my');

// true

str_finish()

A função str_finish adiciona um caractere no final de uma string caso ele não seja o último caractere dessa string:

$string = str_finish('this/string', '/');

// this/string/

str_is()

A função str_is determina se uma string passada corresponde a um determinado padrão. Asterisco pode ser usado para indicar caracteres coringa:

$value = str_is('foo*', 'foobar');

// true

$value = str_is('baz*', 'foobar');

// false

str_plural()

A função str_plural converte uma string para o seu formato plural. Esta função atualmente, suporta somente a línga inglesa:

$plural = str_plural('car');

// cars

$plural = str_plural('child');

// children

str_random()

A função str_random gera uma string randômica com o tamanho passado:

$string = str_random(40);

str_singular()

A função str_singular converte uma string para o formto singular. Esta função atualmente só suporta a língua inglesa:

$singular = str_singular('cars');

// car

str_slug()

A função str_slug retorna um "slug" da string passada:

$title = str_slug("Laravel 5 Framework", "-");

// laravel-5-framework

studly_case()

A função studly_case converte uma string para StudlyCase:

$value = studly_case('foo_bar');

// FooBar

trans()

A função trans retorna uma linha da linguagem passada usando seus arquivos de localização:

echo trans('validation.required'):

trans_choice()

A função trans_choice retorna uma linha da linguagem com inflexão:

$value = trans_choice('foo.bar', $count);

URLs

action()

A função action gera uma URL para a ação do controller passado. Você não precisa inserir o namespace do controller. Em vez disso, passe o nome da classe relativa para o namespace App\Http\Controllers:

$url = action('HomeController@getIndex');

Se o método aceitar parâmetros de rota, você pode passar um segundo argumento no método:

$url = action('UserController@profile', ['id' => 1]);

route()

A função route gera uma URL para uma rota nomeada:

$url = route('routeName');

Se a rota aceitar parâmetros, você pode passar um segundo argumento para o método:

$url = route('routeName', ['id' => 1]);

url()

A função url gera uma url completa de um caminho especificado:

echo url('user/profile');

echo url('user/profile', [1]);

Variados

csrf_token()

A função csrf_token recupera o valor do atual toke CSRF:

$token = csrf_token();

dd()

A função dd despeja uma variável e encerra a execução do script:

dd($value);

elixir()

A função elixir retorna o caminho para o arquivo Elixir versionado:

elixir($file);

env()

A função env retorna o valor de uma varíavel de ambiente ou retorna um valor padrão

$env = env('APP_ENV');

// Retorna um valor padrão se a variável não existir...
$env = env('APP_ENV', 'production');

event()

A função event dispacha o evento passado para seus listeners:

event(new UserRegistered($user));

response()

A função response cria uma instância de response ou obtém uma instância de response factory:

return response('Hello World', 200, $headers);

return response()->json(['foo' => 'bar'], 200, $headers);

value()

O comportamento da função value simplesmente retornará o valor que for passado. Porém, se você passar uma Closure, a Closure será executada e resultado será seu valor retornado:

$value = value(function() { return 'bar'; });

view()

A função view retorna uma instância da view:

return view('auth.login');

with()

A função with retorna o valor que é passado. Esta função é últil para métodos de encadeamento onde de outra forma, isto seria impossível:

$value = with(new Foo)->work();