Üye Controller cepten + MVC tavsiye

1 Cevap php

Ben bir MVC yapısı OOP kullanılarak öğrenme yerken mümkün olduğunca iyi uygulamaları takip etmek çalışıyorum, bu yüzden burada bana biraz rahatsız olduğu şey tavsiye biraz sizinle çocuklar için dönüyorum.

Ben (kendileri esas hakkında veri) doldurmak için üyeleri için farklı formlarda bir dizi olacak bir site yazıyorum, bu yüzden üye ilişkin formların tüm bireysel olarak temsil Üye bir denetleyici kurmaya karar verdik yöntemleri. Bu giriş / çıkış yöntemlerinin yanı sıra, bu yöntemlere ek olarak vb profil verilerini düzenleme içerir, ben de üye kaydedilir iken sitede her sayfada bir sabittir üyenin kontrol paneli widget oluşturmak için bir yöntem var . Ben, tek şey bu denetleyicisi diğer yöntemlerinin tümü aynı bağımlılıkları ve form şablonları var olduğunu, bu nedenle Control_Panel yöntem vb aynı bağımlılıkları yok gibi kurucusuna tüm bu oluşturmak için harika olurdu ama Bu amaçla kurucu kullanın ve bunun yerine her yöntemi bağımlılıkları ve aynı şablon parçacıkları redeclare zorunda değildir. Bu tabii ki ideal değildir ve KURU prensibi takip etmez, ancak üye olarak ilişkili olduğu için, ben Control_Panel yöntemi ile ne yapması gerektiğini merak ediyorum ve ben ilk etapta bu denetleyicisi koymak yüzden.

Ben sadece burada bir şeyler fazla komplike yaşıyorum ve sadece basit bir yardımcı sınıfa Control_Panel yöntemi taşımak için mantıklı mı?

Burada kontrol temel yöntemler şunlardır:

class Member_Controller extends Website_Controller {

    public function __construct() 
    {
        parent::__construct();

        if (request::is_ajax())
        {
            $this->auto_render = FALSE; // disable auto render
        }
    }

    public static function control_panel()
    {
        //load control panel view
        $panel = new View('user/control_panel');

        return $panel;
    }

    public function login()
    {
    }

    public function register()
    {
    }

    public function profile()
    {
    }

    public function household()
    {
    }

    public function edit_profile()
    {

    }

    public function logout()
    {
    }
}

1 Cevap

Ben ne yapardım, tek bir denetleyici her şeyi shoving önlemek için, ve buna göre yerine ayrı işlevsellik - örneğin, böylece üyelerinin tescil, Authentication_Controller, Profile_Controller ve sadece başa çıkmak için bir Registration_Controller olabilir, bu şekilde görselleştirmek için kolaydır uygulamanızın her parçası yerine karışıklık ve bu benim için çalıştı, diğer idame konularda, en azından IMHO, neden sorumlulukların sürü ile tek denetleyici sahip, sorumlu ne.

Kontrol paneli hakkında geri somut soruya dönecek olursak, evet bunun bir eylem değil, eğer özel kontrolörün dışarı almak daha mantıklı, ve sizin de bahsettiğiniz gibi tüm tekrarlanabilir ekran mantığı için bir yardımcı sınıf olabilir. Şey kontrolörün bağlamında mantıklı değilse, dışarı almak.

Orada MVC uygulama geliştirme / tasarlama hayatınızı kolaylaştıracak gibi Kek ve Zend FW gibi bazı serin çerçeveler vardır, ve bu out-of-the-box çalışmak bileşenleri zengin bir set ile birlikte gelir.

MVC ve Fw ait olsa zorunlu değil, bütün kapsam ve özel ihtiyaçları söz konusu olduğunda, bazı zamanlar onlar, büyük bir yardım ben bunları kullanmak çoğu zaman, ama bazen overcomplicate şeylerdir. Basit tutun ;)

Cheers, M.