Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

chuck01

Novo Framework PHP Brasileiro - Facil Facil

Recommended Posts

eu ja tentei criar meu framework e digo que fracassei, eu ja assisti estas video aulas e nao serviram de nada, nao tem o minimo de padrao de projeto, nao tem orientacao a objetos, trabalhar com classes nao significa trabalhar com oo, eu possusar a classe smarty em projeto procedural, e ae? usei uma classe num projeto q nao tem oo...

 

eu nao conheco todas as situacoes possiveis, nao decorei todos os padroes de projeto e suas variacoes, eh por isso q hj eu estudo eles, pq o CI, Cake, e outros frameworks, nao sao tao completos e comtemplam tantos padroes de projeto quanto o zend, nao eh puxasaquismo....mas assim, padroes de projeto resolvem determinados problemas e ainda padronizam a forma de programar para q qq programador possa utiliza-lo...como dito acima, qq programador deva entender akele sistema, se nao entende, o codigo nao esta legivel...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O CakePHP pode até usar algum padrão de projeto, mas ainda não foi notado, assim como Symphony, etc. Você não é obrigado a usar patterns em seus projetos, até por que é muito difícil você implementar um pattern logo de cara, sem REALMENTE sentir a necessidade de usá-lo, por mais que os outros falam, você tem que sentir na pele que chegou o momento de usar!

 

Eu no momento não sei se estou precisando mesmo usar algum pattern, por exemplo: utilizar Decorator, Strategy, entre outros, foi só um exemplo. No momento, eu utilizo Table Data Gateway, Record Action e Singleton. Acho que esses são os mais "básicos", e mais "fáceis" de botar mais em prática no mundo real.

 

Os outros sei lá, é muito difícil, por mais que os exemplos daqui do fórum sejam claros, e realmente são MUITO BONS, porém não tive necessidade de colocar em meu sistema AINDA!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os frameworks são interessantes, tentei um dia iniciar um projeto com o Cake, mas ao perceber que algo que fazia com minhas próprias funções, ao utilizar o cake, o tempo gasto para resposta era mais que 3 vezes o que gastava para responder nas minhas funções e classes, desisti do Cake. o CodeIgniter pareceu o mais rápido para mim. Porém, quando você utiliza um framework e no meio do projeto surge um erro que você saberia resolver com suas classes e com o framework você fica amarrado aos métodos que existem, ou se você pega uma classe da web pronta, por exemplo, para gerar um gráfico em json, e para utilizar com o framework você tem muita dificuldade, dá vontade de voltar para suas próprias funções e classes. É o que eu faço para conseguir o que eu quero, mesmo que demore um pouco mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Taí, talvez uma desvantagem de utilizar framework's.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os frameworks são interessantes, tentei um dia iniciar um projeto com o Cake, mas ao perceber que algo que fazia com minhas próprias funções, ao utilizar o cake, o tempo gasto para resposta era mais que 3 vezes o que gastava para responder nas minhas funções e classes, desisti do Cake. o CodeIgniter pareceu o mais rápido para mim. Porém, quando você utiliza um framework e no meio do projeto surge um erro que você saberia resolver com suas classes e com o framework você fica amarrado aos métodos que existem, ou se você pega uma classe da web pronta, por exemplo, para gerar um gráfico em json, e para utilizar com o framework você tem muita dificuldade, dá vontade de voltar para suas próprias funções e classes. É o que eu faço para conseguir o que eu quero, mesmo que demore um pouco mais.

 

Eu utilizo o Zend, nunca tive problemas com ele, muito menos erros, quando voce disse erros no meio do projeto, voce tava falando de seus erros ou erros do framework CI?

 

e tudo é questao de costume, eu desenvolvo muito mais rapido com Zend do que sem ele, mas claro nao é todo projeto que cabe um Zend, projetos pequenos e simples nao vejo necessidade de usar ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu utilizo o Zend, nunca tive problemas com ele, muito menos erros, quando voce disse erros no meio do projeto, voce tava falando de seus erros ou erros do framework CI?

 

e tudo é questao de costume, eu desenvolvo muito mais rapido com Zend do que sem ele, mas claro nao é todo projeto que cabe um Zend, projetos pequenos e simples nao vejo necessidade de usar ele.

 

Nunca utilizei o Zend, por achar complexo demais. Erros a respeito do Cake e do Code Igniter

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complexidade é algo relativo à sua dedicação em aprender o funcionamento do Framework.

 

Dos que eu conheço, mesmo não tendo usado ou usado pouco, os quem as documentações mais completas são o Zend, o Cake e o Symfony.

 

Os outros sempre têm alguma coisinha a desejar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

É como o Matias disse, pra que reinventar a roda?

 

 

Não existe por parte do NEOS a intenção de "reinventar a roda" e sim de consertar a roda!

 

A proposta do NEOS:

 

  • Rapidez - um framework que consuma menos recursos do servidor (processamento e memória);
  • Curva de Aprendizado - Simples e em português para facilitar (principalmente) quem está começando;
  • Modernização - da estrutura, código, (etc) evitando a necessidade de compatibilidade com modelos antigos (PHP 4, 5.2).

 

Por ser mais novo que seus "irmãos" inportados, o NEOS não tem compromisso com modelos antigos (compatibilidade/engessamento) de codificação e versões antigas do PHP. O NEOS já nasceu na versão PHP 5.3.x, adotando o que há de mais moderno em programação orientada a objetos em PHP.

 

Não criamos um framework próprio (para uso próprio - caseiro) e sim uma ferramenta para ser usada por empresas brasileiras (ou de lingua portuguesa) e que tenha o que há de mais moderno, compatível (e até superiror) as ferramentas importadas.

Vamos falar em português com os desenvolvedores e colaboradores!

 

Criar um Framework não é nada trivial, ainda mais se for baseado em MVC, o buraco é beeem mais embaixo!

Eu mesmo criei o meu e cada dia melhoro ele ainda mais, não está no clássico MVC, mas eu consegui fazer o que eu queria a muito tempo, no mais é ir melhorando, e esse que eu fiz está sendo próprio somente para Gerenciadores de Conteúdos para sites.

 

E cara, se você quer usar um framework, que eu testei e não gostei, porém dizem ser muito útil, é o CodeIgniter. Vá nele que é fácil de usar, porém você NÃO está programando OO usando este Framework!

 

Por que não junta seu conhecimento ao que já produzimos para o NEOS?!

Ao contrário de indicar um framework importado e (como você mesmo disse) inadequado quanto a 'OO', vamos resolver os problemas no NEOS!

 

Procure a versão 2 do NEOS no site do Google Code (o site oficial ainda está em construção) e veja o que fizemos em OO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

NEOS

Respeito sua opnião e admiro o trabalho de vocês em ter criado o Framework, porém essa sua frase de "Consertar a roda" não colou muito bem.

 

Sim, vou na página onde me indicou e ver como está o framework.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

...

 

Outra falha que continua muito grave é fazer propaganda de algo que não existe.

O site do Neos FW é bonito, organizado, tem manual e tudo mais.. Faz uma baita propaganda do Framework, sendo que não é um framework e tampouco deve ser encorajado uso em produção.

 

Respeito sua vontade em querer construir algo, a coragem em botar a cara à tapa e esforço em corrigir. Espero que entenda a crítica, repeitando também o tempo que me consumiu para avaliar o projeto.

 

Quando você tiver algo realmente bom, dê um up no tópico.. Mas uma coisa vou deixar avisado.. Se continuar fazendo propaganda de algo inexistente, infelizmente as críticas serão severas.

 

Alguns pontos que preciso esclarecer:

 

  • Versão - você usou uma versão antiga para os testes;
  • É um framework - Não estamos copiando nada do que você já viu até hoje por isso você não está conseguindo entender a proposta!
  • Obrigado pela crítica - Sinceramente (falo por todos os colaboradores) estamos muito gratos pelo tempo que você empregou (doou) neste teste. Precisamos muito de pessoas como você que, além de testar nosso trabalho, nos trás comentários que nos fazem entender como o NEOS está sendo visto pela comunidade de programadores brasileiros.

 

Absolutamente não queremos tomar o seu tempo, mas, se tiver algum tempo vago e ainda puder nos fazer mais uma doação, convidamos você a analisar a versão 2 do NEOS, disponível no site do GoogleCode (trunk). Apesar de muitas empresas e programadores já a utilizarem (mesmo sendo beta) e nos dar feedbacks positivos, acreditamos que o seu elevado censo críticos nos será de grande valia.

 

A versão 2 será publicada juntamente com o nosso novo site http://neosphp.org no início de 2012 e trará muitos novos conceitos, correções, compatibilidade com bibliotecas de outros frameworks (por que reinventar a roda?) além de um conceito de OO baseado nas novas características da versão PHP 5.3.x - que ainda não foi totalmente explorada pelo próprio ZendFramework (saimos na frente?!).

Compartilhar este post


Link para o post
Compartilhar em outros sites
além de um conceito de OO baseado nas novas características da versão PHP 5.3.x - que ainda não foi totalmente explorada pelo próprio ZendFramework (saimos na frente?!).

 

Certo. Mas não faça comparação do seu código e do código da Zend, por que se eu tenho qe lhe dizer que seu framework perde, não só o seu, todos perdem, pois todos os framework (ou a maioria deles) tem a base do Zend!

 

Eu baixei a versão beta e olhei o código, porém não afundo. Então, vendo o conceito de OO, tem que melhorar bastante, mas ficou bem melhor que a primeira versão, sem dúvidas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo. Mas não faça comparação do seu código e do código da Zend, por que se eu tenho qe lhe dizer que seu framework perde, não só o seu, todos perdem, pois todos os framework (ou a maioria deles) tem a base do Zend!

Quê?! :o

 

O Zend é o maior e mais robusto sim, mas daí a dizer que todos ou a maioria tem a base Zend é uma afirmação deveras incorreta.

 

E mais, dizer que TODOS perdem também é um generalismo absurdo. O ZF é bom? Sim! É o melhor? Nem tanto, principalmente em termos de performance.

 

Devido à todo o código estar centrado nas mãos de poucos programadores o ZF tende, inclusive a ter erros sutis, mas que como um todo acabam sendo prejudicial.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo. Mas não faça comparação do seu código e do código da Zend, por que se eu tenho qe lhe dizer que seu framework perde, não só o seu, todos perdem, pois todos os framework (ou a maioria deles) tem a base do Zend!

 

Eu baixei a versão beta e olhei o código, porém não afundo. Então, vendo o conceito de OO, tem que melhorar bastante, mas ficou bem melhor que a primeira versão, sem dúvidas!

 

 

Guilherme, eu programo em PHP desde a versão 3!! Portanto, antes do ZendEngine, porém já com o comando de Andi Gutmans e Zeev Suraski (o Zend). Tenho PHP injetado no sangue desde então!

 

Já programei em outras linguagens (C, Delphi, VisualBasic, .NET, Java) também, mas encontro uma extrema versatilidade no PHP (mesmo em aplicações desktop). Quero experimentar/estudar Rubi (on Rails)...

 

Quanto a framework, conheço muito bem o Zend, o CodeIgniter e o Cake. Posso te garantir que o ZendFramework só é sucesso por que as pessoas sempre fazem o cálculo: "Se o ZendFramework é da Zend/PHP então é o melhor!". Curiosamente, analizando os frameworks citados acima sem préconceitos (sentimentalismos), o Zend não é absolutamente o melhor. Tenho uma série de motivos para dizer isso que não caberiam ser descritos neste tópico.

 

Assim como eu utilizo/ei esses frameworks em minha vida profissional creio que cada um deve experimentar estes frameworks e ter sua própria opinião. Usar um ou mais frameworks em projetos que exijam características que são melhor tratadas por esse ou aquele e não ficar preso a uma só ferramenta. Esqueça o partidarismo, isso não é time de futebol. Está em jogo o profissionalismo, a produtividade!

 

O NEOS é uma proposta que atende muito bem aos requisitos de um bom framework (produtividade, velocidade de aprendizado, etc) com a vantagem de estar sendo desenvolvido aqui no Brasil e por brasileiros (como você). Junte-se a nós e faça do NEOS o melhor framework, não para excitar nosso ego (eu só levo o mérito de ter iniciado o projeto - centenas de colaboradores são os verdadeiros desenvolvedores), mas, para produzir uma ferramenta realmente útil para o nosso dia-a-dia e... em português.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas observações a fazer:

 

1. No arquivo config.php dá pra perceber que não é possível se conectar a dois bancos de dados do mesmo tipo de uma só vez:

$cfg->db->mysql->driver='mysql';
$cfg->db->mysql->host='localhost';
$cfg->db->mysql->user='neos';
$cfg->db->mysql->pass='123456';
$cfg->db->mysql->database='site';
$cfg->db->mysql->charset='utf8';

 

Tenho uma aplicação onde acesso dois bancos de dados distintos. Como é algo antigo, o que eu fazia era alterar os dados da conexão onde fosse necessário, depois voltar ao valor anterior. Péssimo!

Ao que parece, teria que fazer da mesma forma utilizando o NEOS Framework.

 

2. A classe NEOS em um arquivo chamado core.php??? E o padrão de nomenclatura, que foi copiado do Java: NomeDaClasse.php???

 

3. Tem vários supressores de erros '@'. Isso além de atrasar a execução do PHP, é uma péssima prática, é varrer a sujeira pro lado do tapete.

 

4. global $cfg??? Hmmmm... aqui cheirou mal...

 

5. O uso de __call e __callStatic impede o programador de conhecer a interface das classes. Existe ali em NEOS_CORE uma chamada para o método _download que não foi declarada em lugar nenhum. Não me dei nem ao trabalho de procurar onde ela é implementada.

 

6. NEOS_DB_TABLE funciona apenas para sqlite. Se eu quiser utilizar MySQL, faço como?

 

7. Eu achei interessante esse sistema de erros, mas implementação está péssima. Você copia e cola esse código em todas as superclasses:

function __call($f,$a){
	global $cfg;
	$cfg->error['cod']=5;
	$cfg->error['class']=get_class($this);
	$cfg->error['function']=$f;
	$cfg->error['description']='Function "'.$cfg->error['class'].'->'.$cfg->error['function'].'" not exists!';
	trigger_error($cfg->error['description']);
}
public static function __callStatic ($f,$a){
	global $cfg;
	$cfg->error['cod']=5;
	$cfg->error['function']=$f;
	$cfg->error['description']='Static function "'.$cfg->error['function'].'" not exists!';
	trigger_error($cfg->error['description']);
}

 

8. Parece que o framework foi escrito por alguém que estudou na Joel Santana's School of English, meio em português, meio em inglês. Apesar de o padrão internacional para programação ser em inglês, se é pra dar uma identidade brazuca ao NEOS, coloca TUDO em português... Nada de GET ou SET, use PEGAR, COLOCAR/DEFINIR...

 

9. Certas classes, como NEOS_USER não tem sentido. Cada sitema armazena informações diferentes de usuário, não dá pra 'padronizar' sem forçar o programador a desenvolver de acordo com as SUAS regras. Um dos princípios na construção de um framework é que o desenvolvedor deve ser livre para programar do jeito que quiser.

 

10. O NEOS não é um framework OO, muito menos MVC, tem vários problemas conceituais e de implementação.

 

Não encare as críticas como um balde de água fria, encare como críticas construtivas, como um guia para poder melhorar as futuras versões.

 

Nem mesmo o todo-poderoso Zend Framework está 100% livre de erros. Há algum tempo, analisei somente as classes Zend_Db_* e fui capaz de encontrar quase uma dúzia de erros.

 

Não utilizo frameworks, também tento desenvolver o meu próprio, mas por agora (e por um certo tempo), não pretendo abri-lo ao públic justamente por duvidar da sua utilidade para outras pessoas. Por mais que ele funcione bem para o meu estilo de programação, pode não funcionar para outra pessoa.

 

Boa sorte para a equipe de desenvolvimento, entretanto, da maneira como está, eu não tentaria nem começar a utilizá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas observações a fazer:

 

1. No arquivo config.php dá pra perceber que não é possível se conectar a dois bancos de dados do mesmo tipo de uma só vez:

$cfg->db->mysql->driver='mysql';
$cfg->db->mysql->host='localhost';
$cfg->db->mysql->user='neos';
$cfg->db->mysql->pass='123456';
$cfg->db->mysql->database='site';
$cfg->db->mysql->charset='utf8';

 

Tenho uma aplicação onde acesso dois bancos de dados distintos. Como é algo antigo, o que eu fazia era alterar os dados da conexão onde fosse necessário, depois voltar ao valor anterior. Péssimo!

Ao que parece, teria que fazer da mesma forma utilizando o NEOS Framework.

 

....

 

Henrique,

 

Em primeiro lugar muito obrigado pelo tempo doado para a análise do nosso código!

 

Nos últimos posts do tópico tenho observado que estamos discutindo características do NEOS que estão sendo mal entendidas. Provavelmente culpa de nossa (admito) fraca documentação - principalmente da versão 2 que ainda nem saíu...

 

Bem, gostaria de propor a você e aos demais que postem suas dúvidas em nosso site (assim que estiver no ar - "sorry"). Assim, não fugiremos do propósito do tópico e o tópico não será fechado.

 

Mas, não posso deixar de responder as suas questões - tentarei ser bem sintético:

 

1 - O NEOS pode se conectar a infinitos bancos de dados ao mesmo tempo, mesmo de tipos iguais. No código mostrado o ítem "mysql" em $cfg->db->mysql .. .. é um álias (apelido) para a conexão e pode ter qualquer nome (apelido). O que manda é o "driver" utilizado. No caso $cfg->db->mysql->driver = "mysql";

Para utilizar bancos de dados no código você chama a função "_db()", assim:

 

   $result = _db('alias')->query('SELECT x FROM Table');
   // Onde 'alias' é o apelido da conexão configurada previamente.

   // Para usar a conexão default, basta omitir o 'alias':
   $result = _db()->query('SELECT x FROM Table');

   // Pode ser usado o acesso diretamente a classe DB (class_alias):
   $result = _db->query('SELECT x FROM Table');

   // Ou pelo namespace:
   $result = \NEOS\Db\Conector->query('SELECT x FROM Table');

   // Você escolhe o forma que mais lhe convier.

 

Nós recomendamos o uso do PDO por se tratar de uma classe (sistema) próprio do PHP e que terá uma atualização, correção de bugs (etc) muito mais eficiente que nossa própria classe de coneção/trabalho. Essas classes no NEOS só estão presentes para o caso de algum servidor onde o PDO não esteja presente.

 

2 - Sim, copiado do Java e da recomendação do ZendFramework/PHP - veja: http://framework.zend.com/manual/en/coding-standard.naming-conventions.html

E por falar em "copiado do Java", na versão 2, a classe principal se chama "Main" e está no arquivo "main.php", na raiz do framework. Aqui podemos adicionar (por exemplo) o ZendFramework em uma pasta própria (dois frameworks ao mesmo tempo?!).

 

3/4 - Não tenho a intenção de descrever cada caso (posso faze-lo por email/Skype), mas, estão ai por um motivo estratégico. Faça uma busca no código do Zend, CodeIgniter e Cake e achará a mesma coisa (talves um pouco a mais :P).

 

5 - As chamadas aos helpers são feitas por __call e __callStatic! Por isso parecem transparentes e não precisam ser definidos anteriormente. Interessante, não?

Você pode desabilitar isso se não gostar.

 

6 - Retiramos essa classe na versão 2. Se alguém quiser usar pode baixar e instalar na pasta "library".

 

7 - Estamos melhorando o sistema de erros - por favor, nos dê uma sugestão melhor. Apesar de um pouco confuso, está funcionando muito bem: velocidade de execução, retorno em logs, etc.

 

8 - Esse é um verdadeiro "paradigma" (tipo "ser ou não ser") - precisamos de sugestões nessa matéria.

 

9 - O mesmo problema enfrentado pela galera do Spaghetti* (framework brasileiro, também) e de alguns desenvolvedores quando lidam com o Auth do Zend. O problema aqui pode ser de documentação. A classe é muito "fera" e pode ser extremamente versátil para atender a maioria dos sistemas de autenticação de usuários. O NEOS lida com o usuário do site através do objeto "User" (sessions, login, status, nível de acesso, por ai...).

 

10 - Dê uma olhadinha na versão 2, no GoogleCode (trunk). Apesar de muita gente já utilizar essa versão em seus projetos, será oficialmente lançada no início de 2012. Estamos esperando os últimos feedbacks para finalizar.

 

Mano, pensava como você até que um amigo me enviou um email dizendo que tinha usado o Simple (o NEOS se chamava Simple no início) num trabalho que fez para uma grande empresa aqui do Rio e que os desenvolvedores da empresa ficaram interessados no projeto. Vi que o que era bom pra mim também podia ser para outras pessoas - publiquei o NEOS.

Se eu fosse você, colocaria seu trabalho em público; pode estar ajudando uma série de pessoas, principalmente quem está começando, e, no pior, estará recebendo críticas. O certo é que sempre aparece alguém grato pelo que você fez e disposto a ajudar; ai você também cresce!

 

Não tenho medo de críticas e de me expor. Afinal, críticas acabam sendo de muita ajuda! Aprendi muito aqui nesse tópico do forum; sou muito grato a todos que tiraram seus preciosos tempos para me "ajudar".

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 - Sim, copiado do Java e da recomendação do ZendFramework/PHP - veja: http://framework.zen...onventions.html

E por falar em "copiado do Java", na versão 2, a classe principal se chama "Main" e está no arquivo "main.php", na raiz do framework. Aqui podemos adicionar (por exemplo) o ZendFramework em uma pasta própria (dois frameworks ao mesmo tempo?!).

O problema é que não tem nada padronizado, pude reparar uns 3/4 padrões diferentes no pouco que vi.

 

5 - As chamadas aos helpers são feitas por __call e __callStatic! Por isso parecem transparentes e não precisam ser definidos anteriormente. Interessante, não?

Você pode desabilitar isso se não gostar.

 

Não, não é interessante. Você está chamando um método inexistente de um objeto. Para eu entender sem essa sua explicação, preciso no mínimo ir até a documentação analisar o que acontece quando chamo esse método.

 

3/4 - Não tenho a intenção de descrever cada caso (posso faze-lo por email/Skype), mas, estão ai por um motivo estratégico. Faça uma busca no código do Zend, CodeIgniter e Cake e achará a mesma coisa (talves um pouco a mais tongue.gif).

Tem aproximadamente 1 mês que estou estudando o código-fonte do ZF e nunca encontrei nenhum '@' lá no meio... Além disso, não é só porque outros fazem algo errado que devemos fazer também... Muitas vezes, mantém-se coisas erradas por questão de retrocompatibilidade com versões mais antigas da linguagem ou do próprio framework, o que você disse em algum post que não é de interesse do NEOS.

 

7 - Estamos melhorando o sistema de erros - por favor, nos dê uma sugestão melhor. Apesar de um pouco confuso, está funcionando muito bem: velocidade de execução, retorno em logs, etc.

Nessa parte, sou só o chato-que-só-critica-e-não-mostra-solução... O problema é a duplicação de código, concentrem-se nisso.

 

8 - Esse é um verdadeiro "paradigma" (tipo "ser ou não ser") - precisamos de sugestões nessa matéria.

A sugestão eu dei: padronize!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Resposta a Henrique Barcelos

 

 

Quanto ao '@' vejamos:

 

Procure no Zendframework, no seguinte caminho: /bin/zf.php

Vá até a linha 383 (versão 1.11.11) e veja o seguinte código:

 

$fh = @fopen('Zend/Tool/Framework/Client/Console.php', 'r', true);

 

Quanto a 'global' tem um "monte":

 

No arquivo 'demos/Zend/Gdata/Calendar.php', na linha 101 temos:

 

   global $_SERVER;

 

Aliás, nem precisava pois $_SERVER já é global!!! (sinistro!)

 

Outra em 'library/Zend/Pdf/Filter/Compression/Flate.php' na linha 78:

 

   global $php_errormsg;

 

E na linha 84, olha o '@' ai gente!

 

    if (($output = @gzuncompress($data)) === false) {

 

Fiz um search nos arquivos da versão 1.11.11 (full) do ZF (atual) e parei no terceiro arquivo do resultado - acho que tem muito mais ocorrências desse tipo.

Não perdi meu tempo fazendo o mesmo em outros frameworks.

 

Mano, eu sei que o Zend é muito grande e difícil de estudar todas as suas classes em apenas 1 mês.

Só fico um pouco "chateado" com as pessoas criticando o código do NEOS sem ao menos terem tempo de criticar o código dos outros frameworks, antes. Não foi só você quem falou sobre o 'global' e o '@'. Se é tão ruím assim usar estes recursos, então vamos relatar isso para os desenvolvedores do Zend, do CodeIgniter, Cacke, e para o próprio PHP.

 

O NEOS é um projeto relativamente novo!

As padronizações dependem de muita pesquisa e da opinião de todos os nossos colaboradores - eu respeito muito isso. Considerando que a padronização não é crucial para o funcionamento do sistema (do Core), creio que em pouco tempo tenhamos resolvido esse 'problema'. A versão 2 está bem mais 'padronizada' - não me arrisco a dizer totalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem algum caso de sucesso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem algum caso de sucesso?

 

Esses sites foram desenvolvidos pelo Zurox, um dos colaboradores mais ativos do NEOS:

 

http://www.saredrogarias.com.br

http://www.2ccseguranca.com.br

http://www.starfarma.com.br/

 

E outros que não estou lembrando agora.

Mas, vou te dar uma dica: Faça uma busca no Google pela frase 'NEOS PHP Framework' e veja alguns sites que estão em desenvolvimento com o NEOS. Alguns desenvolvedores deixam o 'CORE SERVICE' ativo e o Google acaba pegando. Apesar de nós sempre recomendar-mos que seja desativado em produção ou em servidor público.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre a palavra-chave global existem o Singleton Registry que dá conta do recado. O que não pode haver é abuso da "globalidade" oferecida pelo padrão, senão você simples estaria trocando a tal palavra-chave por uma classe.

 

Sobre não suprimir os erros com o arroba, confesso que até semana passada eu não sabia como, principalmente com funções que possuem valor de retorno, mas teimam em disparar um erro, como é o caso de fopen().

 

Mas, graça ao Igor, aprendi que é possível.

 

E sobre o Zend cometer essas gafes, é mais uma prova do que o relativo individualismo no desenvolvimento pode causar. Nada contra o Matt, ele é brilhante, mas aindaé humano e como tal, suscetível à esses lapsos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.