php - How to Zend Framework with Propel ORM -


मैं propel के साथ Zend framework को एकीकृत करना चाहते हैं। मैंने अतीत में सिद्धांत के एकीकरण को देखा है, लेकिन ऐसा लगता है कि प्रक्षेपण थोड़ा अलग तरीके से किया जाता है।

प्रगति में दो चीजें पहले से ही चल रही हैं: पहले यह है कि propel < / कोड> में स्वयं के ऑटोोलॉडर शामिल हैं, जिसका अर्थ है कि मुझे प्रहस्त करें में Zend Framework की फ़ाइल सिस्टम संरचना की कोशिश और मजबूर करने की ज़रूरत नहीं थी I दूसरा यह है कि प्रोपेल आपको आसानी से अपनी फ़ाइलों को अपनी जगह में डाल देने के लिए डिज़ाइन किया गया है, जब तक कि आप अपने पथ को सही ढंग से अपडेट करें ठीक से अपडेट करते हैं इससे प्रक्रिया को मैंने सोचा था कि इससे ज्यादा आसान होगा।

लेकिन यह पोस्ट पूर्ण विवरण में नहीं आता है कि यह कैसे खत्म हो जाएगा। मुझे लगता है कि मुझे Zend Bootstrap.php और application.ini को संशोधित करना होगा (मैं नवीनतम Zend 1.10 का उपयोग कर रहा हूं .8 ), लेकिन मुझे Zend के नवीनतम संस्करण Propel के नवीनतम संस्करण पर कोई पद ढूंढना मुश्किल है I

कोई भी इस पर टिप्पणी कर सकता है कि यह कैसे आसान तरीका है?

दूसरा प्रश्न: क्या propel में एक कमांड लाइन अंतरफलक है या क्या मुझे इसकी आवश्यकता नहीं है यदि मैं Zend

के कमांड लाइन इंटरफ़ेस का उपयोग कर रहा हूँ

मैंने सिम्फनी के बाहर प्रोपेल का उपयोग किया है, लेकिन मुझे पता है कि अपेल के बारे में पता है लेकिन मुझे लगता है कि रनटाइम सामान के लिए निम्नलिखित काम करेगा:

अपने बूटस्ट्रैप में

 < कोड> सार्वजनिक फ़ंक्शन initPropel () {require_once 'propel.php'; प्रेरित :: init ($ इस- & gt; getOptions ( 'propelConfig')); // इसलिए हम रजिस्ट्री से कनेक्शन आसानी से वापस प्राप्त कर सकते हैं प्रस्ताव: getConnection (); }  

अपने application.xml में (ifi के लिए अनुकूल करें यदि वह है जो आपको पसंद है)

  & lt; अनुप्रयोग कॉन्फ़िगरेशन xmlns: zf = "http: // ढांचे .zend.com / xml / Zend-config-xml / 1.0 / "& gt; & LT; उत्पादन & gt; & Lt;! - अन्य सामान - & gt; & LT; includePaths & gt; & Lt; propelRuntime & gt; & lt; zf: कॉन्स्ट zf: name = "APPLICATION_PATH" />/../library/propel/runtime</propelRuntime> & Lt; / includePaths & gt; & Lt; propelConfig & gt; & lt; zf: कॉन्स्ट zf: name = "APPLICATION_PATH" />/configs/propel-runtime.php</propelConfig> & Lt;! - अन्य सामान - & gt; & Lt; / उत्पादन & gt; & Lt; / applicationConfiguration & gt;  

बेशक यह वास्तव में पूर्ण एकीकरण नहीं है जहां तक ​​आईएम चिंतित है ... लेकिन आपको बहुत परेशानी के बिना उठने और चलाने के लिए पर्याप्त होना चाहिए। अगर इस प्रोजेक्ट पर आपके लिए निवेश का मूल्य है तो मैं आगे बढ़कर एक एप्लीकेशन रिसोर्स बनाना चाहूंगा। प्रचालित बिल्ड को चलाएं और संकलित php सरणी पर एक नज़र डालें। उसके बाद उसमें एक्सएमएल या आईआईआई में मैप करें और इसे सीधे अपने एप्लिकेशन कॉन्फ़िग फाइल में एम्बेड करें उसके बाद इसे संभाल करने के लिए अपना initPropel संशोधित करें:

  सार्वजनिक फ़ंक्शन initPropel () {require_once 'propel.php'; प्रेरित :: setConfiguration ($ इस- & gt; getOptions ( 'propelConfig')); प्रेरित :: प्रारंभ (); // इसलिए हम रजिस्ट्री से कनेक्शन आसानी से वापस प्राप्त कर सकते हैं प्रस्ताव: getConnection (); }  

यदि आप चाहते थे कि आप सरणी को सीधे विन्यास फ़ाइल से पार्स नहीं कर पाए, बल्कि इसके बजाय एक PropelConfiguration ऑब्जेक्ट बनाएँ और अपने सभी मापदंडों को क्रिएटिक रूप से सेट करें, तब इसे सेट कॉन्फ़िगरेशन से गुजरता है।

बिल्ड टूल्स के लिए, Ive को Zend_Tool के साथ एकीकृत करने का एक परीक्षण किया गया है इसलिए मैं phing या कस्टम पर भरोसा करते हैं सभी के लिए खोल स्क्रिप्ट जब तक आप कई स्तरों पर प्रोजेक्ट का उपयोग करने की योजना नहीं बनाते हैं, तब तक इस स्तर के एकीकरण को लागू करने के लिए समय नहीं है। मैंने इसे कुछ समय पहले सिद्धांत 1.x के साथ किया था और मुझे कुछ किक करने के लिए कुछ सप्ताह लग गए: -)


Comments