14 replies [Último envio]
Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424
4
Your rating: None Average: 4 (2 votes)

Pessoal da programação,

nos últimos meses tenho escrito um framework PHP que atendesse minhas necessidades, tanto quanto programador, quanto como designer.

Então, queria compartilhar com vcs o que eu tenho feito.

O programa se chama PHP Coupé (fala Cupê) e basicamente provê a base de um aplicativo PHP, separando o texto (conteúdo) do layout (template), e a programação do resto.

São 3 camadas, totalmente separadas, que se integram somente durante a execução.

A nova versão vem com um sistema de debug que mostra (entre outras coisas) as conexões com o banco e o tempo de cada uma.

Além disso agora tem um sistema de log embutido (que pode ter as entradas personalizadas), um sistema de tradução de conteúdo automático também, sem falar no cache que tem a capacidade de salvar somente o resultado dos scripts que o programador escolher.

Aceito sugestões e críticas CONSTRUTIVAS.

Quem quiser conhecer, o endereço é: http://www.phpcoupe.com

Para entender tudo, o endereço é http://www.phpcoupe.com/aprendendo

Valew!!!

Fabião's picture
User offline. Last seen 2 weeks 2 dias ago. Offline
Usuário Plususuário VIP
Joined: 26/12/2007
Tibs: 3671

Tá estável o suficiente pra ser usado em um site simplezinho? 0.4 assusta. Mas a proposta me parece boa, e SIMPLES, que é o que falta no mercado pra PHP um pouco mais avançado do que guestbook+form de contato.

Fui seco nos módulos de imagem, mas não tinha nenhum...

Sugestões:

Integração com alguma biblioteca em JS pruns efeitinhos legais.
Um módulo de imagem com cache e performance decente (tive que criar um pra mim, mas nunca tive tempo de fazer algo completo, seria uma ótima)

Não sei se a intenção é esta também, se ficar disponibilizando módulos prontos, ou estimular o desenvolvimento por outrem, sei lá.

PS: Estrutura é com S.

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Pois é, minha idéia é compartilhar o que eu for fazendo. Então, não tem um de imagem por que eu ainda não fiz (já que não adaptei a maioria do meus sripts para módulos do PHP Coupé.). A idéia é a galera ir postando os seus módulos também. Mas para isso eu teria que criar uma área no site e tal. E o tempo tá curto... :(

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Aqui, o módulo é só o container onde a regra de negócio vai. Geralmente os métodos ficam em classes. Então, não tem um módulo de imagens, mas eu fiz um método para redimensionar imagem. Vê lá dentro da pasta Classes.

Caso queria usar uma classe dentro de um módulo do PHP Coupé, é só dar um import() e ele passa a carregar essa classe dentro do seu módulo. Ex.:

<?php

$Coupe->import('Nome_Classes');

// depois é só sair usando os métodos

$variavel = $Coupe->Nome_Classes->metodo1('paramentro');

return $variavel.

?>

Ah! Todo módulo tem que terminar com return. Se usar echo ele vai retornar o resultado no início da página (ou seja, antes da execução do PHP coupé terminar imprimindo o resultado de sua página todo montado :) )

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Arrumei as "extruturas" lá. Valew! ;)

User offline. Last seen 32 weeks 1 day ago. Offline
Usuário MacUsuário Plususuário VIP
Joined: 29/02/2008
Tibs: 2615

O botão "Conheça mais recursos" no box "Por quê usar PHP Coupé?" leva a um erro 404.

Pelo que entendi esse PHP Coupé é uma implementação de MVC. Estou correto?

"Todo o nosso conhecimento se inicia com sentimentos." Leonardo da Vinci

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Não tem nada a ver com MVC, apesar de ter uma view (que são chamados Modelos), um controller (que são os módulos) e os modelos (que seriam as classes). Porém eu fiz de forma que o não precise ficar usando extend em classes e por ai vai (que é caracterísca do MVC).

A idéia do programa é separar tudo de tudo, mas sem mudar a forma de programa. Sem criar paradigmas e truques.

Então, você programa dentro de um módulo da mesma forma que faria com um arquivo PHP normal, procedural ou OO.

Na hora de invocar o módulo criado em uma "view" (dentro de um Modelo ou Conteúdo), vc usa a marcação [[nome do modulo]] e, naquele exato lugar, aparecerá o resultado do Módulo que vc chamou.

Colocando entre [!Modulo!] na hora de chamar, o resultado da execução será salva em cache e não precisará ser executado a cada acesso do seu site.

O MVC não tem nada disso.

Qual a vantagem? É mais simples e organizado. A desvantagem? O MCV com certeza te permite maior maleabilidade. Já que com o MVC, vc pode inserir código PHP também nas view. NO PHP Coupé, tudo que é código fica dentro de módulos. Se colocar no template, não vai funcionar.

Vale dizer que os Módulos podem ter comportamentos diferentes pois recebem parametros. Tipo [[Moldulo?parametro1=valor1&parametro2=valor2]]. Igual como se passa parametros via GET. Assim, dentro do seu módulo vc pode criar IF ou SWITCHS que fazem coisas diferentes de acordo com a forma que é chamado.

Assim, uma função inteira de sua aplicação pode estar dentro de um módulo. E seu projeto ser um conjunto de módulos que tem suas próprias utilidades.

Acredito que assim ficou tudo separadinho.

Vou arrumar o erro 404!

Valew pelo aviso!

Tchello's picture
User offline. Last seen 3 weeks 1 hora ago. Offline
Usuário Plus
Joined: 12/11/2007
Tibs: 141

Samuel Corradi wrote:
Não tem nada a ver com MVC, apesar de ter uma view (que são chamados Modelos), um controller (que são os módulos) e os modelos (que seriam as classes). Porém eu fiz de forma que o não precise ficar usando extend em classes e por ai vai (que é caracterísca do MVC).

Errado, MVC não tem nada a ver com herança.
Na verdade o uso de herança é desencorajado, uma vez que engessa a sua arquitetura.
Recomendo veementemente a leitura:
http://www.guj.com.br/posts/list/131022.java

Abraços.
//-------------------------------------------------
private String Matrix = new String("Just my mind exist, i don't know about the rest...");

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Ainda não tive tempo para ler o link que vc passou (obrigado). Mas se não for ser utilizado herança no MVC, como é adicionada novos métodos? É criado uma classe para cada tipo de tarefa diferente?

GuZ
GuZ's picture
User offline. Last seen 1 hora 6 min ago. Offline
Navegador: Chrome - 128 tibsStar Wars: Aliança Rebelde - 512 tibsUsuário PlusUsuário Windows
Joined: 20/06/2008
Tibs: 2275

Uma vez eu comecei a criar o Oxenti FW, para meu site (Oxenti.com) na época so pra fotos e tal. Daí descobri o Zend Framework. Me deprimi e desisti hehehe

AH, vc já usou o ZendStudio? ;)

Na boa cara, vou ver se eu baixo ele, dou uma testada e te retorno..


Blog | Fotografias | Twitter

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Zend Framework é muito bom??

Não tenho experiencias com frameworks. Comecei a fazer o PHP Coupé diante das canceiras que eu tive trabalhando 10 anos com desenvolvimento web. No final, tem muitas idéias que coloquei nele que existem em outros frameworks por pura intuição, já que (geralmente) desenvolvedores costumam ter os mesmo problemas (por isso se cria padrões).

Não sei se o PHP Coupé atende a maioria das pessoas. Ele vem crú e se molda ao seu tipo de sistema, então não sei... A mim tem atendido muito bem :)

Não tenho a mínima intenção de acompanhar esses PUTA frameworks. Mesmo pq meu negócio é banco de dados. Mas como fiz a bagaça, tá ai Hehehehe

Já ouvi falar MUITO bem do Zend. Depois vou dar uma olhada :)

GuZ
GuZ's picture
User offline. Last seen 1 hora 6 min ago. Offline
Navegador: Chrome - 128 tibsStar Wars: Aliança Rebelde - 512 tibsUsuário PlusUsuário Windows
Joined: 20/06/2008
Tibs: 2275

Não sou a melhor pessoa para te falar do Zend, pois vi muito pouca coisa do que eu realmente utilizaria dele
O problema dele é a falta de documentação em português, por exemplo, que acaba dificultando..

O Zend é quase indispensável para aplicações orientadas a objeto no PHP.

Outra coisa, é que, quando eu me tornei funcionario público (cacilda, tá fazendo 3 anos já!) comecei a estudar menos (FAIL), pq minha área é outra, continuei desenvolvendo por diversão.

Mesmo assim, vou testar seu FW, daí mando um Feedback.

Agora 0.4 para um coupé é muito pouco, por enquanto é um PHP Mini hehe


Blog | Fotografias | Twitter

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Heheheh, mas ele vai acabar pulando de 0.5 para 1.0 final

Imagina quando o Coupé estiver na versão 6, V6 Hehehehe

lscalado's picture
User offline. Last seen 36 min 52 sec ago. Offline
Usuário MacUsuário Plus
Joined: 25/06/2007
Tibs: 92

Gostei da framework e iniciativa. Parabéns.

Atualmente trabalho em projetos web com PHP e usando o ZendFramework, gosto bastante. Achei bem legal sua framewrk para usar em projetos simples onde desenvolvedores junior podem manter o site sem grande esforço.

Colocando uma opção no site para que outras pessoas enviem contribuições pode ser uma boa. Mais uma coisinha. Um fórum não faria mal não acha? Fica a sugestão.

Samuel Corradi's picture
User offline. Last seen 1 semana 3 dias ago. Offline
Usuário Plus
Joined: 31/07/2008
Tibs: 424

Lançada a versão 0.5 pessoal http://www.phpcoupe.com



Design Wenetus