Constantes e Funções

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.

Funções globais

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');

Constantes de definição do Core

A maior parte das constantes a seguir referem-se a caminhos da sua aplicação.

constant APP

Caminho absoluto para o diretório de sua aplicação, incluindo a barra final.

constant APP_DIR

Igual a app ou ao nome do diretório de sua aplicação.

constant CACHE

Caminho para o diretório de arquivos de cache. Pode ser compartilhado entre hosts em uma configuração multi-servidores.

constant CAKE

Caminho para o diretório do CakePHP.

constant CAKE_CORE_INCLUDE_PATH

Caminho para o diretório raiz de bibliotecas.

constant CONFIG

Caminho para o diretório de configurações.

constant CORE_PATH

Caminho para o diretório raiz com contra-barra no final.

constant DS

Atalho para o DIRECTORY_SEPARATOR do PHP, que é / no Linux e \\ no Windows.

constant LOGS

Caminho para o diretório de logs.

constant ROOT

Caminho para o diretório raiz.

constant TESTS

Caminho para o diretório de testes.

constant TMP

Caminho para o diretório de arquivos temporários.

constant WWW_ROOT

Caminho completo para o diretório webroot.

Constantes de definição de tempo

constant TIME_START

Timestamp unix em microsegundos como float de quando a aplicação começou.

constant SECOND

Igual a 1

constant MINUTE

Igual a 60

constant HOUR

Igual a 3600

constant DAY

Igual a 86400

constant WEEK

Igual a 604800

constant MONTH

Igual a 2592000

constant YEAR

Igual a 31536000