Helpers
Funções auxiliares para ajudar na sua produtividade.
Introdução
As funções auxiliadoras (ou helpers) no Hello Framework são recursos específicos que visam auxiliar na construção da lógica de algoritmos, sem a necessidade de instanciar uma classe de um determinado namespace. Essas funções auxiliadoras nativas estão disponíveis em todo o ciclo de vida da aplicação.
Diferentemente de outros frameworks conhecidos, o Hello Framework implementa um conjunto menor de funções auxiliadoras, focando em disponibilizar apenas o necessário. Isso garante uma abordagem mais enxuta e direcionada para o desenvolvimento.
Caso seja necessário criar funções auxiliadoras personalizadas adicionais, você pode fazer isso por meio de um registro de serviços, expandindo assim a funcionalidade básica disponível.
No Hello Framework, as funções auxiliadoras também são conhecidas como Helpers, seguindo o padrão comum adotado em vários outros frameworks e bibliotecas.
string url(string $path = '/')
Esse helper recebe um caminho de rota e retorna a URL completa da aplicação considerando o HOST e protocolo no servidor ao qual a aplicação está sendo executada.
string | null route(string $name, array $params = [] )
Similar ao helper "url" com a diferença que esse helper é para rotas nomeadas. Caso a rota nomeada tenha parâmetros, é possível informar um array associativo com os parâmetros, onde a chave é o nome do parâmetro de rota e o valor é o dado que será passado para URI de rota que será retornado. Caso o nome de rota informado não exista, será retornado o valor "null".
mixed env(string $name,mixed $default = null)
Esse helper retorna o valor de uma variável definida no arquivo de configuração ".env". Caso a variável não exista no arquivo de configuração, será retornado o segundo parâmetro do helper que é opcional.
string view(string $view,$scope =[])
Esse helper retorna uma view renderizada para o controlador. O primeiro parametro é o nome da view e o segundo parâmetro opcional é um array associativo com os dados que serão transmitidos para dentro da view e serão renderizados juntos.
string asset(string $file)
Esse helper retornar o caminho completo de um determinado arquivo da pasta "/public" ou "public_html".
array | mixed request(string $name = null)
Esse helper retorna todos os dados fornecidos no corpo da requisição, de forma similar aos arrays $_POST e $_GET do PHP. No entanto, ele é capaz de lidar com todos os verbos HTTP. Para obter apenas um valor específico de um determinado campo, basta informar o nome (chave ou o identificador do campo) desejado como parâmetro da helper. Dessa forma, você terá acesso direto ao valor desejado, simplificando a manipulação dos dados da requisição.
object service(string $name_service)
A função auxiliar service
desempenha um papel importante ao retornar a instância de uma classe de serviço que foi registrada e propagada por uma classe derivada da classe pai ServiceProvider
, que por sua vez foi registrada como um serviço no sistema. Essa função permite acessar facilmente os métodos públicos de qualquer serviço previamente registrado
string secret(string $password)
A função auxiliadora secret
realiza a criptografia de uma string do tipo senha utilizando o algoritmo de "salt de senha" em conjunto com a chave de aplicativo definida no arquivo de configuração .env
através da variável APP_KEY
. O resultado dessa criptografia é um valor criptografado. No entanto, é importante notar que, se o valor da chave for alterado, as informações de senhas previamente armazenadas serão consideradas diferentes e, consequentemente, serão consideradas inválidas.
string get_ip()
A função auxiliar get_ip
retorna o endereço IP do usuário cliente atual. Essa função pode ser útil para obter o IP do visitante de um site ou aplicativo web. Ao chamar a função get_ip
, ela retornará o IP do cliente que está realizando a requisição ao servidor. Isso pode ser útil para fins de registro, rastreamento ou qualquer outra funcionalidade que requeira o conhecimento do IP do usuário.
void redirect(string $route)
A função auxiliadora redirect
realiza o redirecionamento imediato do usuário para outra rota utilizando o método GET. Essa função é útil para direcionar o usuário para uma página específica após a execução de determinada ação. Ao chamar a função redirect
e fornecer a rota desejada como parâmetro, o usuário será redirecionado para essa rota, utilizando o método GET para realizar a requisição. Isso permite uma navegação fluída e direcionada dentro de um aplicativo ou site.
bool auth(string $role = null)
A função auxiliadora auth
é utilizada para verificar se um usuário está logado. Ela retorna o método estático check()
da classe Auth
. Essa função possui um parâmetro opcional chamado $role
, que permite verificar se o usuário está logado e se o seu papel (role) corresponde ao valor informado no parâmetro da função. Caso o parâmetro $role
seja omitido, a função apenas verifica se o usuário está autenticado, independentemente do papel registrado no sistema.
Em resumo, a função auth
tem a seguinte finalidade:
Verificar se o usuário está logado.
Opcionalmente, verificar se o papel (role) do usuário corresponde ao valor informado no parâmetro
$role
.Retornar
true
se o usuário estiver autenticado e, se aplicável, tiver o papel correto.Retornar
false
caso contrário.
Essa função é útil para controlar o acesso a determinadas partes do sistema, verificando se o usuário tem permissão para realizar determinadas ações com base no seu papel registrado.
object session(array $new_session = null)
A função auxiliar session
fornece uma instância da classe: Session de forma global. O método aceita um parâmetro opcional que é um array associativo, onde as chaves representam o nome da sessão e os valores são os valores a serem armazenados na sessão.
Funções auxliadoras de estilização
string rclass(array $classes)
Essa função, quando chamada, recebe um array que contém pares chave-valor, onde a chave representa o nome da classe CSS e o valor (booleano) indica se a classe deve ser incluída ou não. A função cria uma string formatada no estilo "class='classe1 classe2 ...'", que pode ser usada para atribuir essas classes a um elemento HTML. Geralmente essa função é utilizada dentro de arquivos de visualização do VH para oferecer renderização condicional e personalizada de classes de estilos.
<h1 {!rclass([
'text-danger'=>true,
'shadow'=>true,
'bg-primary',
'pm'=>false
])!}>Estilo 1</h1>
A saída acima retornará o seguinte valor:
<h1 class="text-danger shadow bg-primary">Estilo 1</h1>
string rstyle(array $styles)
Similar à função "rclass", a função "rstyle" possui o mesmo comportamento, porém, em vez de retornar um atributo de classe, ela retornará um atributo de estilo com as propriedades definidas de forma condicional.
{php}
$isActive = true;
{/php}
<span {!rstyle([
'background-color: red',
'font-weight: bold' => $isActive,
])!}></span>
<span style="background-color: red; font-weight: bold;"></span>
Funções de diretórios
string base_path()
Retorna o caminho completo para o diretório "root" ou "raiz" do aplicativo.
string public_path()
Retorna o caminho completo para o diretório "public" do aplicativo.
string storage_path()
Retorna o caminho completo para o diretório "storage" do aplicativo.
string config_path()
Retorna o caminho completo para o diretório "config" do aplicativo.
string resource_path()
Retorna o caminho completo para o diretório "resources" do aplicativo.
bool dir_delete(string $dir)
A função auxiliadora dir_delete
é responsável por excluir um diretório específico de forma recursiva. Isso significa que todos os itens contidos dentro do diretório, como subpastas e arquivos, também serão excluídos.
Essa função é útil quando você precisa remover completamente um diretório e todos os seus conteúdos de maneira eficiente. Ela percorre de forma recursiva o diretório alvo, excluindo cada item individualmente até que todos sejam removidos.
É importante ter cuidado ao utilizar essa função, pois a exclusão é permanente e irreversível. Portanto, é recomendado utilizá-la com cautela e verificar se o diretório e seu conteúdo são realmente os desejados para exclusão.
Last updated