Nasıl MVC daha uygundur?

6 Cevap php

Ben benim ihtiyaçlarına inşa edebilirsiniz güzel bir özel çerçeveye dönüştürmek için zaman büyük bir web sitesi var. Ben kendi inşa etmek istiyorum, ve ben istiyorum, çünkü Smarty gibi bir şey kullanmak değil ...

  1. hepsi bağırsaklar nasıl çalışır biliyorum
  2. her türlü kabartmak kesti
  3. sadece tekmeler için, onu öğrenmek

Ancak, farklı şekillerde oluşturduktan sonra, birkaç kez ... Ben özellikle (zor gibi üçlü dosyaları izlemek için çalışırken, sunduğu "kolaylık" miktarı için, kod giderek unflexible olur olur duygu tutmak projede yalnız geliştirici), ve hatta herhangi bir gerçek müthiş belgeler orada yoktur.

Bu noktada, ben gerçekten ikna edici ... bu nasıl yine hayatımı değiştirmek için gidiyor gerekir?

6 Cevap

Bu already cevap olmuştur, ancak bir ince noktayı koymak için, ben değil / MVC ölçeklenebilirlik zaman kapsar tek bir niteliği düşünüyorum:

  1. MVC görevleri net bir ayrım (veritabanı kodlama vs, yani ön-uç) sağlar.
  2. MVC üniforma kodlama alışkanlıkları zorlayan bir kalıptır.
  3. Bu kod temeli grok (MVC anlar) yeni bir proje üyesi için daha kolay olduğu gibi idame artar.

Eğer kod tek sahibi olan ve yakın zamanda katılan diğer insanları forsee yoksa, o zaman gerek olmamalıdır.

Bazı yeni model / çerçeveye varolan bir proje dönüştürmek için (bazen imkansız) zor olabilir. Ayrıca bir MVC framework uygulama nasıl bağlıdır.

  • Dosyaların takip zor olduğunu söylüyorlar. Eğer daha fazla dosya ile sona karşın, iyi bir organizasyon ve adlandırma sistemi varsa takip etmek zor olmamalı, yani 3 ayrı klasörlerde modelleri, görüş ve kontrolörleri tutmak, ya da adlandırma kuralı çeşit var ne olduğunu size söyler
  • Eğer daha 'unflexible' olarak kod bakın neden ben de anlamıyorum. Kodun düzgün Modeller ayrılarak sonra, Görüntüleme ve Kontrolörler daha modüler olduğunu, ve bu kod tekrarını önleyebilir.

Kaygıları bu ayırımı sahip hakkında en önemli şey Maintenance. MVC çerçevenin büyük avantajlarından biri bu kod hatalı çalışıyor ne almak ve bunu düzeltmek daha kolay olmasıdır. Ilgilendiren konuları ve ayırma sorunları ve bir seperasyonunu = böcek.

Bu kabul edilen bir model olduğunu muhtemelen anlamda en uygun olan, ve ve proje üzerinden sürüklenen diğer insanlar bunu anlayacaktır. Design Patterns hakkında büyük şey, kitap, desenler yeni olduğunu değildi, ama hepsi aniden isimleri kabul ettiğini.

Sen ve tek güncelleme olacaksa, bu kadar büyük olabilir.

MVC hakkında büyük şey gerçekten sadece bir kavram olmasıdır. Eğer bu sürece ayıran görevleri standart takip olarak size kalmış nasıl uyguladıklarını.

Ben projede gerçekleşmesi gereken ne dayalı birkaç farklı MVC kod üsleri yazdık. Bir kod tabanı daha denetleyici ve görüşlerinden "iş mantığı" ayırmak için bir servis katmanı vardır. Başka bir web denetleyicileri CLI denetleyicileri ayrılır.

Bu ben bakmak ve MVC kullanmak ne olduğunu. Ben MVC hakkında çevrimiçi bazı güvenilir belgeler veya blog yazılarını bulma öneririz.

Ne MVC hakkında aşk bir yeni çalışan veya uzun vadeli destek için olsun, başka bir geliştirici için teslim geldiğinde, MVC bir bilgi ile herkes çok hızlı oluyor anlamaya olabilir.

İşte bu olaylara bakarak best yol demek değil, ama çoğu insan anlamak bir yoldur.

MVC veya HMVC yaptıktan sonra ben belki geri kodlama spagetti gidebiliriz yolu yoktur. Bu arka uç ne kadar geniş bağlı, ama sen yapıyorsun ne kadar bakım bağlı olarak büyük bir site üzerinden geçmek için biraz zaman alacaktır, buna değer olabilir.

I özel bir çerçeve yapmak istiyorum kılan sorabilir miyim? .. Ben çok hafif ve büyük bir veritabanı konektörü vardır Kohanaphp.com gibi bir şey tavsiye ederim ben çok drupal veya kek önermiyoruz - Yani, ben sadece bu teknolojinin gelişmeler büyüyen tutmak, bir şey şüphe yok ORM MVC büyük bir kullanımdır (nesne ilişkisel eşleme) denir. Iyi parçası bunu opensource ve etkin bir topluluk olduğu gibi tam çerçeve korumak zorunda değildir olacaktır. Kendimi bir programcı olmak, bizim koduna bağlı büyümek ve bunu yolumuza istiyorum nasıl anlıyorsunuz, olsa: D Ama bu zaten istek elini, xss filtreleme, yönlendirme ve önyükleme yapılandırmaları, vb araçları sunarak zaman kazandırır

Sadece bir düşünce: D