CakePHP - CakePHP
Desenvolvedor (s) | Cake Software Foundation, Inc. |
---|---|
lançamento inicial | Abril de 2005 |
Versão estável | 4.2.2 / 2021-01-06 [±]
|
Versão de visualização | 4.2.0-beta1 / 1 de novembro de 2020
|
Repositório | |
Escrito em | PHP |
Sistema operacional | Plataforma cruzada |
Plataforma | PHP 5.6.0+ |
Disponível em | Multilíngue |
Modelo | Framework da web |
Licença | Licença MIT |
Local na rede Internet |
cakephp |
O CakePHP é uma estrutura da web de código aberto . Ele segue a abordagem model – view – controller (MVC) e é escrito em PHP , modelado de acordo com os conceitos de Ruby on Rails e distribuído sob a licença MIT .
O CakePHP usa conceitos de engenharia de software e padrões de projeto de software bem conhecidos , como convenção sobre configuração , modelo-visualização-controlador , registro ativo , mapeamento de dados de associação e controlador frontal .
História
O CakePHP começou em abril de 2005, quando um programador polonês Michal Tatarynowicz escreveu uma versão mínima de um framework de desenvolvimento rápido de aplicativos em PHP , apelidando-o de Cake. Ele publicou a estrutura sob a licença do MIT e a abriu para a comunidade online de desenvolvedores.
Em dezembro de 2005, L. Masters e GJ Woodworth fundaram a Cake Software Foundation para promover o desenvolvimento relacionado ao CakePHP. A versão 1.0 foi lançada em maio de 2006.
Uma das inspirações do projeto foi Ruby on Rails , usando muitos de seus conceitos. Desde então, a comunidade cresceu e gerou vários subprojetos.
Em outubro de 2009, o gerente de projeto Woodworth e o desenvolvedor N. Abele renunciaram ao projeto para se concentrar em seus próprios projetos, incluindo o framework da Web de Lithium (anteriormente parte do projeto CakePHP). A equipe de desenvolvimento restante continuou a se concentrar no roteiro original que foi definido anteriormente.
Características
Os plug-ins permitem que os desenvolvedores empacotem combinações de controladores, modelos, visualizações e outras classes para reutilização em vários aplicativos e por outros desenvolvedores. Desde o CakePHP 3, é possível instalar plug-ins usando o Composer .
CakePHP ORM ( mapeamento objeto-relacional ) é um híbrido PHP avançado do padrão de registro ativo e do padrão de mapeador de dados , pegando emprestado os conceitos centrais de ambos. O CakePHP ORM usa dois tipos de objetos primários, a classe da tabela que representa as tabelas do banco de dados e as classes de entidade que representam as linhas individuais da tabela .
O Query builder foi introduzido no CakePHP 3 como um companheiro para o novo ORM. O construtor de consultas fornece um conjunto de classes e métodos para construir consultas SQL de maneira programática, em vez de escrevê-las manualmente. O ORM faz uso extensivo do construtor de consultas.
Roteamento e roteamento reverso . O roteador CakePHP permite o roteamento de aplicativos HTTP complexos , encaminhando solicitações de entrada para o controlador e ação corretos. O roteamento reverso cria um relacionamento entre rotas e links, garantindo que os links sejam sempre gerados com o localizador uniforme de recursos correto .
As células de visualização fornecem pequenos minicontroladores que podem invocar a lógica de visualização e modelos de renderização. Eles são ideais para criar componentes de página pequenos e reutilizáveis.
As migrações fornecem controle de versão para esquemas de banco de dados . Isso torna possível garantir que as alterações na lógica do aplicativo e as alterações correspondentes no banco de dados sejam mantidas sincronizadas. Isso simplifica muito a implantação do aplicativo CakePHP, mas também o desenvolvimento em equipes de vários desenvolvedores. A ferramenta de migração CakePHP é baseada no projeto Phinx.
Paginação automática para facilitar aos desenvolvedores a paginação de conjuntos de resultados gerados pelo ORM ou Query Builder.
O construtor e validador de formulários permite a geração programática de formulários vinculados à camada de modelo para tipos de dados e validação.
O CakePHP Bake é uma ferramenta para gerar automaticamente esqueletos de aplicativos e código clichê . Ele usa um esquema de banco de dados pré-existente para inferir as relações de dados e tipos de dados corretos e usando isso para gerar um conjunto completo de controladores, objeto de modelo e modelos de visualização. Ele pode gerar um aplicativo CRUD básico com codificação zero.
Conferências
Ano | Localização |
---|---|
2019 | Tóquio, Japão |
2017 | Nova York, NY, EUA |
2016 | Amsterdão, Países Baixos |
2015 | Nova York, NY, EUA |
2014 | Madri, Espanha |
2013 | São Francisco, CA, EUA |
2012 | Manchester, Reino Unido |
2011 | Manchester, Reino Unido |
2010 | Chicago, IL, EUA |
2009 | Berlim, Alemanha |
2008 | Buenos Aires, Argentina |
2008 | Orlando, FL, EUA |
Treinamento
Cursos oficiais de treinamento online patrocinados pela CakeDC. Treinamento ao vivo mensal cobrindo uma variedade de tópicos, incluindo:
- Curso de treinamento padrão CakePHP 2
- Curso de treinamento padrão CakePHP 3
- Curso de treinamento avançado em CakePHP 3
- Curso de treinamento padrão do CakePHP 4
Veja também
Referências
Bibliografia
-
Munro, Jamie (9 de abril de 2011). "Desenvolvimento rápido de aplicativos com CakePHP" (1ª ed.). Createspace : 170. ISBN 1-4609-5439-4 . Arquivado do original em 14 de julho de 2017 . Recuperado em 20 de maio de 2011 . Citar diário requer
|journal=
( ajuda ) -
Golding, David (21 de julho de 2008). "Beginning CakePHP: from Novice to Professional" (1ª ed.). Apress : 344. ISBN 1-4302-0977-1 . Arquivado do original em 12/01/2011 . Página visitada em 12/06/2009 . Citar diário requer
|journal=
( ajuda ) -
Chan, Kai; Omokore, John; Miller, Richard (2 de dezembro de 2008). "Practical CakePHP Projects" (1ª ed.). Apress : 400. ISBN 1-4302-1578-X . Arquivado do original em 23/12/2010 . Página visitada em 12/06/2009 . Citar diário requer
|journal=
( ajuda ) -
Watts, James; González, Jorge (5 de agosto de 2014). "CakePHP 2 Application Cookbook" (1ª ed.). packtpub : 346. ISBN 9781782160083 . Página visitada em 05/08/2014 . Citar diário requer
|journal=
( ajuda )