मेरे पास एक नया Customer
बनाने के लिए एक फॉर्म है। एक ग्राहक के पास मोबाइल नंबर हो सकता है। मोबाइल नंबर +
या 00
उपसर्ग के बिना जारी किया जाना चाहिए जो उपयोगकर्ता टाइप कर सकते हैं। इसे आसानी से पूरा किया जा सकता है:सिम्फनी में बाध्य फॉर्म डेटा को संशोधित करने के लिए सुझाई गई जगह कौन सी है?
$customer->setMobile(preg_replace("/^(\+|00)/", '', $customer->getMobile()));
इस कोड को रखने के लिए सबसे अच्छी जगह कौन सा है?
- कॉल इकाई प्रबंधक से पहले
CustomerController
के अंदर और इकाई को बनाए रखें। क्या यह वास्तव में एमवीसी पैटर्न में नियंत्रक का मामला है? - एक
SanitizeCustomerSubscriber
का उपयोग करना औरFormEvents:POST_BIND
घटना - को सुन एक
CustomerSanitizer
सेवा
कोई अन्य विचार का उपयोग? बेशक मैं सामान्य रूप से डेटा मैनिपुलेशन के बारे में बात कर रहा हूं, मोबाइल नंबर सिर्फ एक उदाहरण है: स्वच्छता के लिए फ़ील्ड केवल एक से अधिक हो सकता है।
मेरे पास BookController ** में ** पंजीकरण खाता है जो फ़ॉर्म डेटा में हेरफेर करने के लिए समान PRE_SUBMIT ईवेंट का उपयोग करता है। मैं अच्छी तरह से काम करता हूँ। लेकिन, सुरक्षा नियंत्रक ** में ** लॉगिन एक्शन बनाने के बाद, आज जब भी मैं लॉगिन कार्रवाई सबमिट करता हूं, तो यह (प्रोग्राम नियंत्रण) ** कार्यवाही के लिए बनाई गई ** PRE_SUBMIT ** ईवेंट पर जाता है। पंजीकरण कार्रवाई के लिए बनाए गए PRE_SUBMIT ईवेंट के साथ इस लॉगिन कार्रवाई में बाधा से कैसे बचें? ** नोट: ** दोनों नियंत्रक एक ही इकाई वर्ग का उपयोग करते हैं। – webblover