PHP Framework veya değil Kullanılır?

12 Cevap php

PHP bir kaç uygulamalar yazmaya başladım, ve ben dili ile daha tanıdık oluyorum. Birisi CakePHP, ve CodeIgniter anlattı. Ben bir çerçeve öğrenmek için zaman harcama değerli olsun bu bana yardımcı olabilir nasıl daha iyi bir anlayış almak istedim, ve?

12 Cevap

MVC PHP çerçeveler kullanmanın yararları nelerdir?

Peki PHP çerçeveler kullanarak birçok faydası vardır, en bunları kullanarak ana yararlarından bazıları görelim.

  1. Onlar çerçeveler PHP bazı tasarım izler, böylece bu çerçeve kullanmak ne zaman gelecek amaç için kod temiz ve genişletilebilir kılan onların kodlama kuralını takip ettik.
  2. Popüler PHP CakePHP, CodeIgniter, Zend Framework gibi çerçeveler, Symfony Model View Controller kod temiz ve genişletilebilir yapma kullanıcı arayüzü iş mantığı ayırır (MVC) tasarım deseni izler.
  3. Herkesin tahmin edebileceğiniz gibi, bu çerçeveler daha kolay iş yapmak için kütüphanelerin bir sürü içerir. Normal kodlama senaryoda ettik gibi yazma çok kod yok örneğin, bir doğrulamak için, kütüphane çağıran kod sadece birkaç satır bunun için yeterli olabilir.
  4. Bir ekip büyük bir proje üzerinde çalışırken bir geliştirici ve entegrasyon için MVC bir modül kısmını geliştirmek için bir geliştirici atayabilirsiniz gibi, bu MVC PHP çerçeve nihai düzeyde bu geliştirilen modülün oldukça kolay olacaktır gelişimi için harika bir araç olacak .
  5. Bu MVC framework gerçekten bir çerçeve biliyorsanız iyi o zaman proje tarihine hakkında endişelenmenize asla, hızla proje geliştirmek için yardımcı olur.
  6. Bu MVC çerçeveler en web projesi SEO dostu yapmak net url yaklaşım kullanır.

kontrol article

Benim felsefem o anda var bir ihtiyaç çözer zaman sadece bir şey kullanmak gerektiğidir.

Gerçek bir eğilim bir şey kullanıyor olmalıdır gibi hissediyorum, çünkü sadece birini kullanarak ya da uğruna bir çerçeve kullanmak için, özellikle bu alanda, var. Ben bu tip uygulamaları vazgeçirmek. Ayrıca ben size ne sorunlar iyi bir anlayışa sahip ve nasıl çerçeve sizi in that situation yardımcı olabilir böylece şeyleri zor yol yaptık zaman en büyük değeri olduğunu düşünüyorum çerçeveler. Çerçeve seçim durumuna bağlıdır yok.

Tüm bu söyleniyor, Web uygulamaları ile MVC deseni yararlıdır yüzden kesinlikle en az birini öğrenmek için sizi incitmez. Ben ancak oldukça minimalist çerçevede sopa istiyorum. CodeIgniter Burada akla.

Son olarak, çerçeveler ile diğer tehlike onlar artık CakePHP, Symfony ya da her neyse yapıyoruz, PHP yapıyoruz böylece invaziv olmasıdır. Bu mutlaka bir sorun değil ama bu kadar invaziv olmanın tehlike PHP iyi bir topraklama alamadım ve hiç değiştirmek istiyorsanız sadece bunu yapmak mümkün asla bu çok zor olacak olduğunu.

PHP çerçeveler büyük getirilerinden biri de yaygın web uygulama ihtiyaçlarının büyük bir sayıda tekerleği yeniden icat en aza indirmek vardır. Güvenlik sorunları, zarif istisna işleme, dinlendirici URL'ler, ve sitenizin genelinde bir kod yeniden kullanılabilirliği oldukça evrensel hususlar vardır.

Bir çerçeve araçları ile kendinizi oldum ve o zaman destekleyen tam MVC sistemine almak istiyorsanız görmek için daha kolay olabilir. Bu amaçla, ben Zend Framework ile kendinizi tanımaya öneririm. Güvenlikten Lucene arama - şey - ZF özel kullanımlar için ayrı ayrı uygulanabilir sınıfların bir kütüphane gibi çalışır ancak birlikte kullanıldığında, tam fleshed MVC paradigma uygulamak sınıfları içerir.

Diclaimer: Ben bir php programcı değilim ve hiç bir php uygulama yazmadım. Öte yandan, ben, yüklü özelleştirilmiş ve benim site ve alışveriş sepetleri için php CMSS sürü kullandık.

Bence php ciddi sorunlardan muzdarip. Büyük bir "çerçeve" hemen hemen tüm büyük ve hatta başarılı projeler için yabancı bir kelime gibi görünüyor olmasıdır. Spagetti kod ve spagetti sql ile karışık spagetti html: php kod hızlı spagetti salata olma eğilimindedir.

osCommerce, şimdiye kadar en başarılı alışveriş sepeti biri, çoğunlukla unmaintable olduğunu. Bu da php projelerin büyük çoğunluğu uygular.

Eğer size proje için bir çerçeve kullanmalısınız olsun, ben evet diyorum! Kesinlikle! Ne kadar büyük bir web framework kullanarak proje olduğunu sen kadar kod toplama ve maintable kod yazma yardımcı olur.

Ayrıca bir çerçeve kullanarak değilken bile programlama tarzını etkileyebilir.

i just want to tell about my own experience in programming, I'm still newbie though

  1. İlk çerçevenin en derinden onların kod yazmak nasıl düşündüm çünkü sen iyi onların kodlama tarzı / kural, alışacaksın çerçevesini kullanarak. Kısacası ben daha iyi bir stil ve temiz bir kod olsun
  2. Genellikle çerçeve Eğer internette bulabileceğiniz birçok cephanelik (eklentileri ve veya kitaplık), gel, bu boşa zaman kesmek, kodlama süresini azaltacaktır. Kısacası iş süreci üzerinde düşünmeye, kendi kıymetli zaman yapabilirsiniz
  3. açık kaynak çerçevesini kullanarak, zaten biliyor ve muhtemelen çerçeveyi hakim, diğer programcı var, o zaman kolayca başkalarıyla işbirliği yapabilir.
  4. aslında ben iyi organize programcı değilim, ama bazı açık kaynak çerçevesini kullanarak 'm önce öyleydi. belki benim gibi daha organize alırsınız

Yani ben de bir yazı ile iyi değilim, şimdi sizinle paylaşmak hepsi İngilizce, bunun için özür dilerim. ama gelin ben size çerçeve kullanmak tavsiye edilir

Mutlu kodlama arkadaşım.

Ben bir PHP çerçeve öğrenmek vakit geçirmek için kuşkusuz iyi bir yatırım olduğunu düşünüyorum. Biri için, bu oturumları gibi şeyler ve veritabanı vb ... kere işlemek için nasıl birisi PHP kodu nasıl organize çerçeve, architecting sorunu ele nasıl size öğretmek ve edeceğiz ..

Eğer web uygulamaları geliştirme konusunda ciddi iseniz Çoğunlukla, sıraladığınız yerine sıfırdan kendi çerçevesi yazarken daha bazılarının bir çerçeve kullanmanız gerekir.

Kendi çerçevesi yazmak olmaMAlıdır bazı nedenleri:

  1. Bunu zaten defalarca yapılmış olduğunda, tekerleği yeniden icat ediyoruz.
  2. Siz test edilmiş ve birçok geliştirici tarafından iterated edilmiş bir açık kaynak çerçevesinde, daha iyi bir iş yapmak çok olası değil.
  3. Aslında uygulama oluşturma harcayacağı daha kendi çerçevesi yazma ve hata ayıklama her zaman harcarsınız.

Yani evet, çerçeveler birkaç öğrenmek ve size en uygun olanı bulmak!

MVC-çerçevesini kullanarak geliştirme daha kolay hale getirecek. Özellikle veritabanı ile ilgili uygulamaları. Size bir kristal berraklığında klasör yapısını ve kod kütüphaneleri bol sağlar. Ben CodeIgniter başlamak öneririm.

Eğer aynı proje üzerinde çalışan geliştiriciler bir ekip var çerçeveler harika. MVC denetleyicisi güzel tasarımcı + programcı bütünleştirir. Ancak oluşturma "çerçevesi gibi" elemanları ve tekerlek böyle kötü bir fikir değil "yeniden icat". Eğer büyük bir proje üzerinde çalışıyorsanız, aşağı ve kirli kodunuzu almak ve sizin ihtiyaçlarınıza göre her şeyi özelleştirmek için daha iyidir. Bu proje için tamamen geliştirilmiş olacak gibi güçlü bir ürün haline edeceğiz.

Aşağıdaki sonrası ben de renderin en mesaja benim cevap yazma gibi hemen kapalı bir konuya yanıt olarak: http://stackoverflow.com/questions/3265509/what-are-the-benefits-of-using-a-programming-framework. Parçacığı kapatıldı ve yorumların bir bağlantı burada onu yönlendiren yerleştirildi, bu yüzden burada onun soruya cevap deneriz. Aşağıda tırnak içinde ben göndermek HAKKINDA ne olduğunu:

"Bana Joomla tavsiye izin! Sizin ve organizasyon için. Benim son işveren, ben pick-up için PHP (onunla daha önce hiçbir deneyimi olan) vardı ve yaklaşık bir ay ve bazı manuel el-kodlama yapmanın bir yarısından sonra PHP, ben hizmet-up olurdu kullanıcılara videoları bir Joomla! bileşeni kod görevlendirildi. Ben de olmayan teknik okul yöneticileri, vb kategorize düzenlemek, silmek için izin verecek bir backend oluşturmak zorunda, videolar yanı sıra sağlamak Onları, vb için küçük resimler

Şimdi bunun için çalışan bir prototip elde etmek için, (Ben bir zamanda stajyer ve sadece haftada 20-24 saat çalışan, yani yaklaşık iki ay sürdü oldukça bir PHP deneyimi bit hem de MVC geliştirme metodolojisi ile deneyimi varsa , muhtemelen) benden çok daha hızlı çalışan bir prototip kadar alabilirdik. "

Now in response to the OP of THIS thread: Spending the time to learn a framework is definitely worthwhile (I haven't seen it mentioned in here until my post so I'll say it again: for a PHP-framework I'd recommend Joomla!).

Bir çerçeve (! Bir açık kaynak Joomla gibi bir) öğrenme faydalarından bazıları:

  • Sorularınıza cevap yardımcı olabilir büyük bir insan topluluğu (stackoverflow yanında; lol)
  • Kaynak kodu TÜM erişim, böylece istediğiniz şekilde özelleştirebilirsiniz.
  • Işlevselliğini artırmak için ücretsiz (ve ücretli), üçüncü parti eklentileri çok.
  • Öğreticiler Lots.
  • Altyapıları otomatik olarak sıradan görevleri bir çok performans ilgileneceğim.

Kurşun dört referans olarak: Joomla! Eğer MySQL veritabanı bağlanmak veya veritabanı sonuç farklı (örneğin bir kayıt, ilk ilk sonucu, geri dönmek için tüm kendi özel işlevleri oluştururken rahatsız gerekmez, böylece bu tür veritabanı bağlantı yönetimi ve gibi şeyler sizin için ilgilenir kayıt, kayıtların listesi, vb), sadece onların çağrıları yerleştirin. Joomla! 'Nin API kendi sitesinde internet üzerinde açıkça geçerli: http://api.joomla.org/

Neyse umarım bu renderin yardımcı olur ve başkasının çerçeveler (özellikle PHP ile ilgili olanlar) hakkında merak.

A framework to me is a good tool to speed you up and save your time for the sake of you just don't want to spend time to redo it, not because you want to save time that you don't know how much it is. You will pay for it if you do so.

Zaten bir deneyim programcı iseniz ve dokunuş veya çerçeve kabaca altında nasıl çalıştığını biliyorum (sadece kabaca tam olarak değil) ve ben yeniden oluşturmak can istiyorsanız seni söylemek emin olduğunu düşünüyorsanız benim için çerçeve iyidir sort gibi bu çerçeve basitleştirmek. Sonra bir çerçeve sizin için ekspres araç olduğunu ve çerçeve için hazır ya da alışılmadık bir şey ya da başka garip bir şey değil, bir şey yapmak istiyorsanız size ağrıya neden olmaz.

Bunu yapmazsanız, daha iyi düz eski PHP kullanarak sorunu çözmek ve parmak dili oynamanın ağrı geçmesi çalışın ve ilk iyi programlama uygulama ve paradigma ve desen hakkında bilgi. Başka bir büyük takıma katıldığından bu yeni mezun biri olacak ve ilk proje yapılandırma ve yama çok az kodlama ve daha gerektiren çok güçlü bir çerçeve ile bir proje üzerinde çalışıyor. Sen iyi bir programcı olmak asla ve sıfırdan iyi bir PHP uygulama inşa edemez.

How if you are in an organization that use a complex framework?

Eğer yukarıda bahsettiğim ne dokunuş elde edene kadar bu durumda PHP düz eski sorunu çözmek için çok kendi zaman bazı harcayın. Else, programlama sizin güvenen bulmak ve kendinizi anlatmaya devam asla, "Ben sadece bu adımlar bunu yapmak için bir yol vardır biliyorum". O (:) biraz aşırı) programlama değildir.

Complex vs. Simple Framework

Birçok kişi tarafından kullanılan rağmen çerçeve bazıları sadece ezici etmektir. Eğer izini kaybedersiniz çok fazla katmanı vardır. Bu çerçeveler klişe bir şey, yapılandırma dosyaları bir sürü için genellikle ve alışılmadık bir şey yapmak istiyorsanız, daha iyi bir çerçeve yazar (burada biraz abartılı bir :)) olmak yok. Ben burada herhangi bir isim söz etmek istemiyorum, ama birini karşılaştığınızda bunu bilecek.

CodeIgniter EllisLab ekibinin bir ürünüdür ve onların ana ürün CodeIgniter ile geliştirilen Expression Engine olduğunu.

CI kullanarak bir süre sonra ben Yii Framework kullanarak daha uygun olduğunu gördük. Bu uzantıları bir yeri vardır. Ve o kadar zor değil iyi dokümanlar ile anlamak.

CakePHP, ben yakın CodeIgniter için, düşünüyorum.

Ben kuvvetle basit bir script daha fazla bir şey için bir çerçeve kullanarak öneriyoruz. Bazen overkill görünebilir, ama öyle değil iddia ediyorum. Ben de (basit bir uygulama, 3 db tabloları temel CRUD) gerekmez düşündüm birkaç günler yaşadım.

Kısa bir süre sonra, ben kendimi böylece manuel mysql_escape_string, XSS filtreleme ve yaparken buldum. Ben kurulum çalışma kodu, daha alacağını düşünüyorum zaman o andan itibaren, ben sadece sigara-çerçeve kod yazmak. Ve bu çok nadiren olur.

Ben bir PHP çerçeve tavsiye olurdu, ben Projeniz ne kadar karmaşık bağlı olarak, CodeIgniter veya Yii Framework ile gitmek olurdu.