2011-02-16 12 views
6

से मेल भेजना मुझे जब भी मॉडल या नियंत्रक से मेल भेजना चाहिए, तो मुझे यह समझने में समस्या हो रही है। बात यह है कि नियंत्रक में मैंएमवीसी PHP - मॉडल

जैसे PHP का उपयोग करता हूं।

नियंत्रक में:

if (Post::get()){ 
    $this->model->registerUser(...); 
    $this->model->mailSendUserActivation(); 
    // assign something to view. 
} 

मॉडल में:

public function mailSendUserActivation(){ 
    $mail = new \com\Mail(); 
    // assign stuff to mail from API classes and other functions in model. 
    $mail->send(); 
} 

यह सही है? या मेल वास्तव में नियंत्रक से भेजा जाना चाहिए?

उत्तर

3

आपको आवश्यक होने पर मॉडल से नियंत्रक से डेटा भेजना, डेटा/आदि पढ़ना चाहिए।

10

मॉडल आपको डोमेन मॉडल का वर्णन करना चाहिए।
नियंत्रक उपयोगकर्ता के साथ बातचीत को संभालना चाहिए।
मेल भेजना एक क्रिया है ताकि आपको इसे नियंत्रक में संभालना चाहिए।
यदि ईमेल भेजने के लिए जटिल कोड की आवश्यकता होती है (कुछ पंक्तियों से अधिक कहें) इसे अपने नियंत्रक को पतला और संयोजक रखने के लिए कुछ सहायक वर्ग में निकालने पर विचार करें। इसलिए मैं कुछ सहायक वर्ग विधि में ईमेल भेजने के लिए कोड डालूंगा और इसे केवल नियंत्रक कार्रवाई में कॉल करूंगा।

MVC on wikipedia

+2

इसके अलावा का अच्छा विवरण, देखें परत में अपने मेल शरीर प्रतिपादन यदि संभव हो पर विचार करें। कुछ एमवीसी इसे बहुत आसान बनाते हैं, और यह उस प्रेजेंटेशन को रखता है जहां यह संबंधित है। यह अक्सर फायदे लाता है, उदा। यदि आपके सिस्टम में दृश्य परत में वेब पेजों के लिए एचटीएमएल प्रस्तुत करने के लिए बहुत सी आसान सुविधाएं हैं, तो यह HTML ईमेल को प्रस्तुत करना बहुत आसान बनाता है। –

+0

+1 @ मैट। अच्छी बात –

संबंधित मुद्दे