Jump to content

CakePHP


Ivo Pereira
 Share

Recommended Posts

Boas pessoal,

estive a ler aqui um artigo na revista, por acaso o que mencionava a introdução ao CakePHP.

Nunca trabalhei com frameworks, mas segundo o que entendi na conclusão da revista, foi que facilitava em muito a criação baseando-me na framework.

Mas, muito sinceramente, depois do que li, não percebi bem como a sua utilização, isto é, como a incorporar.

Isto provavelmente também é um pouco de n'oob'ice, mas não percebo bem aquelas associações dos this->post, etc.

http://www.portugal-a-programar.org/revista-programar/edicoes/Revista_PROGRAMAR_-_9a_edicao_Julho_2007.pdf

Será que alguém me pode dar umas luzes ? 🙂

Cumpz

Link to comment
Share on other sites

Para isso tens de aprender POO em PHP.

A variável $this dentro de uma classe serve para indicar a própria classe (algo como o Me em VB.NET).

Mas tens aqui mais informação: http://wiki.portugal-a-programar.pt/dev_web:php:classes_php_5

Nunca trabalhei com a framework CakePHP, mas das duas uma: ou a framework tem de ser instânciada ou é estática.

Instânciada:

//Isto é apenas um exemplo, nem sequer sei o nome da classe.
$cake_principal = new CakePHP;
$cake_principal->faz_isto();

Estática:

CakePHP::faz_isto();

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Obrigado pela resposta.

Visto que programo em VB.NET, percebi a associação do this, com o Me.

As classes e funções aqui (principais do POO) são basicamente estruturadas de forma semelhante que no VB.NET?

Agradeço a quem puder dar mais algum esclarecimento sobre o CakePHP, que se ponha à frente. 🙂

Cumps

Link to comment
Share on other sites

Quando te sugeri que lesses algo sobre MVC era mesmo a pensar na framework Cakephp. Tenho usado ultimamente e sinceramente aconselho. Tem muita documentação e tem uma comunidade disposta a ajudar. (IRC irc.freenode.net #cakephp, tem uma mailing-list e se usares o stackoverflow também recebes respostas muito rapidamente).

Para instalar:

1. se usares windows sacas lá do site a versão mais recente, extrais para a pasta www (WAMP) ou htdocs (XAMPP) mudas o nome da pasta para o teu site.

2. Abres o teu website: localhost/nome_que_deste  e ele vai dizer o que precisas de modificar para ficar tudo ok. Provavelmente diz para mudares as permissões da pasta temp e para mudares o security salt (basta mudares umas três letras, esse vai ser o código usado para codificar as passwords e gerar as chaves, axo eu)

3. Vais às variaveis de ambiente e no path acrescentas o caminho para a pasta console no teu projecto.

4. Abres a linha de comandos posicionaste na pasta app do teu projecto e escreve cake bake

5. Defines a ligação à base de dados

6. Começas a gerar os modelos / views e controladores.

Essas classes geradas estarão na pasta app e será aí que farás grande parte do teu código, aconselho-te a ler a documentação disponível lá no site, é bastante útil.

Tens de ter atenção que existem algumas regras na criação da base de dados... Como por exemplo, o nome das tabelas devem ser no plural, a chave primária deve ser chamada "id" e as chaves estrangeiras "nomeDaTabela_id" e tenho usado sempre varchar(40) que assim o cakephp gera uma chave.

Link to comment
Share on other sites

Já agora, depois posso pegar no código gerado e implementá-lo em templates meus ou assim?

3. Vais às variaveis de ambiente e no path acrescentas o caminho para a pasta console no teu projecto.

E já agora, para que preciso disto? Qual a finalidade?

EDIT: Já agora, tive a ver uns vídeotutoriais do CodeIgnition, e qual será o melhor? Será que me podem dizer as vantagens e desvantagens de ambos? 🙂

Link to comment
Share on other sites

Já agora, depois posso pegar no código gerado e implementá-lo em templates meus ou assim?

E já agora, para que preciso disto? Qual a finalidade?

EDIT: Já agora, tive a ver uns vídeotutoriais do CodeIgnition, e qual será o melhor? Será que me podem dizer as vantagens e desvantagens de ambos? 🙂

O ponto 3 é para puderes usar o "cake bake" na linha de comandos e gerar os models/views/controllers.

Quanto a qual o melhor não te posso responder, pois só usei o cakephp até agora.

Link to comment
Share on other sites

No cakephp o layout é gerido da seguinte forma:

default.ctp  -> aqui implementas o layout geral, comum a todas as páginas (em HTML/PHP), e indicas em que parte dessse layout vai ficar o conteudo de cada página.

Nas views dos teus modelos irás ter o conteudo do teu site.

Vê o default.ctp que já vem incluido com o cake.

PS: Só estou a responder em relação ao cake pois nunca usei o outro.

Link to comment
Share on other sites

Já agora, porquê?

Kohana nao só tem um grupo de programadores de topo por trás a trabalhar naquilo, como estão sempre a "escutar" as novas metodologias que são implementadas nas outras frameworks e a portar aquilo que acham interessante e útil para o kohana. A nível de código, é um abuso de OOP.

Link to comment
Share on other sites

Kohana nao só tem um grupo de programadores de topo por trás a trabalhar naquilo, como estão sempre a "escutar" as novas metodologias que são implementadas nas outras frameworks e a portar aquilo que acham interessante e útil para o kohana. A nível de código, é um abuso de OOP.

Por pouco não escolhi a Kohana quando comecei, cakephp pareceu-me a melhor hipotese. Pode ser que num projecto futuro, e quando já tiver mais conhecimentos, utilize essa framework!

Link to comment
Share on other sites

Kohana nao só tem um grupo de programadores de topo por trás a trabalhar naquilo, como estão sempre a "escutar" as novas metodologias que são implementadas nas outras frameworks e a portar aquilo que acham interessante e útil para o kohana. A nível de código, é um abuso de OOP.

Continuo sem perceber (se calhar estou a ser um bocado lerdo) porquê que não a recomendas quando dizes que é tão boa.  ?

Link to comment
Share on other sites

Continuo sem perceber (se calhar estou a ser um bocado lerdo) porquê que não a recomendas quando dizes que é tão boa.  ?

Porque é uma framework de programadores para programadores, ao contrário da CodeIgniter, CakePHP, e afins, que concentram parte da energia em tutoriais, documentação completa, etc. Muita gente se queixa que Kohana não serve para eles por causa disso, mas a verdade é que as pessoas que estão por trás têm assim oportunidade de fazer aquilo crescer cada vez mais, e hoje em dia têm ali uma grande framework.

Ou seja, como eu sei que muita gente aqui precisa de tudo ao género KISS em todos os sentidos, não é o ideal.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.