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