Συνεχίζονται οι εργασίες (αργά) για τα νέα μου Twitter -based εφαρμογή. Κατά τη διάρκεια των επόμενων δύο αργίες Ελπίζω να πάρει την ορμή και πάλι για το έργο (σε-παρά τις υπέροχες καιρικές συνθήκες προς το παρόν). Τέλος πάντων, επόμενος στόχος μου ήταν να δημιουργήσει έναν προσαρμογέα ταυτότητας για την Zend-πλαίσιο . Είχα μια εργασία υλοποίηση σύνδεσης, αλλά με μια σταγόνα στον Auth προσαρμογέα για Zend-πλαίσιο φαινόταν σαν μια ελκυστική πρόταση, γι 'αυτό το δημιούργησε ....
(Είμαι δεν πρόκειται να περάσει από OAuth ή την καταχώρηση της αίτησής σας με το Twitter, υπάρχει εκατοντάδες οδηγούς και του αρκετά απλή διαδικασία ούτως ή άλλως.)
Συνέχεια 'OAuth / Twitter Auth Προσαρμογέας για Zend-πλαίσιο «ανάγνωση»
Άρθρα , PHP , Προγραμματισμός Web , Zend-πλαίσιο , Zend_Auth , Zend_Auth_Adapter , Zend_Oauth , Zend_Oauth_Consumer |
προσαρμογέα , auth , ταυτότητας , OAuth , PHP , twitter , Zend , Zend-πλαίσιο , Zend_Auth_Adapter_Interface , Zend_Auth_Result , Zend_Oauth_Consumer , Zend_Session , ZF
Παρ 'όλες τις μίσος twitter αυτή τη στιγμή, έχω έθεσε ως στόχο να δημιουργήσει μια νέα twitter -based εφαρμογή. Όντας κάποιος που διαχειρίζεται περισσότερους από έναν λογαριασμούς (τόσο σε προσωπικό όσο και για το φιλανθρωπικό έργο μου) έχω να χρειάζεται ένα εργαλείο για λίγο ότι είμαι απλώς να πάρει γύρω στο γράψιμο (περισσότερα από ότι στο εγγύς μέλλον ...).
Έχω διαβάσει επάνω σε Zend_Oauth_Consumer και πώς μπορεί να χρησιμοποιηθεί για να πάρει άδεια για την αλληλεπίδραση με το Twitter χρησιμοποιώντας OAuth . Όλα ωραία και καλά, έχω κλειδί πρόσβασης μου και δεν μπορώ χαρούμενα μετά μακριά για λογαριασμό του χρήστη. Υπάρχει αφθονία των πόρων εκεί έξω για να γίνει αυτό έτσι δεν θα έφερε τους ανθρώπους.
Το επόμενο βήμα ήταν να επιτρέψει στους ανθρώπους να επιστρέψουν στην ιστοσελίδα, συνδεθείτε και να τροποποιήσετε το λογαριασμό τους. Αυτό είναι όπου έχω φτάσει σε ένα μικρό πρόβλημα. Χρησιμοποιώντας τα παραδείγματα κώδικα στις ιστοσελίδες σήμαινε ότι θα είχα twitter μου ζητώντας έγκριση για την πρόσβαση και πάλι για κάθε σύνδεση, δεν είναι καλό. Σάρωση μέσω του πλαισίου δεν μπορούσα να δω τίποτα που θα μου επιτρέψετε να ζητήσουν μόνο έλεγχο ταυτότητας. Αυτό δεν σημαίνει δεν υπάρχει, αλλά δεν φαινόταν να είναι ένας μηχανισμός ελέγχου ταυτότητας που θα μπορούσε να γίνει επίκληση του χωρίς να γνωρίζει το διακριτικό πρόσβασης που έχουν ήδη.
Οι εναλλακτικές λύσεις ήταν να εφαρμόσει μια τοποθεσία που βασίζεται συνδεθείτε ή κατάστημα με κάποιο τρόπο διακριτικό πρόσβασης του χρήστη στο πρόγραμμα-πελάτη (κρυπτογραφημένη, βεβαίως). Καμία από αυτές φαινόταν σαν μια καλή / κατάλληλη λύση.
Συνέχεια ανάγνωση "Σύνδεση με το Twitter» με τη χρήση Zend-πλαίσιο »»
Άρθρα , PHP , Προγραμματισμός Web , Zend-πλαίσιο , Zend_Oauth , Zend_Oauth_Consumer |
εφαρμογή , έλεγχος ταυτότητας , άδεια , πλαίσιο , OAuth , PHP , Σύνδεση με το Twitter , συμβολική , twitter , Zend , Zend-πλαίσιο , Zend_Oauth , Zend_Oauth_Consumer
Περίληψη
Αυτή είναι μια γρήγορη θέση για να συζητήσουν το μάλλον απλή βοηθός άποψη μου δημιουργήθηκε για να αποδώσει το πλαίσιο Zend στυλ αρχείο δείτε μόνο αν υπάρχει. Γενικά, ζητώντας από τον κώδικα για να καταστήσει ένα αρχείο που δεν υπάρχει θα ρίξει μια εξαίρεση. Γι 'αυτό δημιουργήσαμε ένα περιτύλιγμα για την Zend_View:: καθιστούν () μέθοδο, η οποία προσδιορίζεται εάν το αρχείο υπάρχει και αν ναι καθιστά, αλλιώς επιστρέφει απλά ένα κενό string.
Συνέχεια ανάγνωση "Zend-πλαίσιο: Render αν υπάρχει" »
Πληροφορική , PHP , Προγραμματισμός Web , Zend-πλαίσιο , Zend_View , Zend_View_Helper |
τάξη , πλαίσιο , HTML , PHP , καθιστούν , θέα , θέα βοηθός , Zend , Zend-πλαίσιο , zend_view , Zend_View_Helper_Abstract
Φωτογραφία από http://www.flickr.com/photos/daniello/
Περίληψη
Εδώ θα συζητήσουμε τη δημιουργία ενός βοηθού άποψη για την τροποποίηση ετικέτες HTML, και πιο συγκεκριμένα tags σώμα. Η δημιούργησε βοηθός θέα επιτρέπει τη λειτουργικότητα παρόμοια με το κεφάλι * / inlineScript βοηθοί θέα ήδη στο πρότυπο Zend-πλαίσιο βοηθοί άποψη, αλλά επιτρέπει την προγραμματική τροποποίηση των χαρακτηριστικών tag. Σίγουρα ελέγξτε τη σελίδα demo και τον κωδικό για github.
Κίνητρο
Το πρότυπο Zend-πλαίσιο βοηθοί άποψη είναι μια μεγάλη σειρά από εργαλεία για τον εξορθολογισμό εγκόσμιους στόχους δείτε και να επιτρέπει την τροποποίηση / προσθήκη scripts και μπλοκ κεφαλίδας (κατά κανόνα στις διάταξη) μέσα από την προβολή, χωρίς να εφαρμόζει άσχημο αμυχές (δηλαδή το κεφάλι * / inlineScript βοηθοί άποψη).
Μετά την ευκαιρία που έχω βρεθεί πρέπει να κάνουν τροποποιήσεις στην ετικέτα <body>, για παράδειγμα, την προσθήκη ενός onload , τάξη, ή το ύφος χαρακτηριστικό κλπ. Επίσης, απαιτείται να είναι σε θέση να εκτελέσουν αυτό μέσα από λοιπά πρόσωπα που επεμβαίνουν θέα. Πάρτε αυτό το εξής σκηνοθετημένη παράδειγμα ...
Στις X ιστοσελίδα, ορισμένες σελίδες περιλαμβάνουν τυποποιημένο dojo μορφές. Αυτές οι μορφές dojo πραγματοποιηθεί εντός βοηθοί άποψη για την ευκολία. Σε γενικές γραμμές, αποφασίστηκε να μην περιληφθεί το dojo CSS τάξεις στην ετικέτα του σώματος και μόνο τα προσθέσετε όταν είναι απαραίτητο. Μπορεί να υπάρχουν πολλοί βοηθοί που βρίσκεται στη σελίδα που πρέπει να προσθέσετε το δικό χαρακτηριστικά τους με την ετικέτα του σώματος. (Είπα ότι ήταν σκηνοθετημένη)
Ο κώδικας είναι διαθέσιμος σε αποθετήριο GIT μου @ github και η δοκιμαστική σελίδα .
Συνέχεια ανάγνωση "Zend-πλαίσιο Body Tag Προβολή Helper» »
PHP , Προγραμματισμός Web , Zend-πλαίσιο , Zend_Registry , Zend_View_Helper |
Σώμα , πλαίσιο , βοηθός , HTML , PHP , θέα , θέα βοηθός , Zend , Zend-πλαίσιο , Zend_Registry , Zend_View_Helper , Zend_View_Helper_Placeholder_Container_Standalone
Ένεση Εξάρτηση είναι μια τεχνική που επιτρέπει την χαλαρά συνδεδεμένες αντικειμένων στο εσωτερικό μιας εφαρμογής λογισμικού. Σε γενικές γραμμές, εάν ένα αντικείμενο απαιτεί την πρόσβαση στις λειτουργίες του άλλου, θα ήταν αρχικοποιείται στο εσωτερικό που οδηγεί σε στενά συνδεδεμένες συστήματα. Με την εφαρμογή ένεση εξάρτηση έχουμε ένεση από τα αντικείμενα που διατίθενται προς χρήση (μερικές φορές αναφέρεται επίσης αντιστροφή του ελέγχου - IOC). Πάρτε το ακόλουθο παράδειγμα:
<? Php
class DecisionMaker {
δημόσια makeDecision λειτουργία (array $ παραμέτρων) {
/ / Ανάγκη τον προσαρμογέα βάσης δεδομένων
$ Dp = νέα DecisionParameters ()?
$ ParameterScore = $ DP-> getScore ($ παράμετροι)?
/ * ... Κάποιοι πιο λογική απόφαση ... * /
επιστροφή ($ parameterScore> 50)?
}
} Αυτό το κομμάτι του κώδικα λέγεται ότι είναι στενά συνδεδεμένες με το αντικείμενο DecisionParameters. Ξαναγράφοντας το παραπάνω σε ένα χαλαρά συνδεδεμένες τρόπο θα είχαμε κάτι σαν ....
<? Php
class DecisionMaker {
ιδιωτική $ _dp?
δημόσια λειτουργία __construct ($ DP) {
$ This-> _dp = $ dp?
}
δημόσια makeDecision λειτουργία (array $ παραμέτρων) {
$ ParameterScore = $ this-> _dp-> getScore ($ παράμετροι)?
/ * ... Κάποιοι πιο λογική απόφαση ... * /
επιστροφή ($ parameterScore> 50)?
}
} Παρόλο που κερδίζει τα οφέλη της χαλαρά συνδεδεμένες κωδικό είμαστε ακόμη πιο περίπλοκη, έτσι ώστε κάθε φορά που ένα αντικείμενο είναι instantiated πρέπει επίσης να υπόσταση σε εξαρτήσεις του και να περάσει αυτές σε πάρα πολύ. Για παράδειγμα, το εξής:
$ Επιλογή = νέα DecisionMaker ()?
echo $ επιλογή-> makeDecision (array ('προσπάθεια' => 'χαμηλά', 'επιστροφή' => 'υψηλά'))? τώρα γίνεται:
$ Dp = νέα DecisionParameters ()?
$ Επιλογή = νέα DecisionMaker ($ DP)?
echo $ επιλογή-> makeDecision (array ('προσπάθεια' => 'χαμηλά', 'επιστροφή' => 'υψηλά'))? Η κατάσταση αυτή γίνεται όλο και πιο επώδυνη, όπως τον αριθμό των εξαρτήσεων για μια τάξη είναι αυξημένη, και τι θα γίνει αν οι εξαρτήσεις ίδιοι οι εξαρτήσεις; Αυτό μπορεί πολύ γρήγορα γίνει εφιάλτης διοίκηση αντικείμενο! Εισάγετε δοχεία ένεση εξάρτησης (ή πλαίσια) ...
Συνέχεια ανάγνωση "Quick symfony Έναρξη DI (Injection εξάρτηση) Tutorial '»
Άρθρα , Εξάρτηση Container Injection , PHP , symfony , Zend-πλαίσιο , Zend_Cache |
προσωρινής αποθήκευσης , μεταφοράς εμπορευματοκιβωτίων , ένεση εξάρτηση , di , πλαίσιο , ini , αντιστροφή του ελέγχου , ΔΟΕ , βιβλιοθήκη , PHP , symfony , xml , YAML , Zend , Zend-πλαίσιο , Zend_Cache
Σε αυτό το άρθρο θα εξετάσουμε τη χρήση Zend_Layout και Zend_View μαζί με ένα απλό χειριστήριο μπροστά για να δείξει πώς είναι δυνατό να ξεκινήσει το διαχωρισμό επιχειρηματική λογική και την παρουσίασή του στο πλαίσιο της αίτησής σας. Όλος ο κώδικας είναι διαθέσιμος σε github:
Γυμνή Zend_Layout και Zend_View σε GitHub .
Άρθρα , PHP , Προγραμματισμός Web , Zend-πλαίσιο , Zend_Layout , Zend_View |
εφαρμογή , πλαίσιο , βοηθός , PHP , δείτε βοηθός , Zend , Zend-πλαίσιο , zend_layout , zend_view
Ως συνέχεια στην προηγούμενη θέση μου σχετικά με ανά μονάδα με βάση τις ρυθμίσεις διάταξης για την Zend-πλαίσιο , έχω ενημερώσει τον κώδικα που θα απαιτούν λιγότερη ρύθμιση, στη συνέχεια, πριν από (όχι ότι απαιτείται περισσότερο από μερικές γραμμές στην διαμόρφωση της εφαρμογής σας!).
Συνέχεια ανάγνωση "Zend πλαισίου ανά Ρυθμίσεις Διάταξη Ενότητα - Παρακολούθηση» »
Άρθρα , Πληροφορική , PHP , Προγραμματισμός Web , Zend-πλαίσιο |
δράση , ελεγκτή , πλαισίου , βοηθός , διάταξη , ενότητα , PHP , Zend , Zend-πλαίσιο
Αυτό μπορεί να φαίνεται απλό, αλλά ήμουν χτυπάς το κεφάλι μου, προσπαθώντας να δημιουργήσουμε ένα URL σε μια προσαρμοσμένη αρωγός θέα στο Zend-πλαίσιο . Έχω δρομολόγησης εγκατάσταση η οποία παίρνει τη μονάδα από το sub-domain σε χρήση γι 'αυτό δεν θα μπορούσε να χρησιμοποιήσει μια απλή hardcoded URL.
Συνέχεια 'Δημιουργία URL στο Zend Προσαρμοσμένη προβολή Helper "ανάγνωση»
Άρθρα , PHP , Προγραμματισμός Web , Zend-πλαίσιο , Zend_View , Zend_View_Helper |
έθιμο , πλαίσιο , μπροστινό ελεγκτή , βοηθός , PHP , Router , θέα , Zend , Zend-πλαίσιο , Zend_View_Helper_Abstract
Σε μια συνέχεια στην τελευταία θέση μου για Zend_Navigation, αιτήσεις για τη διαδρομή sitemap.xml στην προσαρμοσμένη ελεγκτή / δράσης , η θέση αυτή είναι περίπου dymnamically προσθήκη σελίδων σε ένα δοχείο Zend_Navigation σε εκτέλεση runtime / script.
Όλα του ωραία και καλά προσδιορίζοντας τις σελίδες σας σε ένα ini ή xml αρχείο αλλά κάποια στιγμή θα πάμε να έχουν την εναλλαγή των σελίδων στην τοποθεσία σας που θέλετε ως μέρος ενός μενού, sitemap, ή που θα περιληφθούν στην τριμμένη φρυγανιά μονοπάτι σας. Ως εκ τούτου αυτό που χρειάζεται να κάνετε είναι να προσθέσετε τις σελίδες στο δοχείο Zend_Navigation μας κατά την εκτέλεση. Παραδείγματα για αυτό θα ήταν σε πρόσθεση νέων στοιχείων, blog θέσεις, ή τα σχόλια σελίδα, κλπ.
Συνέχεια ανάγνωση "Δυναμικά προσθέσετε τις σελίδες στο δοχείο Zend_Navigation κατά το χρόνο εκτέλεσης» »
PHP , Προγραμματισμός Web , Zend-πλαίσιο |
προσθέσετε , bootstrap , δοχείο , δυναμικά , Navigation , σελίδες , PHP , υπο-σελίδα , προβολή , Zend , Zend-πλαίσιο , Zend_Navigation
Προκειμένου να κατευθύνει τις αιτήσεις / sitemap.xml σε μια προσαρμοσμένη ελεγκτή και δράσης σας Zend-πλαίσιο για την εφαρμογή απλά προσθέστε τα ακόλουθα στο application.ini σας ή εναλλακτικές αρχείο ρυθμίσεων (π.χ. μπορώ να χρησιμοποιήσω navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = δείκτης
resources.router.routes.sitemap.defaults.action = sitemap
Παράδειγμα κώδικα για outputting μπορεί να δει με τη δημιουργία μιας δράσης στον κατάλληλο ελεγκτή (π.χ. sitemap μου έγκειται στο χειριστήριο δείκτη, sitemap δράση):
< php
τάξη IndexController
εκτείνεται Zend_Controller_Action
{
/ **
* Αποδίδει ένα sitemap με βάση εγκατάστασης Zend_Navigation
* /
δημόσια sitemapAction λειτουργία ()
{
echo $ this-> view-> πλοήγησης () -> sitemap ()?
$ This-> Προβολή-> Διάταξη () -> disableLayout ()?
$ This-> _helper-> viewRenderer-> setNoRender (αλήθεια)?
}
}
Sitemaps μπορεί γρήγορα και εύκολα να παραχθεί με την Zend_Navigation , μια μεγάλη γρήγορο tutorial (και γενικά πολύ χρήσιμο για tutorials Zend-πλαίσιο) είναι Zend Εκμαγείων - Δυναμική δημιουργία ενός μενού sitemap και τριμμένη φρυγανιά .
Άρθρα , PHP , Προγραμματισμός Web , Zend-πλαίσιο |
πλαίσιο , ini , PHP , Router , Διαδρομές , Zend , Zend-πλαίσιο , Zend_Navigation , Zend_Router