मेरी नई पर काम जारी है (धीरे ) चहचहाना आधारित अनुप्रयोग . बैंक छुट्टियों के अगले दो से अधिक मैं इस परियोजना पर फिर से जा गति (में वर्तमान में अद्भुत मौसम के बावजूद) प्राप्त की उम्मीद है. वैसे भी, मेरा अगला काम के लिए एडाप्टर के लिए एक प्रमाणीकरण Zend फ्रेमवर्क बनाने के लिए किया गया . मैं एक काम लॉगिन कार्यान्वयन था, लेकिन Auth एडाप्टर के लिए Zend फ्रेमवर्क में एक बूंद होने के एक आकर्षक प्रस्ताव की तरह लग रहा था, इसलिए मैंने इसे बनाया ....
(मैं के माध्यम से जाना नहीं जा रहा हूँ OAuth या चहचहाना के साथ अपने आवेदन दर्ज गाइड के सैकड़ों और किसी भी तरह अपनी एक काफी सरल प्रक्रिया है .)
जारी रखें पढ़ने 'OAuth / Zend फ्रेमवर्क के लिए चहचहाना Auth एडाप्टर' »
लेख , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क , Zend_Auth , Zend_Auth_Adapter , Zend_Oauth , Zend_Oauth_Consumer |
एडाप्टर , auth , प्रमाणीकरण , OAuth , PHP , चहचहाना , Zend Zend फ्रेमवर्क , Zend_Auth_Adapter_Interface , Zend_Auth_Result , Zend_Oauth_Consumer , Zend_Session , ZF
सब होने के बावजूद चहचहाना नफरत पल में, मैं के लिए एक नई चहचहाना अनुप्रयोग आधारित बनाने के लिए बाहर सेट है. कोई है जो कई खातों के प्रबंधन (दोनों व्यक्तिगत और अपने दान के काम के लिए) मैं कुछ समय के लिए किया गया है एक उपकरण की जरूरत है कि मैं सिर्फ लिखने के लिए कर रहा हूँ चारों ओर हो रही (है कि निकट भविष्य में और अधिक ...) होने के नाते.
मैं पढ़ा है Zend_Oauth_Consumer और इसे का उपयोग कर चहचहाना के साथ बातचीत के लिए प्राधिकरण पाने के लिए इस्तेमाल किया जा सकता है OAuth. सभी अच्छी तरह से और अच्छा है, मैं अपना एक्सेस कुंजी है और मैं ख़ुशी से दूर एक उपयोगकर्ता की ओर से पोस्ट कर सकते हैं. संसाधनों का बहुत वहाँ से बाहर यह करने के लिए तो मैं बोर लोगों को नहीं होगा.
अगले कदम के लिए लोगों को वेबसाइट पर लौटने के लिए अनुमति था, में प्रवेश करें और अपने खाते को संशोधित. यह वह जगह है जहाँ मैं एक मामूली समस्या तक पहुँच है. वेबसाइटों पर कोड उदाहरण का उपयोग का मतलब है कि मैं चहचहाना पहुँच प्राधिकरण के लिए चाहते हैं मुझे फिर प्रत्येक प्रवेश के लिए, पूछ अच्छा नहीं है. मैं जो कुछ भी मुझे सिर्फ प्रमाणीकरण अनुरोध करने के लिए अनुमति होगी नहीं देख सकता ढांचे के माध्यम से स्कैन. यह वहाँ नहीं अपने कहते हैं, नहीं है, लेकिन वहाँ के लिए एक प्रमाणीकरण तंत्र है कि पहले से ही पहुँच टोकन जानने के बिना लागू किया जा सकता है होना प्रतीत नहीं किया था.
विकल्प के लिए साइट आधारित एक लॉग में या किसी भी तरह ग्राहक (कोर्स के एन्क्रिप्टेड) पर उपयोगकर्ता की पहुँच टोकन की दुकान को लागू किया गया. इनमें से न तो एक अच्छा / उपयुक्त समाधान की तरह लग रहा था.
"चहचहाना के साथ में साइन इन करें" Zend फ्रेमवर्क का उपयोग कर पढ़ने जारी रखें »
लेख , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क , Zend_Oauth , Zend_Oauth_Consumer |
आवेदन , प्रमाणीकरण , प्राधिकरण , रूपरेखा , OAuth , PHP , चहचहाना के साथ में साइन इन करें , टोकन , चहचहाना , Zend Zend फ्रेमवर्क , Zend_Oauth , Zend_Oauth_Consumer
सारांश
इस बल्कि साधारण दृश्य सहायक मैं एक प्रतिपादन के लिए बनाया पर चर्चा के लिए एक त्वरित पोस्ट है Zend फ्रेमवर्क शैली दृश्य फ़ाइल केवल अगर यह मौजूद है. आम तौर पर कोड पूछ रेंडर करने के लिए एक फ़ाइल है जो मौजूद नहीं है एक अपवाद फेंक देंगे. : सौंपनेवाला () विधि जो निर्धारित किया है कि फ़ाइल मौजूद है और यदि हां, तो renders, अन्यथा सिर्फ एक खाली स्ट्रिंग देता: इसलिए मैं Zend_View के लिए एक आवरण बनाया.
पढ़ना जारी रखें 'Zend फ्रेमवर्क: सौंपनेवाला यदि मौजूद' »
कम्प्यूटिंग , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क , Zend_View , Zend_View_Helper |
वर्ग , रूपरेखा , html , PHP , सौंपनेवाला , देखने , देखने सहायक , Zend Zend फ्रेमवर्क , zend_view , Zend_View_Helper_Abstract
Http://www.flickr.com/photos/daniello/ से फोटो
सारांश
यहाँ मैं HTML टैग को संशोधित करने के लिए एक दृश्य के सहायक के निर्माण पर चर्चा, और अधिक विशेष रूप से शरीर टैग. बनाया देखने के सहायक प्रधान * / मानक में पहले से ही inlineScript दृश्य सहायकों के लिए इसी तरह की कार्यक्षमता की अनुमति देता है Zend फ्रेमवर्क देखने सहायकों, लेकिन टैग विशेषताओं के कार्यक्रम संशोधन की अनुमति देता है. निश्चित रूप से बाहर डेमो पृष्ठ और github पर कोड की जाँच करें.
प्रेरणा
मानक Zend फ्रेमवर्क देखने सहायकों सांसारिक दृश्य कार्य को व्यवस्थित बनाने और बदसूरत (हैक्स लागू किए बिना संशोधन / लिपियों और देखने के भीतर से शीर्ष ब्लॉक (आमतौर पर लेआउट में आयोजित) के अलावा के लिए अनुमति के लिए एक उपकरण के एक महान सेट कर रहे हैं यानी सिर * / inlineScript देखने) सहायकों.
इस अवसर पर मैं उदाहरण के लिए एक जोड़ने <body> टैग संशोधनों, बनाने की जरूरत मिल गया है onload, वर्ग, या शैली विशेषता आदि मैं भी अन्य दृश्य सहायकों के भीतर से इस प्रदर्शन करने में सक्षम होना आवश्यक है. इस निम्नलिखित काल्पनिक उदाहरण ले लो ...
वेबसाइट एक्स पर, कुछ पन्नों डोजो मानक शामिल हैं रूपों. ये dojo रूपों सुविधा के लिए देखने के सहायकों के भीतर आयोजित की जाती हैं. आम तौर पर यह dojo को शामिल नहीं किया गया फैसला किया है सीएसएस शरीर टैग में कक्षाओं और केवल उन्हें जोड़ने जब आवश्यक. वहाँ शायद पृष्ठ पर कई दृश्य सहायकों कि शरीर टैग के लिए अपनी स्वयं की विशेषताएँ जोड़ने की जरूरत है. (मैंने कहा कि यह काल्पनिक था)
कोड मेरे GIT रिपोजिटरी @ github और डेमो पृष्ठ के में उपलब्ध है .
जारी रखें पढ़ने 'Zend फ्रेमवर्क शारीरिक टैग देखें हेल्पर' »
PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क , Zend_Registry , Zend_View_Helper |
शारीरिक , रूपरेखा , सहायक , html , PHP , देखने , देखने सहायक , Zend Zend फ्रेमवर्क , Zend_Registry , Zend_View_Helper , Zend_View_Helper_Placeholder_Container_Standalone
क्या क्या है निर्भरता इंजेक्शन (डि) ?
निर्भरता इंजेक्शन एक तकनीक है कि एक सॉफ्टवेयर अनुप्रयोग के भीतर शिथिल युग्मित वस्तुओं के लिए अनुमति देता है है. आम तौर पर अगर किसी ऑब्जेक्ट के लिए यह आंतरिक कसकर युग्मित सिस्टम के लिए अग्रणी instantiated होगा दूसरे की कार्यक्षमता के लिए उपयोग की आवश्यकता है. निर्भरता इंजेक्शन को लागू करने से हम उपयोग के लिए आवश्यक तैयार वस्तुओं (- आईओसी कभी कभी भी नियंत्रण उलटा कहा जाता है) इंजेक्षन. निम्न उदाहरण लें:
<Php?
वर्ग DecisionMaker {
सार्वजनिक समारोह makeDecision ($ सरणी पैरामीटर) {
/ / डेटाबेस एडाप्टर की आवश्यकता
डी पी = नए (DecisionParameters) $;
$ ParameterScore = $ DP-> getScore ($ पैरामीटर);
/ * ... कुछ अधिक निर्णय तर्क ... * /
वापसी ($ parameterScore> 50);
}
} कोड के इस टुकड़े को कसकर DecisionParameters वस्तु के लिए युग्मित किया जा कहा है. एक शिथिल युग्मित फैशन में ऊपर पुनर्लेखन हम कुछ की तरह होता ....
<Php?
वर्ग DecisionMaker {
निजी $ _dp;
सार्वजनिक समारोह __construct ($ डी पी) {
$ इस -> _dp = डी पी $;
}
सार्वजनिक समारोह makeDecision ($ सरणी पैरामीटर) {
$ ParameterScore = $ इस -> _dp> getScore ($ पैरामीटर);
/ * ... कुछ अधिक निर्णय तर्क ... * /
वापसी ($ parameterScore> 50);
}
} Whilst हम ऐसी है कि हर बार एक वस्तु instantiated है हम भी अपनी निर्भरता इन्स्तांत और में ये भी पारित किया है जटिलता जोड़ रहे हैं शिथिल युग्मित कोड का लाभ पाने. उदाहरण के लिए, इस:
$ पसंद = नए DecisionMaker ();
गूंज $ पसंद -> makeDecision (सरणी ('प्रयास' => 'कम', 'वापसी' => 'उच्च')); अब बन जाता है:
डी पी = नए (DecisionParameters) $;
$ पसंद = नए DecisionMaker ($ डी पी);
गूंज $ पसंद -> makeDecision (सरणी ('प्रयास' => 'कम', 'वापसी' => 'उच्च')); इस स्थिति में एक वर्ग के लिए निर्भरता की संख्या बढ़ जाती है के रूप में और अधिक दर्दनाक हो जाता है, और क्या अगर निर्भरता खुद निर्भरता है? यह बहुत जल्दी से एक वस्तु प्रशासन दुःस्वप्न बन सकता है! निर्भरता इंजेक्शन कंटेनर (या चौखटे) दर्ज करें ...
पढ़ने 'क्विक स्टा Symfony डि (निर्भरता इंजेक्शन) ट्यूटोरियल' जारी रखें »
लेख , निर्भरता इंजेक्शन कंटेनर , PHP , Symfony , Zend फ्रेमवर्क , Zend_Cache |
कैश , कंटेनर , निर्भरता इंजेक्शन , Di , रूपरेखा , ini , नियंत्रण के उलटा , आईओसी , पुस्तकालय , PHP , Symfony , xml , yaml , Zend , Zend फ्रेमवर्क , Zend_Cache
इस लेख में मैं एक सरल सामने नियंत्रक के साथ Zend_Layout और Zend_View का उपयोग करने के लिए दिखाने के लिए कि यह कैसे संभव है व्यापार और आपके आवेदन के भीतर तर्क प्रस्तुति को अलग करने शुरू में लग रही हो. सभी कोड github पर उपलब्ध है:
नग्न और GitHub पर Zend_Layout Zend_View .
लेख , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क Zend_Layout , Zend_View |
आवेदन , रूपरेखा , सहायक , PHP , देखने सहायक , Zend Zend फ्रेमवर्क , zend_layout , zend_view
के रूप में एक मेरे पिछले पोस्ट पर प्रति मॉड्यूल आधारित लेआउट सेटिंग्स के लिए Zend फ्रेमवर्क का पालन करने के लिए, मैं की आवश्यकता के लिए कोड को नवीनीकृत किया है तो कम से पहले विन्यास (नहीं है कि यह आवश्यक है कि आपके आवेदन विन्यास में कुछ लाइनें!).
जारी रखें पढ़ने 'मॉड्यूल लेआउट सेटिंग्स के प्रति Zend फ्रेमवर्क - अप का पालन करें' »
लेख , कम्प्यूटिंग , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क |
कार्रवाई , नियंत्रक , रूपरेखा , सहायक , लेआउट , मॉड्यूल , PHP , Zend Zend फ्रेमवर्क
यह आसान लग सकता है, लेकिन मैं मेरे सिर पीटने में एक कस्टम दृश्य सहायक में एक URL बनाने की कोशिश कर Zend फ्रेमवर्क. मैं सेटअप है जो उपयोग में उप डोमेन से मॉड्यूल हो जाता है तो मैं एक साधारण hardcoded यूआरएल का उपयोग नहीं कर सका मार्ग है.
जारी रखें पढ़ने 'Zend कस्टम दृश्य हेल्पर में बनाना यूआरएल' »
लेख , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क , Zend_View , Zend_View_Helper |
कस्टम , रूपरेखा , सामने नियंत्रक , सहायक , PHP , रूटर , देखने के लिए , Zend Zend फ्रेमवर्क , Zend_View_Helper_Abstract
Zend_Navigation, के बारे में मेरे पिछले पोस्ट पर एक निरंतरता का अनुरोध के लिए कस्टम नियंत्रक / कार्रवाई करने के लिए sitemap.xml , इस पोस्ट dymnamically क्रम / स्क्रिप्ट के निष्पादन में एक Zend_Navigation कंटेनर के लिए पृष्ठ जोड़ने के बारे में है.
यह सब अच्छी तरह से और अच्छी पहल या में अपने पृष्ठों को निर्दिष्ट xml फ़ाइल है, लेकिन कुछ बिंदु पर आप अपनी साइट में पृष्ठों, कि तुम एक मेनू के रूप में हिस्सा चाहते साइटमैप, या अपने ब्रेडक्रम्ब निशान में शामिल किया जाना बदल जा रहे हैं. इसलिए हम क्या करने की जरूरत है क्रम में हमारे Zend_Navigation कंटेनर के लिए पृष्ठों को जोड़ने. इस उदाहरण के लिए जोड़ने समाचार आइटम, ब्लॉग पोस्ट, या पृष्ठ टिप्पणियों, आदि में होगा
जारी रखें पढ़ने 'गतिशील रूप से क्रम में Zend_Navigation कंटेनर पृष्ठों को जोड़ने के '»
PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क |
जोड़ने के लिए , bootstrap , कंटेनर , गतिशील , नेविगेशन , पृष्ठों , PHP, उप पृष्ठ , देखने के लिए , Zend Zend फ्रेमवर्क , Zend_Navigation
बस अपने application.ini या वैकल्पिक config फाइल में / के लिए सीधे अनुरोध करने के क्रम में sitemap.xml एक कस्टम और अपने में नियंत्रक कार्रवाई करने के लिए Zend फ्रेमवर्क आवेदन निम्नलिखित जोड़ने के लिए (जैसे मैं navigation.ini उपयोग ):
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = सूचकांक
resources.router.routes.sitemap.defaults.action = साइटमैप
Outputting के लिए उदाहरण कोड उपयुक्त नियंत्रक (जैसे मेरे साइटमैप सूचकांक नियंत्रक, साइटमैप कार्रवाई में निहित है) में एक कार्रवाई बनाने के द्वारा देखा जा सकता है:
< php
वर्ग IndexController
Zend_Controller_Action फैली
{
/ **
* एक Zend_Navigation सेटअप के आधार पर साइटमैप Renders
* /
सार्वजनिक समारोह (sitemapAction)
{
गूंज $ इस -> दृश्य> नेविगेशन () -> (साइटमैप);
$ इस -> दृश्य -> लेआउट () -> disableLayout ();
$ इस -> _helper> viewRenderer> setNoRender (सच);
}
}
साइटमैप जल्दी और आसानी से का उपयोग करके उत्पन्न किया जा सकता Zend_Navigation, एक महान जल्दी ट्यूटोरियल (और आमतौर पर बहुत Zend फ्रेमवर्क ट्यूटोरियल के लिए उपयोगी ) Zend डाले - गतिशील मेनू एक साइटमैप और breadcrumbs बनाने.
लेख , PHP , वेब प्रोग्रामिंग , Zend फ्रेमवर्क |
रूपरेखा , ini , PHP , रूटर , रूट , Zend Zend फ्रेमवर्क , Zend_Navigation , Zend_Router