Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sir Pereira

CakePHP

Mensagens Recomendadas

Sir Pereira

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

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


scorch_pp.png

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Sir Pereira

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Sim, está tudo no link que eu te dei. Basicamente, muda o . para -> ou ::

Mas está tudo no link que te dei.


scorch_pp.png

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NoOne

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Sir Pereira

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? :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NoOne

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Nazgulled

Já existem bons tópicos com discussões entre CakePHP vs CodeIgniter com opiniões de pessoal que já usou/testou ambas. É uma questão de pesquisares :)

A melhor é Kohana, mas não aconselho.

Já agora, porquê?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NoOne

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NoOne

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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Nazgulled

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.  🤔

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.