श्रेणी: Zend फ्रेमवर्क

Zend फ्रेमवर्क के प्रति मॉड्यूल आधारित सेटिंग्स

, शुक्रवार 1 जनवरी 2010 10:40 बजे

मैं इस पोस्ट है जो कम विन्यास की आवश्यकता है है करने के लिए एक follow बनाया है, कृपया देखें Zend फ्रेमवर्क - मॉड्यूल के आधार लेआउट.

जब Zend फ्रेमवर्क का उपयोग के साथ लेआउट लिपियों प्रत्येक भाग के लिए मॉड्यूल, अपनी स्पष्ट है कि अगर आप एक ही आवेदन से विभिन्न (उप) साइटों को चला रहे हैं तुम जरूरी ही नहीं करना चाहती. मैं निम्नलिखित साइट संरचना के साथ जाने का फैसला किया:

  / आवेदन
     / नियंत्रकों
         ...
     / मॉडल
     / मॉड्यूल
         / डिफ़ॉल्ट
             / नियंत्रकों
             लेआउट /
                 / लिपियों
             / दृश्य
                 / लिपियों
         / AnotherModule
             ...
     / लिपियों

समस्या की स्थापना था एक प्रति मॉड्यूल के आधार पर लेआउट लिपियों. जवाब एक कार्य हेल्पर का उपयोग के माध्यम से आया था. प्रति - मॉड्यूल के आधार पर लेआउट की स्थापना के तीन चरण होते हैं:

  1. Application.ini (या समान विन्यास सेटअप):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ / व्यवस्थापक / / लेआउट लिपियों मॉड्यूल"
     default.resources.layout.layoutPath = "/ मॉड्यूल / डिफ़ॉल्ट / / लेआउट लिपियों" APPLICATION_PATH
     member.resources.layout.layoutPath = "/ मॉड्यूल / सदस्य / / लेआउट लिपियों" APPLICATION_PATH
     affiliate.resources.layout.layoutPath = "/ मॉड्यूल / / सहबद्ध / लेआउट लिपियों" APPLICATION_PATH 
  2. अपनी लड़ाई हेल्पर बनाएँ:
      <Php?
     / **
      * प्रति मॉड्यूल के आधार पर लेआउट पथ समूह
      *
      * लेखक @ लॉयड Watkin <lloyd@evilprofessor.co.uk>
      * @ 2010/01/01 के बाद
      * /
     वर्ग Pro_Controller_Action_Helper_SetLayoutPath
         Zend_Controller_Action_Helper_Abstract फैली
     {
         / **
          * मॉड्यूल पर आधारित लेआउट पथ समूह
          * /
         सार्वजनिक समारोह (preDispatch)
         {
        	 $ मॉड्यूल = $ इस -> getRequest () -> getModuleName ();
    
    	     अगर (बूटस्ट्रैप $ = $ इस -> (getActionController)
    	                        -> GetInvokeArg ('बूटस्ट्रैप')) {
    
    	         Config $ = $ bootstrap-> getOptions ();
    
    	         अगर (isset [मॉड्यूल $] (config डॉलर ['संसाधनों'] ['लेआउट'] ['layoutPath'])) {
    	             LayoutPath = $
    	                  $ Config [$ मॉड्यूल] ['संसाधनों'] ['लेआउट'] ['layoutPath'];
    	             $ इस -> (getActionController)
    	                  -> GetHelper ('लेआउट')
    	                  -> SetLayoutPath (layoutPath $);
    	         }
        	 }
         }
     } 
  3. और अंत में कार्रवाई सहायक बूटस्ट्रैप:
      ...
         / **
          * प्रति मॉड्यूल के आधार पर सेट लेआउट लिपियों
          * /
         संरक्षित समारोह (_initLayoutHelper)
    	 {
    	     $ इस -> बूटस्ट्रैप ('frontController');
    	     लेआउट = $ Zend_Controller_Action_HelperBroker: addHelper (
    	         नई Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

सिद्धांत: datetime अब डिफ़ॉल्ट ()

द्वारा , बुधवार 30 दिसंबर, 2009 6:30

मैं एक नए के लिए एक डेटाबेस स्कीमा सेटिंग के साथ संघर्ष कर रहा है Zend फ्रेमवर्क परियोजना. मैं हूँ का उपयोग उपयोग करने के लिए कोशिश कर रहा सिद्धांत अपने डेटाबेस मॉडल के लिए ORM. मैं इतना है कि यह मुझे एक `` datetime स्तंभ के लिए डिफ़ॉल्ट दिनांक और समय सेट करने के लिए अनुमति दी, जैसे जब एक नया संदेश है मैं वर्तमान टाइमस्टैम्प जोड़ने स्कीमा सेट की जरूरत है. ज्यादा खोज और प्रयोग करने के बाद मैं हल मिल गया तो मैं इसे साझा कर रहा हूँ.

बस अपने स्कीमा YAML फ़ाइल में निम्न कार्य करें :

 संदेश:
   actAs:
     Timestampable:
       निर्मित:
         नाम: created_at
         प्रकार: टाइमस्टैम्प
         प्रारूप: Ymd एच: i:
       अद्यतन:
         नाम: last_updated
         प्रकार: टाइमस्टैम्प
         प्रारूप: Ymd एच: i:
   कॉलम:
     आईडी:
       प्रकार: पूर्णांक
       प्राथमिक: सच
       autoincrement: सच
     नाम: स्ट्रिंग (255)
     ईमेल: स्ट्रिंग (300)
     संदेश: स्ट्रिंग (2000)

दूसरी तरफ अगर आप एक `updated_at` स्तंभ नहीं करना चाहते हैं आप निम्नलिखित का उपयोग कर सकते हैं:

 संदेश:
   actAs:
     Timestampable:
       निर्मित:
         नाम: created_at
         प्रकार: टाइमस्टैम्प
         प्रारूप: Ymd एच: i:
       अद्यतन:
         विकलांग: सच
   कॉलम:
     आईडी:
       प्रकार: पूर्णांक
       प्राथमिक: सच
       autoincrement: सच
     नाम: स्ट्रिंग (255)
     ईमेल: स्ट्रिंग (300)
     संदेश: स्ट्रिंग (2000)

Zend फ्रेमवर्क: बुनियादी बातों - समीक्षा

, शनिवार 28 नवम्बर 2009 10:42 बजे

मेरा नियोक्ता हाल ही में हम डेवलपर्स के एक समूह के लिए भुगतान करने के लिए ले Zend फ्रेमवर्क : बुनियादी बातों कोर्स, यहाँ मैं दूसरों के लिए पाठ्यक्रम पर मेरे विचार और राय संक्षेप हूँ. समय बचाने के लिए देख उन लोगों के लिए, यहाँ मेरे सारांश:

डेवलपर्स, जो समय पर देखने नहीं पड़ा है Zend फ्रेमवर्क आप प्रमुख क्षेत्रों के लिए शुरू करने और पर्याप्त जानकारी देने के क्रम में जारी रखने के लिए रूपरेखा का एक अच्छा समग्र चित्र प्रदान करता है: इस पाठ्यक्रम (बुनियादी बातों Zend फ्रेमवर्क) के लिए. उन जो समय बिताया है ढांचे को देख और एक या दो ट्यूटोरियल बाद के लिए इस पाठ्यक्रम के बहुत से परे प्रदान नहीं करता है .

पृष्ठभूमि

मैं एक किया गया है PHP के आसपास 5-6 साल के लिए डेवलपर, और Zend फ्रेमवर्क के साथ एक घटक के आधार पर पिछले 6 महीनों से अधिक काम शुरू कर दिया है. मैं विकसित किया है और / या छोटे Zend फ्रेमवर्क के एक जोड़े पर एक डेवलपर MVC sites. मैं ईमानदार हो जाएगा, मैं को देखने के एक कोडन बिंदु से दूसरे चौखटे के लिए जोखिम की एक बड़ी राशि नहीं था, लेकिन कई खर्च घंटे परियोजना वेबसाइटों शोध और them. मूल्यांकन ढांचे और आसपास के समुदाय Zend फ्रेमवर्क यह काफी रोमांचक है और वहाँ के लिए जहां इसकी जा रहा में विशाल संभावनाओं लग रहे हो.

पाठ्यक्रम के बारे में

बेशक 9 दो घंटे WebEx सत्र में दिया है (बीच में एक 10 मिनट का ब्रेक के साथ). समय किसी भी समय पर चर्चा के साथ Zend द्वारा प्रदान की स्लाइड्स का एक सेट के माध्यम से जा रहा करने के लिए खर्च किया जाता है. आप प्रशिक्षक से बात करने के लिए एक माइक्रोफोन का उपयोग कर सकते हैं, लेकिन ईमानदार होना मुझे नहीं देखा था किसी चैट विंडो से अधिक कुछ का उपयोग करें. इसके अलावा एक VMWare Ubuntu मशीन प्रदान की जाती है कि उदाहरण कोड है और परियोजनाओं Zend स्टूडियो के एक परीक्षण संस्करण की स्थापना की. या तो एक एकीकृत वीओआईपी समाधान पर, या आप एक संख्या में दुनिया भर में कई डायल के उपयोग में डायल कर सकते हैं पाठ्यक्रम नेता attendees करने के लिए वार्ता.

दौरान सामग्री एक नमूना गेस्टबुक आवेदन में शीर्षक से पहले फ्रेमवर्क की एक संक्षिप्त सिंहावलोकन और MVC पैटर्न के होते हैं. चर्चा का प्रदर्शन bootstrapping, Zend_Application, DB टेबल्स, डेटाबेस का उपयोग, प्रपत्र, फ़िल्टरिंग, एसीएल, मान्य, आदि, आदि मूलतः आप एक चल रहा है सब समय के ऊपर एक बुनियादी साइट तुम्हें देने के लिए उपकरणों की आवश्यकता होगी सभी विषयों को कवर जाओ और ढांचे में और अधिक उन्नत मिल (हालांकि यह राशि समय के बहुत 'वेबसाइट देखें).

समय अप करने के लिए कुछ उदाहरण कोड, और 'गेस्टबुक और सरल' विकी 'आवेदन विकसित करने के लिए दिया जाता है. निजी तौर पर मुझे लगा कि कोड या प्रत्येक बॉक्स उपलब्ध कराने और फिर हमें पूछ विकसित है क्या अनिवार्य रूप से एक प्रतिलिपि था बगल में वास्तव में एक अच्छा सीखने का अनुभव प्रदान नहीं करता था. मैं के लिए एक समान अनुप्रयोग विकसित करने के लिए पसंद होता है, लेकिन समान नहीं है. उदाहरण के आवेदन करने के लिए एक गाइड को संदर्भित होने के लाभ के साथ. वैकल्पिक रूप से प्रदर्शक के साथ खरोंच से अनुप्रयोगों के निर्माण संभवतः के बारे में क्यों और कैसे अधिक से अधिक प्रश्नों के नेतृत्व में, इस प्रकार ढांचे के एक बेहतर समझ दे, सब के बाद आप कोर्स के बाद विशेष देख सकते हैं.

पिछले व्याख्यान / प्रशिक्षक से मदद और मार्गदर्शन के साथ विकी आवेदन पर काम करने की शामिल है. पाठ्यक्रम प्रतिक्रिया के बाद लिया गया था, यह जरूर है कि Zend प्रतिक्रिया बहुत गंभीरता से लेता है के माध्यम से कई बार जोर दिया गया वास्तव में जाहिरा तौर पर हमारे पाठ्यक्रम के संस्करण काफी नया था. कंपनी में अन्य डेवलपर्स के कुछ पाठ्यक्रम ले जाएगा जल्द ही तो यह देखने के लिए अगर यह हुआ है दिलचस्प हो जाएगा.

पाठ्यक्रम शैली अनौपचारिक था, प्रतिक्रिया और उपस्थितगण और प्रशिक्षक के बीच सहयोग के लिए अनुमति दी. बेशक नेता अनुकूल था, approachable (ईमेल पते प्रश्नों के लिए साझा किया गया), और स्लाइड से अपनी प्रस्तुति, whilst एक अस्थिर सा ढांचे में पूरी तरह सक्षम लग रहा था. उन्होंने स्पष्ट रूप से कोई है जो कोई है जो बेशक सिखाने के लिए सिखाया जाता है बजाय एक नियमित आधार पर ढांचे का इस्तेमाल किया था, मैं उस संबंध में 'असली दुनिया' के अनुभव को पसंद आया.

कुल मिलाकर लग रहा है

कुछ मायनों में मैं बिल्कुल समय की बर्बादी पाया है, दूसरों में यह बहुत आसान था. उम्मीद है कि मैं स्पष्ट रूप से भर में मेरे कारण मिलता है, और शायद सोचा या उपयोगी प्रतिक्रिया के लिए कुछ खाना (मुझे जानने यह संभावना नहीं है!) प्रदान.

खुद के लिए बहुत कम स्तर पर इस पाठ्यक्रम के उद्देश्य से किया गया था. Quickstart गाइड के माध्यम से चला गया करने के बाद, लड़ाई में रोब एलेन Zend फ्रेमवर्क पढ़ा है, और ढांचे के एक छोटे से मैं वास्तव में कुछ भी नहीं मिला बहुत ज्यादा साथ काम किया. मैं के पाठ्यक्रम quickstart के अंत से उठा और अतिरिक्त कौशल विकसित पसंद आया होगा.

और उस पहलू में पाठ्यक्रम प्राप्त यह क्या बाहर सेट करना है: उस ने कहा, बेशक शीर्षक स्पष्ट रूप से राज्य "बुनियादी बातों Zend फ्रेमवर्क" करता है . विकास दल है कि समय खर्च नहीं ढांचे में देख के अन्य सदस्यों के उत्साह के साथ प्रत्येक सत्र समाप्त हो गया और सवाल है जो वास्तव में देखने के लिए अच्छा था पूछा.

सभी खो दिया है, यह अच्छा नहीं था करने के लिए समय बिताने के ढांचे की बुनियादी विवरण की पुष्टि और क्षेत्रों में जहां मैं 100% नहीं था में सवालों के एक जोड़े को पूछना था. यह भी समय है कि मैं प्रत्येक दिन बैठ जाओ और ढांचे और भविष्य की परियोजनाओं का उपयोग कर, मैं अन्यथा (आप अपनी कंपनी कि करने के लिए सहमत कल्पना कर सकते हैं?) करने में सक्षम नहीं होता कुछ कोडिंग के बारे में सोचना है). पिछले नहीं बल्कि कम से कम तुम भी Zend से एक अच्छा प्रमाण पत्र का कहना है कि आप (हालांकि ईमेल द्वारा) पाठ्यक्रम में भाग लिया.

Zend फ्रेमवर्क प्रमाणन

यह एक सवाल है कि कोर्स के दौरान मन में आ रहा रखा था, यह मुझे प्रमाणीकरण के लिए तैयार होगा? जल्दी आसान है एक शानदार नहीं है. पाठ्यक्रम प्रशिक्षक अतिरिक्त सलाह है कि प्रमाणीकरण के लिए तुम सच में दिन पर दिन के आधार पर एक रूपरेखा चाहिए का उपयोग किया हैं और बहुत आरामदायक है और इसके उपयोग और तरीके में विश्वास महसूस के साथ उस पर काफी स्पष्ट था.

सारांश

को देखते हुए सब कुछ मैं ऊपर लिखा है, मैं दो आसान गोली अंक में सब कुछ सारांशित हूँ:

  • नई Zend फ्रेमवर्क: इस कोर्स वास्तव में आप क्या उम्मीद थी, करता है यह आप ढांचे के लिए एक अच्छा परिचय और मूल बातें जिस से आप का निर्माण कर सकते हैं पर एक अच्छा ग्राउंडिंग देता है. पाठ्यक्रम के लिए ब्याज और डेवलपर्स के बीच ढांचे के लिए उत्साह उत्पन्न लगता है.
  • प्रयुक्त Zend फ्रेमवर्क: हालांकि यह अच्छा था करने के लिए बहुत मूल के कुछ है, मैं समय और प्रयास लगा और धन किनारे करने के लिए पाठ्यक्रम के बेहतर कहीं और खर्च सकता है किया गया ले . यह see Zend के लिए अच्छा हो सकता है एक नए उच्च स्तर के पाठ्यक्रम बनाने के डेवलपर्स को अगले स्तर तक ले - कम से कम प्रमाणीकरण और परे मानक के लिए कि मैं तुरंत हस्ताक्षर करेंगे.

Zend फ्रेमवर्क का उपयोग करने DB के लिए प्रवेश करें

, मंगलवार 14 अप्रैल 2009 9:06 बजे

मैं के लिए एक साइट को पाने के लिए प्रबंधित किया है और के साथ चल रहे Zend फ्रेमवर्क , सब कुछ अच्छी तरह से करने के लिए लॉगिंग है / FireBug FirePHP तो अगले कदम के लिए DB के लिए लॉग इन करना था. मैं भी के लिए कुछ अतिरिक्त जानकारी लॉग उपयोगकर्ता एजेंट, दिनांक, और समय मिलता है, और पोस्ट चर जैसे ढांचे का उपयोग करना चाहता था. तो एक यहाँ थोड़ा मैंने क्या किया पुस्तिका का विस्तार करने के लिए:

// Set up logging to DB
$db = Zend_Registry ::get('dbAdapters');
$db = $db['general'];

$ = सरणी ('प्राथमिकता' => 'प्राथमिकता' columnMapping
'संदेश' => 'संदेश'
'Datetime' => 'टाइमस्टैम्प',
'User_agent' => 'user_agent',
'Get_vars' => 'get_vars'
'Post_vars' => 'post_vars'
= 'साइट'> 'साइट'
);

WriterDb डॉलर = नए Zend_Log_Writer_Db ($ db, 'error_logging', columnMapping $);
$ लकड़हारा = नई Zend_Log (writerDb $);

$ लकड़हारा -> setEventItem ('datetime', तिथि ('Ymd एच: i:'));
$ लकड़हारा -> setEventItem ('user_agent, $ _SERVER [' HTTP_USER_AGENT ']);
$ लकड़हारा -> setEventItem ('get_vars', print_r ($ _GET, सच));
$ लकड़हारा -> setEventItem (post_vars ', print_r ($ _POST, सच));
$ लकड़हारा -> setEventItem ('साइट', साइट);

$ लकड़हारा -> जानकारी (सूचना संदेश ');

कहाँ $ columnMapping में सरणी चाबियाँ मेरे कॉलम नाम हैं. 'प्राथमिकता' और 'संदेश' से समझ रहे हैं लेकिन अतिरिक्त फ़ील्ड्स Zend_Log_Writers मुझे कुछ अतिरिक्त जानकारी देने के लिए जोड़ा गया था.

जाहिर है यह मानता है कि आप काम कर रहे लॉगिंग अन्य प्रथम लेखकों में से एक का उपयोग कर:)













पैनोरमा थीम द्वारा Themocracy

5 आगंतुकों ऑनलाइन अब
4 मेहमानों, 1 बॉट, 0 सदस्यों
03:08 am UTC पर 14: अधिकतम आज आगंतुकों
इस महीने: 17 2011/1/9 11:27 बजे UTC
इस वर्ष: 130 28-03-2011 10:40 बजे UTC
सभी समय: 28-03-2011 10:40 बजे UTC 130