Farklı denetleyiciler genelinde bir form aşamalarını izlemek için en iyi yol - $ _GET veya yönlendirme

1 Cevap php

Ben şu durumun üstesinden gelmek için en iyi nasıl hakkında bir ikilem biraz duyuyorum. Benim şimdiki set up - Ben çoğu kullanıcının evcil hayvanlar ile ilgili ise bu formların bazıları, kullanıcı ve kendi kişisel verilerine özellikle ilgili içeri doldurmak için yaklaşık 10 formu bölümleri vardır bir site, uzun bir kayıt süreci var kullanıcıya özel bir User_Controller formları (kullanıcı / profili, kullanıcı / ev vb gibi örn. yöntemler), ve benzer pet ilgili formları Pet_Controller (örneğin pet / sağlık) işlenir işler. Bu yöntemlerin hepsi tek bir Registration_Controller içine kombine edilmelidir olsun ya da olmasın, emin değilim - Ben bu konuda herhangi bir tavsiye açığım.

Her neyse, benim asıl sorun ben kayıt işlemi her kullanıcının ne kadar ilerlediğini gösteren bir ilerleme çubuğu oluşturmak istiyor. Her form bölümde adresler potansiyel farklı kontrolörler için eşleme edilebileceği gibi, ben bir kişi genel sürecinde de olduğu sahne ayıklamak için temiz bir yol bulmaya çalışıyorum. Ben sadece, her isteği ile, örneğin kullanıcı / profilini bir sahne parametre geçirmek için sorgu dizesi kullanabilirsiniz? Aşama = 1. Potansiyel olarak bunu yapmanın başka yolu yönlendirme kullanmaktır - formun her bölüm için adresler, örneğin registration/stage/1 olarak kurulabilir, registration/stage/2 - o zaman ben sadece uygun denetleyiciye bu adresler harita olabilir / perde arkasında yöntem.

Bu hiç bir mantıklı olursa, herkes benim için herhangi bir tavsiye var mı?

1 Cevap

Ben bir SignupController oluşturarak iyi bir fikir olduğunu düşünüyorum. İlk kullanıcı kaydı ayrı bir süreçtir, ve genel profil yönetimi görevleri ayrı olmalı.

Eğer iyi bir geliştirici ve ince denetleyicileri tutmak ve modelleri yağ oldum, herhangi bir kod tekrarından kaçınmak için mümkün olmalı. Kendinizi çoğaltma bulursanız, bu üstlenmeden düşünmek için muhtemelen iyi bir fikir.

Somut bir örnek olarak, kullanıcının e-posta adresini düşünün. Diyelim ki oldukça sıkı olduğunu diyelim, ve bir kullanıcı e-posta adresini değiştirir her zaman, onlar biraz onay-posta dansı yapmak zorunda. Onların onay linkine tıklayın sonra kaydolma sırasında, kullanıcı kayıt sürecine geri dönmek isteyeceksiniz. Varolan bir kullanıcı e-posta adresini değiştirme olduğunda, bunları başka bir yerde (kendi profil gibi) arazi isteyeceksiniz. Bu onay e-postanın gövdesinde farklı içerik her durumda isteyeceksiniz olasıdır. / User / hem davalarını profile yapmaya çalışıyorum eylem bağlamını anlamaya ve buna göre davranması gereken karmaşıklık bir grup oluşturmaya başlamak için gidiyor.

Daha iyi bir çözüm olduğunu kaydolma genel profil yönetimi farklı etkileşim o kendi modu olduğuna karar etmektir. Bu nedenle, diğer kontrolörler ile modeli ve görünümü kaynakları paylaşan, kendi denetleyici alır.

Her neyse, benim almak bulunuyor.