Estou vivo, e atualizando! ^^

Terça-feira, Abril 29, 2008

Bem gente, é isso mesmo… Não abandonei o projeto. Recentemente tive uns vislumbres interessantes. Uma coisa que acontecia era que cada model instanciado era aberta uma nova conexao com banco de dados, e isso não é bom. Então tive a ideia de usar ‘Singleton’ para a classe de banco, coisa que já deveria ser feita desde o início. Outra ideia, foi utilizar um hash como assinatura para o objeto. Geralmente utiliza-se id com auto incremento, mas esse id fica exposto. Quando nao queremos que isso aconteça geramos um hash para o objeto, assim fica melhor de lidar com essa situação, e implementei métodos novos como ‘load_by_hash’ que localiza o objeto pelo hash. Acho que será assim, eu estou abandonando PHP, mas o ActPHP será meu local de inovações… Sempre que tiver uma ideia nova, vou implementar. Bem, é isso… Eu não morri ainda hein!

Até breve!

Reta Final…

Quinta-feira, Março 13, 2008

Bem, fiz uma agenda utilizando o ActPHP 2, e fiquei satisfeito com o resultado. O Act faz o que foi proposto a fazer e faz bem ;) . Agora vou gerar uma boa documentação, e o site do ActPHP será desenvolvido com ActPHP :D . Então devo ficar um tempo sem dar noticias do ActPHP. Agora vou recomeçar os estudos do Rails, já que foi a plataforma eleita para o desenvolvimento das nossas aplicações. E postarei o progresso do desenvolvimento das mesmas aqui. Apenas se aparecer alguma novidade ou eu encontrar algum impasse. É isso.

Até breve!

Mais modificações…

Segunda-feira, Março 10, 2008

Então… Na onda da customização para url’s amigáveis acabei colocando o atributo url_pattern na ActView também. Assim você pode escolher como quer trablhar os controllers e as actions.

Exemplo:
$ActView->url_pattern = '{controller}/{action}/{complement}/' ;
$ActView->url_for(’post’,'visualizar’,1); // irá gerar: http://seusite.com/post/visualizar/1/
$ActView->url_pattern=’?{controller}={action}&{complement}’;
$ActView->url_for(’post’,'visualizar’,'id=1′); // irá gerar: http://seusite.com?post=visualizar&id=1

Deu pra entender? Isso é válido para os métodos ‘url_for’ e ‘redirect’ ;) .
Acho que agora ta ficando bem legal.

Até breve!

Solução encontrada - urls amigáveis

Segunda-feira, Março 10, 2008

Bem, buscando solucionar a questão de urls amigáveis… Discutindo com um amigo sobre o problema, encontrei uma solução. Um atributo chamado ‘page_pattern’ foi adicionado a classe de paginação. Assim o programador pode escolher como a ulr será retornada. Exemplo:

$ActPaginate->page_pattern = ‘?page={page}&outros=detalhes’;
$ActPaginate->page_pattern = ‘busca/{page}/’;

A string ‘{page}’ será substituída pelo número da página voltando como link assim:

HTTP://minhapagina.com/?page=1&outros=detalhes,

HTTP://minhapagina.com/busca/1/,

E assim por diante. Acho que isso corrige o bug por enquanto, depois eu penso num jeito legal de customizar. É isso.

Até breve!

Nem tudo são flores…

Domingo, Março 9, 2008

Justamente quando eu ia dar por encerrada a versão Alpha do ActPHP… Surgem os bugs… Eu construi um pequeno blog com ele pra testar. E quando testei junto a ActPaginate com o .htaccess rodando. Percebi um bug na construção da url. Como o .htaccess mascara o GET, a montagem dos parametros de volta fica bugada. Ela volta o verdadeiro GET, aquele que foi pego na expressao regular e desfaz a url amigável. Então até a segunda ordem está suspensa url amigável na versão alpha. Por que? Porque url amigável é legal, mas o poder de customização da aplicação é mais importante. E outro detalhe, o ActPHP ficou de casar com Mootools, mas ainda não surgiram frutos desse casamento. Então um divórcio prematuro pode aparecer por ae. Se cuidem.

Até breve!

Paradigma: 100% O.O.?

Quinta-feira, Março 6, 2008

Estou vivendo um grande dilema. Agora na proximidade do lançamento da versão Alpha do ActPHP para o mundo ( acredito eu que só terá 1 download, do meu amigo ) surge o dilema. Ele é 100% Orientado a Objeto? A resposta é: Não. Mas poderia ser? Poderia. É nisso que estou pensando. Eu sou defensor da POO, mas também defendo a simplicidade. Se um método pode ser uma função, pq aumentar a sintaxe dele só pra colocar como método de classe? Exemplo do ActPHP:

echo input(’objeto’,'atributo’);
//ou
echo ActFormField::input(’objeto’,'atributo’);

Então, o que devo fazer? Provavelmente tomarei a decisão sozinho e em breve. O marketing de 100% O.O. pode chamar mais antenção.

Até breve!

EXTRA: ActPHP adere a url’s amigáveis!

Quinta-feira, Março 6, 2008

Hehehe. É exatamente isso. Agora que eu vi como é simples configurar o .htaccess o ActPHP aderiu ao movimento de url’s amigáveis. Ainda mais em PHP que é muito feio aqueles parametros no GET. Bem, é isso. Não se preocupem, na documentação eu ensino como usar o .htaccess.

Até a vista!

Modificação de última hora…

Quarta-feira, Março 5, 2008

Bem pessoal, uma modificação foi feita visando a segurança da aplicação. Anteriormente a configuração da aplicação estava num arquivo .xml . Mas dependendo da configuração do servidor esse arquivo torna-se visivel pra todo mundo. Logo a senha do banco e afins estariam expostos. Solução: Guardar a configuração em constantes do PHP mesmo. Estou pensando num processo indolor de configuração. O código do framework ja foi migrado para constantes. Acho que devo fazer uma função pra iniciá-las. Vamo que vamo!

Até mais!

Casamento anunciado!

Domingo, Março 2, 2008

Andei pensando, e pensando, e pensei mais uma vez. Acho que devo dar uma noticia a todos. O ActPHP provavelmente irá se casar com a Mootools eu já utilizei outros frameworks AJAX como Prototype + Script.aculo.us, mas a Mootools me chamou atenção pelo tamanho. Muito compacta e faz tudo que eu preciso. Então a última classe do ActPHP 2 Beta, ActPaginate, será implementada utilizando Mootools para a tabela ordenável. Bem é isso… Preciso me desligar… Me esforcei muito hoje… Dia extremamente produtivo… Eu volto quando terminar a ActPaginate ( talvez amanhã de manhã se eu continuar no ritimo, mas eu duvido ). Nos vemos!

Até a vista!

Aproveitando embalo: ActForm!

Domingo, Março 2, 2008


Eita domingo produtivo ^^ . Comecei a viajar e quando vi já estava terminado. ActForm! Classe pra auxiliar na geração de formulários simples. Sabe aqueles formulários de 3 ou 4 campos de texto só pra pegar uma info simples do usuário? Então. Vejam um exemplo de como ficou:
Código exemplo
Vejam como saiu:
Formulário