Qual quadro devo usar para garantir uma melhor atualização de longo prazo / manutenção, CakePHP ou CodeIgniter?

StackOverflow https://stackoverflow.com/questions/255082

Pergunta

Eu estou decidindo sobre um quadro para experimentar para PHP. Eu reduzi-lo a CakePHP e CodeIgniter. Eu tenho um par de perguntas para qualquer um de vocês que usaram ou estão familiarizados com ambos:

  1. Eu gosto do fato de que o CakePHP mantém a maior parte do lado de fora do código do webroot por padrão. Especialmente desde que eu pode acabar usando um quadro único de instalação para vários aplicativos. Vejo CodeIgniter irá fazer isso também, mas você tem que configurá-lo e mover algumas coisas ao redor. Se que solução alternativa segura e confiável, ou é um truque reflexão tardia?

  2. O que (se não ambos) é mais fácil de atualizar e manter a longo prazo? À medida que novas versões do quadro (e do próprio PHP) sair. Eu não quero encontrar meu material, quer quebrar, ou tornar-se desatualizado.

Editar:

Este é um post muito velha, mas eu pensei que eu iria atualizá-lo com o que eu finalmente acabou fazendo, que era usar Kohana.

Foi útil?

Solução

Você deve try ambos os quadros para uma semana ou assim, a construção de algo trivial (como um blog ou wiki) em ambos, e ver qual você prefere usar. O que quer que faz mais sentido para você , provavelmente vai sustentá-lo o mais longo através de atualizações de um depreciações.

CakePHP é um pouco de um estado volátil agora, ainda desenterrar erros enquanto empurra para lançamento da versão 1.2 (que não é compatível com versões anteriores). Eu não iria sugerir a construção de uma aplicação crítica com ele se você precisa de algo sólido como uma rocha agora . Se você puder esperar um mês ou dois para as coisas para resolver, então provavelmente é um ponto discutível.

Para abordar suas preocupações:

1) Bolo e CI fazê-lo da mesma maneira (IIRC). Eles são igualmente segura, confiável e hackish nesta frente.

2) Tudo muda. Se você precisar de concreto, garantia permanente de estabilidade e compatibilidade com versões anteriores, rolar o seu próprio quadro. Não há muito a ele, e você tem a garantia de que nada muda a menos que você deseja que ele.

Outras dicas

Eu ter implantado múltiplas aplicações em CakePHP e tem sido muito, muito, experiência agradável. Você não pode dar errado de qualquer forma, já que ambos são sólidos.

  1. é um não-problema.

  2. CodeIgniter tem um patrocinador por trás dele, por isso é definitivamente o único a escolher para o longo prazo. Além disso, é mais rápido.

  1. Este é um problema não. O app tem um par de linhas que diz onde o núcleo e suas mentiras código do aplicativo. Você só precisa mudar essas linhas.

  2. Você nunca pode prever este.

O estado de PHP é um coringa aqui. Um aplicativo (CI) é construído para ser compatível com PHP4 o outro requer PHP5. Se você precisa lidar com a possibilidade de um host que suporta somente versões mais antigas do PHP, então você precisa ir com CO.

Outra questão é o teste de unidade. Se você precisar de seu quadro de navio com os testes, então CI não é o caminho a percorrer.

Pessoalmente, sinto-me confortável com CI por causa do apoio corporativo. A empresa por trás CI está fazendo lucro real a partir de seus esforços. Embora CI é gratuito, seu produto pago (ExpressionEngine) acabará vivo no CI. O mesmo poderia ser dito do Zend Framework e até mesmo o nascimento de Rails (originalmente construído para Basecamp.)

Um menor correção a um comentário acima: ambos são compatíveis com PHP4, não apenas CI. Além disso, eu não acho que ter um patrocinador faz CI e mais ou menos atualizável ou manutenção. Dinheiro não resolve esses problemas, no mínimo.

Eu uso o CakePHP para uma variedade de aplicações e eu fui feliz com ele até agora. 1.2 é uma grande melhoria sobre 1.1, e enquanto a fonte da biblioteca pode mudar de RC3 para Final, eu não acho que qualquer código que você escreve se tornará obsoleto. Minha única coisinha é que o manual não é tão abrangente como deveria ser (na minha opinião), e eu acabar na API um pouco. O trade-off não é que agora eu entendo o código por trás das cenas muito bem. Em qualquer caso, eu recomendo.

Por outro lado, eu nunca brinquei com CI, então eu não posso recomendar CakePHP mais CI. Gostaria de aproveitar cada para dar uma volta e ver qual agarra-lo. Qualquer um que você escolher, estudar o inferno fora de suas convenções e capacidades. Quando eu comecei com bolo, eu inadvertidamente escreveu um monte de código para fazer algo bolo fez "automagicamente" por ter me definir uma variável no controlador.

CodeIgniter é muito flexível como você veria uma vez que você experimentá-lo. Assim como a sua aplicação seria sustentável cairia você suas mãos.

Eu também tiver implantado vários aplicativos que utilizam a mesma instalação. Eu costumo criar 2 aplicações para projetos de CMS (uma para administrador, uma para o front-end).

Para fazer face a ambas as perguntas de uma perspectiva CodeIgniter (Eu não uso bolo):

1) CodeIgniter não manter-se fora do webroot por padrão, mas pode fazê-lo com algumas mudanças muito simples. A primeira parte do minha CI tutorial série explica como fazê-lo, juntamente com um passeio através da instalação de uma nova instância CI. Uma vez terminada a única parte do CI que precisa ser no webroot é um arquivo index.php inicialização pequena.

2) Tenho uma aplicação que eu originalmente desenvolvido na CI 1.4.x e eu com sucesso migrou para 1.5.x então 1.6.x. Com cada novo lançamento do CI dev fazer instruções de atualização detalhada disponíveis colocar para fora o que precisa ser substituído assim que as atualizações são bastante fácil.

Jim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top