Documentation
Book
API
Videos
Reporting Security Issues
Privacy Policy
Logos & Trademarks
Business Solutions
Swag
Road Trip
Team
Community
Community
Get Involved
Issues (Github)
Bakery
Featured Resources
Training
Meetups
My CakePHP
CakeFest
Newsletter
Linkedin
YouTube
Facebook
Twitter
Help & Support
Forum
Stack Overflow
IRC
Slack
Paid Support
B
CakePHP 3.9 Red Velvet
Cookbook
A
Language:
pt
en
es
ja
fr
zh
tr
ru
Version:
3.x
4.x Book
3.x Book
2.x Book
1.3 Book
1.2 Book
1.1 Book
Nav
Table of Contents
×
Improve This Doc
Conteúdo
¶
Prefácio
CakePHP num piscar de olhos
Convenções Sobre Configuração
A camada Model
A camada View
A camada Controller
Ciclo de Requisições do CakePHP
Apenas o Começo
Leitura adicional
Onde Conseguir Ajuda
Convenções do CakePHP
Estrutura de pastas do CakePHP
Guia de Início Rápido
Tutorial - Criando um Bookmarker - Parte 1
Instalação do CakePHP
Verificando nossa instalação
Criando o banco de dados
Configurando o banco de dados
Gerando o código base
Adicionando criptografia de senha
Recuperando bookmarks com uma tag específica
Criando o método localizador
Criando a view
Tutorial - Criando um Bookmarker - Parte 2
Adicionando login
Adicionando logout
Ativando inscrições
Restringindo acesso
Corrigindo a view de listagem e formulários
Melhorando a experiência com as tags
Terminando
3.x Migration Guide
3.5 Migration Guide
3.5 Migration Guide
3.4 Migration Guide
3.4 Migration Guide
3.3 Migration Guide
3.3 Migration Guide
3.2 Migration Guide
3.2 Guia de migração
3.1 Migration Guide
3.1 Guia de migração
3.0 Migration Guide
3.0 - Guia de migração
Guia de atualização para o novo ORM
Tutoriais & Exemplos
Tutorial - Criando um Bookmarker - Parte 1
Instalação do CakePHP
Verificando nossa instalação
Criando o banco de dados
Configurando o banco de dados
Gerando o código base
Adicionando criptografia de senha
Recuperando bookmarks com uma tag específica
Criando o método localizador
Criando a view
Tutorial - Criando um Bookmarker - Parte 2
Adicionando login
Adicionando logout
Ativando inscrições
Restringindo acesso
Corrigindo a view de listagem e formulários
Melhorando a experiência com as tags
Terminando
Tutorial - Criando um Blog - Parte 1
Instalação do CakePHP
Permissões dos diretórios tmp e logs
Criando o banco de dados do Blog
Configurando o banco de dados do Blog
Configurações opcionais
Observação sobre o mod_rewrite
Tutorial - Criando um Blog - Parte 2
Criando o model
Criando o controller
Criando as views
Adicionando artigos
Validando artigos
Editando artigos
Deletando artigos
Rotas
Conclusão
Tutorial - Criando um Blog - Parte 3
Criar uma arvore de Categoria
Migração de Plugin
Modificando as Tabelas
Gerar código esqueleto por categorias
Anexar árvore de compartamento para CategoriesTable
Reordenar categorias com TreeBahavior
Modificando o ArticlesController
Modificando os artigos Templates
Tutorial - Criando um Blog - Autenticação e Autorização
Criando todo o código relacionado ao Usuário
Autenticação (Login e Logout)
Autorização (quem tem permissão para acessar o que)
Contribuindo
Documentação
Traduções
Guia de formatação para documentação
Tickets
Reportando bugs
Reportando problemas de segurança
Código
Configuração inicial
Trabalhando em um patch
Enviando um pull request
Padrões de codificação
Adicionando novos recursos
Indentação
Comprimento da linha
Estruturas de controle
Comparação
Chamadas de função
Definição de método
Encadeamento de métodos
Comentando código
Incluindo arquivos
Tags do PHP
Convenção de nomenclatura
Cuidados usando empty()/isset()
Guia de retrocompatibilidade
Guia de migração
Usando o CakePHP
Trabalhando no CakePHP
Começando
Instalação
Requisitos
Instalando o CakePHP
Mantendo sincronização com as últimas alterações no CakePHP
Permissões
Servidor de Desenvolvimento
Produção
Aquecendo
Reescrita de URL
Apache
nginx
IIS7 (Windows hosts)
Não posso utilizar Reescrita de URL
Configuração
Configurando sua Aplicação
Carregando Arquivos de Configurações Adicionais
Configuração Geral
Configuração do banco de dados
Configuração do Cache
Configuração de manipulação de erro e exceção
Configuração de log
Configuração de e-mail
Configuração de sessão
Configuração de roteamento
Caminhos adicionais de classe
Plugin, Modelos de Visualização e Caminhos Locais
Configuração de Inflexão
Configurar classe
Escrevendo dados de configuração
Leitura de dados de configuração
Verificar se os dados de configuração estão definidos
Excluindo Dados de Configuração
Leitura e exclusão de dados de configuração
Lendo e escreveendo arquivos de configuração
Carregando arquivos de configurações
Criando ou modificando arquivos de configuração
Armazenando Configuração do Tempo de Execução
Restaurando a Configuração do Tempo de Execução
Criando seus próprios mecanismos de configuração
Motores de Configuração Integrados
Arquivos de configuração do PHP
Arquivos de configuração Ini
Arquivos de configuração do Json
Bootstrapping CakePHP
Application::bootstrap()
Variáveis de Ambiente
Desabilitando tabelas genéricas
Roteamento
Tour Rápido
Conectando Rotas
Elementos de Rota
Configurando opções de rota
Passando parâmetros para ação
Usando Rotas Nomeadas
Prefix Routing
Roteamento de Plugins
Criando links para rotas de plugins
Roteamento otimizado para SEO
Correspondendo a métodos HTTP específicos
Nomes de host específicos correspondentes
Extensões de arquivo de roteamento
Conectando Middleware com Escopo
Agrupando Middlewares
Criando rotas RESTful
Criando rotas de recursos aninhados
Limitando as rotas criadas
Alterando as ações usadas no controlador
Mapeando rotas de recursos adicionais
Classes de rota personalizadas para rotas de recursos
Inflexão de URL para rotas de recursos
Alterando o elemento de caminho
Passando Argumentos
Gerando URLs
Rotas de redirecionamento
Classes de rota personalizadas
Classe de rota padrão
Método de fallbacks
Criando parâmetros de URL persistentes
Manipulando parâmetros nomeados em URLs
Filtros de Expedidor
Filtros de Expedidor
Objetos de requisição e resposta
Requisição
Enviando Arquivos
Middleware
Controllers (Controladores)
O App Controller
Fluxo de requisições
Métodos (actions) de controllers
Interagindo com views
Definindo variáveis para a view
Renderizando uma view
Redirecionando para outras páginas
Redirecionando para outra action no mesmo Controller
Carregando models adicionais
Paginando um model
Configurando components para carregar
Configurando helpers para carregar
Ciclo de vida de callbacks em uma requisição
Mais sobre controllers
O Pages Controller
Components (Componentes)
Views (Visualização)
A App
View
View Templates
Echos
Alternativos
Estruturas de controle alternativas
Variáveis da
View
Definindo Variáveis da View
Estendendo
Views
Usando View Blocks
Exibindo
Blocks
Usando
Blocks
para arquivos de script e css
Layouts
Usando Layouts de Plugins
Elements
Passando variáveis para um
Element
Fazendo Cache de
Elements
Requisitando
Elements
de um plugin
Routing prefix
e
Elements
Fazendo Cache de Seções da sua
View
Eventos da
View
Lista de Eventos
Criando suas próprias Classes View
Mais sobre
Views
View Cells (Células de Visualização)
Temas
Views JSON & XML
Helpers (Facilitadores)
Models (Modelos)
Exemplo rápido
Mais informação
O básico sobre banco de dados
Construtor de Queries
Objetos de tabela
Entidades
Retornando dados e conjuntos de resultados
Validando dados
Salvando Dados
Excluindo Dados
Associações - Conectando tabelas
Behaviors (Comportamentos)
Schema
ORM Cache Shell
Using CakePHP
Authentication
Caching
Configuring Cache Class
Console e Shells
O Console do CakePHP
Criando uma Shell
Usando Models em suas shells
Tasks de Shell
Carregando Tasks em tempo-real com TaskRegistry
Invocando outras Shells a partir da sua Shell
Recenendo Input de usuários
Criando Arquivos
Saída de dados do Console
Console Output Levels
Estilizando a saída de dados
Desabilitando a colorização
Opções de configuração e Geração de ajuda
Configurando um interpretador de opção com a interface fluida
Adicionando argumentos
Validando argumentos
Adicionando opções
Validando opções
Usando opções boleanas
Adicionando subcomandos
Construir uma ConsoleOptionParser de uma matriz
Recebendo ajuda das Shells
Recebendo ajuda como XML
Roteamento em Shells / CLI
Métodos enganchados
Mais tópicos
Shell Helpers
Console Interativo (REPL)
Executando Shells como Cron Jobs
I18N Shell
Completion Shell
Plugin Shell
Routes Shell
Upgrade Shell
Server Shell
Cache Shell
Depuração
Depuração Básica
Usando a Classe Debugger
Valores de saída
Criando Logs com Pilha de Execução
Gerando Pilhas de Execução
Pegando Trechos de Arquivos
Usando Logging para Depuração
Debug Kit
Implantação
Atualizar config/app.php
Checar a segurança
Definir a raiz do documento
Aprimorar a performance de sua aplicação
Email
Uso Básico
Escolhendo Rementente
Configuração
Configurando Transportes
Perfis de Configuração
Definindo Cabeçalho
Enviando E-mail com Templates
Envio de Anexos
Usando Transportes
Erros & Exceções
Configurações de Erro & Exceções
Alterando o tratamento de exceções
Customizando Templates de Erro
Personalizar o layout da página de erro
Customize the ErrorController
Change the ExceptionRenderer
Changing the ErrorController Class
Creating your Own Error Handler
Changing Fatal Error Behavior
Creating your own Application Exceptions
Logging Exceptions
Built in Exceptions for CakePHP
HTTP Exceptions
Using HTTP Exceptions in your Controllers
Other Built In Exceptions
Sistema de Eventos
Exemplo de Uso dos Eventos
Acessando os Gerenciadores de Evento (Event Menagers)
Gerenciador de Eventos Global
Rastreando Eventos
Eventos do Core
Registrando Listeners
Registrando Listeners Anônimos
Interagindo com Listeners Existentes
Estabelecendo Prioridades
Obtendo Dados do Evento como Argumentos da Função
Disparando Eventos
Parando Eventos
Parando o Resultado de um Evento
Removento Callbacks e Ouvintes
Leitura Adicional
Internacionalização e Localização
Configurando Traduções
Arquivos de Idiomas
Extraindo arquivos .pot com I18n Shell
Definir a localidade padrão
Alterando o local em tempo de execução
Usando funções de tradução
Usando variáveis em mensagens de tradução
Plurais
Criar seus próprios Tradutores
Logging
Logging Configuration
Formulários sem Models
Criando o Formulário
Processando Requisição de Dados
Definindo os Valores do Formulário
Pegando os Erros do Formulário
Invalidando Campos Individuais do Formulário no Controller
Criando o HTML com FormHelper
Pagination
Plugins
Instalando um Plugin com Composer
Plugin Map File
Carregando um Plugin
Autoloading Plugin Classes
Configuração do Plugin
Usando Plugins
Criando seus próprios complementos
Criando um plugin usando bake
Rotas para Plugin
Plugin Controllers
Plugin Models
Plugin Views
Substituindo Templates de plugins do na sua aplicação
Plugin Assets
Linking to Assets in Plugins
Components, Helpers and Behaviors
Expanda seu plugin
Publique seu plugin
REST
A Configuração é simples
Aceitando entrada em outros formatos
Roteamento RESTful
Segurança
Segurança
Criptografando e Descriptografando Dados
Fazendo Hash de dados
Gerando dados aleatórios seguros
Cross Site Request Forgery
Usando o CsrfComponent
Integração com o FormHelper
Proteção CSRF e Requisições AJAX
Desabilitando o Componente CSRF para Ações Específicas
Componente de Segurança
Sessões
Configuração da Sessão
Manipuladores de sessão e configuração incorporados
Manipuladores de Sessão
Sessões de Banco de Dados
Sessões de Cache
Definindo diretivas ini
Criando um manipulador de sessão personalizado
Acessando o Objeto de Sessão
Leitura e gravação de dados da sessão
Destruindo a Sessão
Identificadores de Sessão Rotativos
Mensagens em Flash
Testing
Instalando o PHPUnit
Instalando o PHPUnit com Composer
Usando o arquivo PHAR
Configuração do banco de dados de teste
Verificando a Configuração de Teste
Convenções de Casos de Teste
Criando seu Primeiro Caso de Teste
Executando Testes
Filtrando Casos de Teste
Gerando Cobertura de Código
Combinando Conjuntos de Testes para Plug-ins
Retornos de Chamada do Ciclo de Cida do Caso de Teste
Fixtures
Conexões de Teste
Criando Fixtures
Dados Dinâmicos e Fixtures
Importando Informações da Tabela
Carregando Fixtures em seus Casos de Teste
Classes de Tabela de Teste
Criando um Método de Teste
Métodos Mocks de Modelo
Teste de Integração do Controlador
Configurando a Solicitação
Testando Ações que Exigem Autenticação
Testando Autenticação Stateless e APIs
Testando Ações Protegidas por CsrfComponent ou SecurityComponent
Teste de Integração PSR-7 Middleware
Testando com Cookies Criptografados
Testando Mensagens Flash
Testando um Controlador Com Resposta em JSON
Desabilitando o Tratamento de Erros de Middlewares nos Testes
Métodos Assertion
Comparando Resultados de Teste com um Arquivo
Teste de Integração de Console
Testando Views
Testando Componentes
Testando Ajudantes
Testando Eventos
Testando Email
Criando Suítes de Teste
Criando Testes para Plugins
Gerando Testes com o Bake
Integração com Jenkins
Criando um Trabalho
Adicionar Configuração do Banco de Dados de Teste
Adicione seus Testes
Executando uma Build
Validação
Classes utilitárias
App Class
Collections (Coleções)
Exemplo Rápido
Lista de Métodos
Iterando
Filtragem
Agregação
Agrupamento e Contagem
Classificação
Trabalhando com Árvore de Dados
Outros Métodos
Retirando Elementos
Expansão de Coleções
Modificação de Elementos
Tornando Reutilizáveis os Métodos de Coleta
Otimizando Coleções
Tornando as Coleções Rebobináveis
Coleções de Clonagem
Arquivos & Pastas
Hash
Http Client
Inflector
Resumo dos métodos de Inflexão e Suas Saídas
Criando as formas singulares e plurais
Criando as formas CamelCase e nome_sublinhado
Criando formas legíveis para humanos
Criando formatos para nomes de tabelas e classes
Criando nomes de variáveis
Criando strings de URL seguras
Configuração da inflexão
Carregando inflexões personalizadas
Número
Objetos de Registro
Texto
Tempo
Xml
Plugins
Bake
chronos
Debug Kit
Migrations
Elasticsearch
Ferramenta de atualização
Instalação
Uso
Diversos
Constantes e Funções
Funções globais
Constantes de definição do Core
Constantes de definição de tempo
Apêndices
Guia de Migração para a versão 3.x
3.x Migration Guide
Informações Gerais
Processo de desenvolvimento no CakePHP
Glossário
Bem-vindo
→
Follow @CakePHP