Ne php framework spagetti kod temeli üstünde kullanmak için?

2 Cevap php

Benim takım çok kötü yazılmış büyük bir php uygulama korumak zorundayız. Büyük bir kötü tasarlanmış bir veritabanı (bu sütun birkaç yüz ile bir tablo vardır Ör.) üstüne html, javascript ve SQL bir karışımıdır. Kod temeli tek avantajı çalışıyor olmasıdır.

Biz sürekli hata düzeltme ve bunun yeniden parçalarıdır.

Yapmamız yeniden yazar bir yapı vermek istiyorum, bu yüzden kod temeli için bir mvc framework entegre hakkında olsa ettik. Eğer çevre için herhangi bir iyi bir çerçeve önerebilirsiniz?

İşte ben böyle çerçevesinde beklediğiniz şeylerin bir listesi:

  • API, çok kararlı olmalıdır. Her yayın kodunu yeniden yazmak için göze alamaz.
  • Özel oturum yönetimi ya da en azından üzerinde çalışan standart $ _SESSION [] (eski kod ile konuşmak edebilmek için).
  • Özel kimlik doğrulaması.
  • Ham SQL kullanarak (veritabanı nesneleri açısından temsil etmek zordur) de destekleniyor olmalıdır.
  • Ben denetleyici başına bir tablo olacağını düşünmeyin.

2 Cevap

Ben sadece senin özel şartları uygun nasıl listelemek için Zend yankılanan:

  • API, çok kararlı olmalıdır. Her yayın kodunu yeniden yazmak için göze alamaz.

Da belirtildiği gibi, küçük API sürümleri arasındaki kararlı olma eğilimindedir. Değişiklikleri ile Binbaşı bültenleri entegre etmek zor olmamalı.

  • Özel oturum yönetimi ya da en azından üzerinde çalışan standart $ _SESSION [] (eski kod ile konuşmak edebilmek için).

Zend_Session tam olarak ne istediğinizi yapar. Varsayılan oturum mağaza Zend bir ad kavramını ekler hangi $ _SESSION. Mevcut kod iyi olmalı ve her yeni kod hiçbir değişken ismi çakışıyor vardır sağlamak için Zend nesnesini kullanabilirsiniz.

  • Özel kimlik doğrulaması.

Zend_Auth birkaç kimlik doğrulama backends var, ama bunu kendi kimlik denetimi uygulamak için izin vermek için tasarlanmıştır.

  • Ham SQL kullanarak (veritabanı nesneleri açısından temsil etmek zordur) de destekleniyor olmalıdır.

Zend_DB Eğer nesnesi üzerinden veri erişim sağlayacak tablo geçit desen uygular; ancak, aynı zamanda, sadece doğrudan SQL kullanımı ve diziler gibi sonuçlar alabilirsiniz.

  • Ben denetleyici başına bir tablo olacağını düşünmeyin.

Zend_Controller ve zerdüştlerin MVC uygulama Gerisi tamamen size kalmış ki bırakarak, modeli hakkında hiçbir varsayımlar yapmak. Bazı insanlar sevmiyorum eminim, ama bu projeden projeye farklılık gösterir MVC tasarımı bir alandır - Bu geliştirici tamamen bıraktı böylece. Sen DB bazı sınıfların uzatmak, ya da sadece varolan DB erişim kodunu kullanabilirsiniz.

Yani Zend Framework seçin pick-ve-zihniyet bir örnek. Eğer gerçekten kendisi tarafından kütüphane herhangi kullanabilirsiniz. Bu proje ile iyi çalışması gerekir. Örneğin, sadece şablonlar içine sunum taşımak için MVC sınıfların kalanı olmadan Zend_View kullanabilirsiniz. Ya da sadece varolan Auth sistemi yerine Zend_Auth kullanın. Zend ile yavaş yavaş, daha yapılandırılmış duruma küçük küçük proje taşıyabilirsiniz.

Bir tutkal çerçeve çünkü ben bu amaç için Zend Framework öneririz. ZF ile çerçeve onunla çalışmak için bekliyor nasıl koşum zorla değildir. Siz ne istediğinizi almak ve yavaş yavaş ZF kod ile eski kod değiştirebilirsiniz. Ayrıca belirtilen her şeyi destekler.

Buna ek olarak, phpqatools.org hata ayıklama ve üstlenmeden sizi desteklemek için bulunan çeşitli QA araçları çalıştırmak için öneririz.

Çerçeve karşılaştırmaları