Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Programando Com Yii2: Utilitários

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called How to Program With Yii2.
Programming With Yii2: Routing and URL Creation
Programming With Yii2: Using Ajax

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Final product image
What You'll Be Creating

Se está se perguntando "O que é Yii?", veja a Introdução ao Yii Framework, em que resenhamos os benefícios do Yii e incluimos uma visão geral do Yii 2.0.

O Que São Utilitários?

Na série Programando Com Yii2, guiamos leitores no uso do framework PHP, Yii2  Nesse tutoral, proveremos uma visão rápida dos utilitários. No Yii, utilitários são módulos agrupando códigos úteis para texto, arquivos, imagem, URL, administração de HTML e outras coisas, além de serem fáceis de extender.

Também compartilharemos um exemplo de criação de um helper no Meeting Planner, foco de outra série da Envato Tuts+.

Antes de começarmos, lembremo-nos, tentaremos participar da discussão nos comentários. Quaisquer perguntas ou sugestões, deixe seu comentário ou nos contate pelo Twitter, via @reifman.

Se percebeu a distância entre os episódios desta série, é porque passei por uma cirurgia no cérebro, ano passado. Obrigado pela paciência e apoio—é muito legal escrever regularmente de novo e quero dar continuidade à serie.

Bibliotecas Helper do Yii2

Essencalmente, utilitários são apenas módulos com código de suporte orientados a tópicos. Eis uma lista dos utilitários do Yii2—Essa lista está mais atualizada que a documentação e seus menus:

  • ArrayHelper simplifica lidar com vetores, com funções para verificação segura de valores, mapas, mesclagem, etc.
  • Console ajuda com funcionalidade da linha de comando, recebendo entradas e retornando texto colorido.
  • FileHelper estende recuros básicos do PHP para arquivos.
  • FormatConverter converte diversos formatos, basicamente datas, por enquanto.
  • Html gera tags HTML comumente usadas programaticamente
  • HtmlPurifier limpa texto de entrada dos usuário aumentando segurança.
  • Imagine provê recurso de manipulação de imagens com a extensão yii2-imagine.
  • Inflector provê funções de texto úteis para transofrmações comuns.
  • Json codifica e decodifica dados em JSON.
  • Markdown converte markdown em HTML.
  • StringHelper funcionalidades extras para lidar com textos.
  • Url ajuda na criação programática de URLs e na lembrança delas para navegação.
  • VarDumper provê recurso avançado de var_dump.

Comumente, usamos os utilitários Html e Url pelas aplicações Yii. Lembremos que usamos Imagine em Construindo Sua Startup com PHP: Configuração de Usuário, Imagens de Perfil e Dados de Contato, para dimensionar imagens.

Vejamos rapidamente alguns dos utilitários menos conhecidos.

ArrayHelper

Programming with Yii - Array Helper Methods

Como vemos, ArrayHelper provê várias funções voltadas para vetores.

Por exemplo, getValue simplifica a busca por valores em chaves de vetores complexos:

Ou map() cria um vetor simples de chave-valor a partir de um vetor mais complexo:

HtmlPurifier

Programming with Yii Helpers - Example Demo of HtmlPurifierorg Library

Podemos usar o HtmlPurifier para aprimorar a segurança ao lidar com entradas do usuário. Por exemplo, se alguém enviar código de injeção de SQL no formulário acima, limpá-lo com HtmlPurifier netralizaria qualquer ataque.

Ele usa a biblioteca de código aberto HTML Purifier.

StringHelper

Programming with Yii - String Helper Methods

StringHelper provê alguns métodos extras para trabalhar com textos no PHP. Por exemplo, truncateWords() reduz um texto a um número de palavras mas também preservar o HTML dentro do resultado.

Criando Nosso Próprio Helper

Como o Meeting Planer, foco da série sobre startup, cresceu, achamos útil criar um helper básico que pudéssemos usar. Por hora, combinamos tudo em um único, MiscHelpers.php:

Podemos ver vários metódos de diferentes tipos inclusos. Por exemplo, getDisplayName() retorna ou um nome de usuário, email ou uma texto da junção do primeiro e último nomes quando disponíveis.

É útil criá-los uma vez em um único lugar ao invés de reescrevê-los em vários modelos quando necessários.

Criamos o MiscHelpers.php criando um arquivo em /common/componentes e escrevemos uma classe que pudéssemos invocar pela aplicação.

A função buildCommand facilita criar links programaticamente para mensagens de email de saída, o que inclui a possibilidade de autenticar usuários com $auth_key salva na base de dados.

Não há nada especial sobre o módulo a não ser que ele lembra o objetivo padrão dos utilitários Yii mencionado antes.

Em qualquer lugar que quiser as funções de MiscHelpers, podemos usar o código a seguir:

De acordo com o crescimento do Meeting Planner, provavelmente criaremos vários utilitários organizados por tópicos.

Concluindo

Utilitários do Yii são como o nome diz, úteis. E, como programadores ócupados, podemos não saber deles. Esperamos que tenham visto utilitários do Yii que serão úteis com futuramente. E esperamos que a equipe do Yii continue expandindo-os a cada atualização.

Esperamos que comece a construir seus próprios utilitários em suas aplicações ao invés de duplicar métodos comuns para cada modelo.

Com o progresso da série Yii2, agradeceremos requisições de recursos e tópicos. Podem postá-las nos comentários abaixo ou mandar por e-mail através do site Lookahead Consulting.

Se quiser saber quando um tutorial novo sair, siga @reifman no Twitter ou veja a página de instrutor. A página de instrutor terá todos os artigos dessa série tão logo forem publicados.

Para explorar uma aplicação Yii2 mais avançada, veja a série sobre startup e o Meeting Planner. A aplicação está em alpha mas é possível registrar reuniões com amigos. Também é possível baixar o código dela. É código aberto.

Links Relacionados

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.