A maior parte do seu trabalho diário com o CakePHP será feito utilizando classes e métodos do core. O CakePHP disponibiliza funções globais de conveniência que podem ajudar. Muitas dessas funções são usadas em classes do CakePHP (carregando um model ou um component), mas outras tornam mais fácil o trabalho de lidar com arrays ou strings.
Nós também vamos cobrir algumas das constantes existentes em aplicações CakePHP. Constantes essas, que facilitam upgrades e apontam convenientemente para arquivos e diretórios chaves da sua aplicação.
Aqui estão as funções disponíveis globalmente no CakePHP. A maioria delas são wrappers de conveniência para funcionalidades do CakePHP, como por exemplo, debug e localização de conteúdo.
__(string $string_id[, $formatArgs])¶Essa função lida com a localização da sua aplicação. O $string_id
identifica o ID usado para a tradução. Strings são tratadas seguindo o
formato usado no sprintf(). Você pode fornecer argumentos adicionais
para substituir placeholders na sua string:
__('Você tem {0} mensagens', $number);
Nota
Verifique a seção Internacionalização e Localização para mais informações.
__d(string $domain, string $msg, mixed $args = null)¶Permite sobrescrever o domínio atual por uma mensagem simples.
Muito útil ao localizar um plugin:
echo __d('PluginName', 'Esse é meu plugin');
__dn(string $domain, string $singular, string $plural, integer $count, mixed $args = null)¶Permite sobrescrever o domínio atual por uma mensagem no plural. Retorna
a forma corrreta da mensagem no plural identificada por $singular e
$plural, pelo contador $count e pelo domínio $domain.
__dx(string $domain, string $context, string $msg, mixed $args = null)¶Permite sobrescrever o domínio atual por uma mensagem simples. Também permite a especificação de um contexto.
O contexto é um identificador único para as strings de tradução que a tornam únicas sob um mesmo domínio.
__dxn(string $domain, string $context, string $singular, string $plural, integer $count, mixed $args = null)¶Permite sobrescrever o domínio atual por uma mensagem no plural. Também
permite a especificação de um contexto. Retorna a forma corrreta
da mensagem no plural identificada por $singular e
$plural, pelo contador $count e pelo domínio $domain. Alguns
idiomas tem mais de uma forma para o plural dependendo do contador.
O contexto é um identificador único para as strings de tradução que a tornam únicas sob um mesmo domínio.
__n(string $singular, string $plural, integer $count, mixed $args = null)¶Retorna a forma corrreta da mensagem no plural identificada por
$singular e $plural, pelo contador $count e pelo domínio
$domain. Alguns idiomas tem mais de uma forma para o plural dependendo
do contador.
__x(string $context, string $msg, mixed $args = null)¶O contexto é um identificador único para as strings de tradução que a tornam únicas sob um mesmo domínio.
__xn(string $context, string $singular, string $plural, integer $count, mixed $args = null)¶Retorna a forma corrreta da mensagem no plural identificada por
$singular e $plural, pelo contador $count e pelo domínio
$domain. Alguns idiomas tem mais de uma forma para o plural dependendo
do contador.
O contexto é um identificador único para as strings de tradução que a tornam únicas sob um mesmo domínio.
collection(mixed $items)¶Wrapper de conveniência para instanciar um novo objeto
Cake\Collection\Collection, re-passando o devido argumento.
O parâmetro $items recebe tanto um objeto Traversable quanto um
array.
debug(mixed $var, boolean $showHtml = null, $showFrom = true)¶Alterado na versão 3.3.0: Esse método retorna a $var passada para que você possa, por
instância, colocá-la em uma declaração de retorno.
Se a variável do core $debug for true, $var será imprimida.
Se $showHTML for true, ou for deixada como null os dados serão
renderizados formatados para melhor exibição em navegadores. Se
$showFrom não for definida como false, o debug começará a partir
da linha em que foi chamado. Também veja Depuração
pr(mixed $var)¶Alterado na versão 3.3.0: Chamar esse método vai retornar a $var passada, então, você pode,
por instância, colocá-la em uma declaração de retorno.
Wrapper de conveniência para print_r() com a adição das tags
<pre> ao redor da saída.
pj(mixed $var)¶Alterado na versão 3.3.0: Chamar esse método vai retornar a $var passada, então, você pode,
por instância, colocá-la em uma declaração de retorno.
Função de conveniência para formatação de JSON, com a adição das tags
<pre> ao redor da saída.
Deve ser usada com o intuito de debugar JSON de objetos e arrays.
env(string $key, string $default = null)¶Alterado na versão 3.1.1: O parâmetro $default será adicionado.
Recebe uma variável de ambiente de fontes disponíveis. Usada como backup
se $_SERVER ou $_ENV estiverem desabilitados.
Essa função também emula PHP_SELF e DOCUMENT_ROOT em servidores
não suportados. De fato, é sempre uma boa ideia usar env() ao invés de
$_SERVER``ou ``getenv() (especialmente se você planeja distribuir o
código), pois é um wrapper completo de emulação.
h(string $text, boolean $double = true, string $charset = null)¶Wrapper de conveniência para htmlspecialchars().
pluginSplit(string $name, boolean $dotAppend = false, string $plugin = null)¶Divide um nome de plugin que segue o padrão de sintaxe de pontos e o
transforma em um nome de classe ou do plugin. Se $name não tem um
ponto, então o índice 0 será null.
Comumente usada assim: list($plugin, $name) = pluginSplit('Users.User');
namespaceSplit(string $class)¶Divide o namespace do nome da classe.
Comumente usada assim: list($namespace, $className) = namespaceSplit('Cake\Core\App');
A maior parte das constantes a seguir referem-se a caminhos da sua aplicação.
APP¶Caminho absoluto para o diretório de sua aplicação, incluindo a barra final.
APP_DIR¶Igual a app ou ao nome do diretório de sua aplicação.
CACHE¶Caminho para o diretório de arquivos de cache. Pode ser compartilhado entre hosts em uma configuração multi-servidores.
CAKE¶Caminho para o diretório do CakePHP.
CAKE_CORE_INCLUDE_PATH¶Caminho para o diretório raiz de bibliotecas.
CONFIG¶Caminho para o diretório de configurações.
CORE_PATH¶Caminho para o diretório raiz com contra-barra no final.
DS¶Atalho para o DIRECTORY_SEPARATOR do PHP, que é / no Linux e \\
no Windows.
LOGS¶Caminho para o diretório de logs.
ROOT¶Caminho para o diretório raiz.
TESTS¶Caminho para o diretório de testes.
TMP¶Caminho para o diretório de arquivos temporários.
WWW_ROOT¶Caminho completo para o diretório webroot.
TIME_START¶Timestamp unix em microsegundos como float de quando a aplicação começou.
SECOND¶Igual a 1
MINUTE¶Igual a 60
HOUR¶Igual a 3600
DAY¶Igual a 86400
WEEK¶Igual a 604800
MONTH¶Igual a 2592000
YEAR¶Igual a 31536000