Hangi framework ben daha uzun vadeli yükseltme / idame, CakePHP'ye veya CodeIgniter'ı sağlamak için kullanmalıyım?

7 Cevap php

Ben PHP için denemek için bir çerçeve karar duyuyorum. CakePHP ve CodeIgniter aşağı daralmış var. Ben kullanılan veya her ikisi aşina sizin kim herhangi biri için birkaç soru var:

  1. Ben CakePHP varsayılan webroot dışında kod çoğu tuttuğu gerçeği gibi. Ben tek bir çerçeve çoklu uygulamalar için yüklemek kullanarak sona erebilir Özellikle beri. Ben CodeIgniter de bunu göreceksiniz, ancak bunu yapılandırmak ve çevresindeki bazı şeyler taşımak zorunda. Bu geçici çözüm, güvenli ve güvenilir mkimlikir, yoksa sonradan kesmek?

  2. Hangi (yoksa her ikisi de) uzun vadede yükseltmek ve bakımı daha kolaydır? Çerçevesinde (ve PHP kendisi) yeni sürümleri çıkması gibi. Ben malzeme kırma ya da bulmak istiyor, veya eski haline yoktur.

Edit:

Bu çok eski bir yazı olduğunu, ama ben Kohana kullanmak olduğu, nihayet yapıyor sona ne ile güncelleştirmek düşündüm.

7 Cevap

Eğer kullandığınız tercih ettiği try hem de bir hafta ya da öylesine için çerçeveler, hem de (bir blog veya wiki) gibi önemsiz bir şey, bina ve görmelisiniz. En mantıklı ne olursa olsun to you muhtemelen yükseltmeleri bir yıpratma yoluyla uzun sürdürecektir.

CakePHP 1.2 sürümünü (geriye uyumlu değil) serbest bırakmak için iterken hala hatalar ortaya çıkarıyorlar, şu anda bir uçucu devletin biraz bulunmaktadır. Ben katı right now şey kayayı gerekiyorsa onunla kritik bir uygulama inşa tavsiye etmem. Eğer yerleşmek şeyler için bir ya da iki ay bekleyin eğer, o zaman muhtemelen tartışmalı bir konu.

Endişelerini gidermek için:

1) Kek ve CI) o (iirc aynı şekilde yapın. Onlar eşit, güvenli, güvenilir, ve bu ön hackish vardır.

2) Her şey değişir. Eğer istikrar ve geriye dönük uyumluluk somut, sürekli güvence ihtiyacınız varsa, kendi çerçevesini rulo. Orada ona o kadar değil, ve siz istediğiniz sürece hiçbir şey değişmez olduğunu garanti ediyoruz.

CakePHP birden fazla uygulamayı dağıtmış ve bu çok, çok güzel bir deneyim oldu. Her iki katı olarak, yanlış ya bir yol olamaz.

  1. olmayan bir konudur.

  2. CodeIgniter arkasında bir sponsor vardır, bu yüzden kesinlikle uzun vadede seçmek için biri. Ayrıca, daha hızlı.

  1. Bu olmayan bir konudur. App çekirdek ve uygulama kodu yatıyor burada diyor birkaç satır vardır. Sadece bu satırları değiştirmeniz gerekir.

  2. Bu bir tahmin asla.

PHP devlet buraya bir joker. Bir uygulama (CI) PHP4 ile uyumlu olacak şekilde inşa edilmiş diğer PHP5 gerektirir. Eğer sadece PHP eski sürümlerini destekleyen bir web barındırma ihtimaline ile başa çıkmak için gerekiyorsa o zaman CO ile gitmek gerekir

Başka bir sorun birim test ediyor. Eğer testler ile gemi için çerçeve gerektiren, daha sonra CI gitmek için yol değildir.

Şahsen ben, çünkü kurumsal astarın CI ile rahat hissediyorum. CI arkasındaki şirket kendi çabaları gerçek kar yapıyor. CI ücretsiz olmasına rağmen, onların ücretli ürün (hayyam) sonunda CI yaşayacak. Aynı Zend Framework ve Rails hatta doğum söylenebilir (aslen Basecamp için inşa.)

Üzerinde bir açıklama A minör düzeltme: Her iki değil, sadece CI PHP4 ile uyumludur. Ayrıca, ben bir sponsor olan CI ve daha fazla veya daha az yükseltilebilir veya sıçramalı yapar sanmıyorum. Para azından bu sorunları çözmez.

Ben çeşitli uygulamalar için CakePHP'ye kullanmak ve ben şimdiye kadar onunla mutlu oldum. 1.2 1.1 üzerinde büyük bir gelişme olduğunu ve kütüphane kaynak Final RC3 değişebilir iken, ben yazdığınız her kod eski haline sanmıyorum. Benim tek eleyip Kılavuzu (Bence) olması gerektiği gibi kapsamlı değil ve ben API biraz sonuna kadar olmasıdır. Trade-off ben şimdi çok iyi perde arkasında kod anlamak var. Her durumda, ben tavsiye ederim.

Öte yandan, ben CI etrafında oynadı hiç, bu yüzden ben CakePHP'ye over CI tavsiye edemez. Ben bir spin için her alır ve bir kapmak hangi görecekti. Hangisini seçerseniz seçin birini, onun sözleşmeler ve yetenekleri defol çalışma. Ben kek ile başladı, ben farkında olmadan Kek beni denetleyicisi bir değişkeni set alarak "automagicallylar" did bir şey yapmak için bir kod demet yazdı.

Bunu deneyin bir kez göreceğiniz gibi CodeIgniter çok esnektir. Peki nasıl uygulama sürdürülebilir olacağını size ellerinizi düşecek.

Ben de aynı yükleme kullanarak birden uygulamalar dağıttım. Ben genellikle CMS projeler (admin için bir ön uç için bir) 2 uygulamaları oluşturmak.

Bir CodeIgniter bakış açısıyla Her iki soru çözmek için (ben pasta kullanmayın):

1) CodeIgniter varsayılan webroot dışında kendini tutmaz, ama çok basit bazı değişiklikler ile yapabilirsiniz. Ilk bölümü my CI tutorial series, yeni bir CI örneğinin kurulumu aracılığıyla bir yürüyüş ile birlikte, bunu nasıl açıklar. Bir kez webroot olması gerekiyor CI sadece bir kısmı bir küçük bir index.php önyükleme dosyasıdır tamamladı.

2) Ben aslında CI 1.4.x geliştirilen bir uygulama var ve ben başarıyla sonra 1.5.x göç ettik 1.6.x. Her yeni sürüm ile CI dev adlı markası mevcut detaylı yükseltme talimatları yükseltmeleri oldukça kolay şekilde değiştirilmesi gerekenleri dışarı atarken.

Jim.