Arbeidet fortsetter (sakte) på min nye Twitter -basert program. I løpet av de neste par helligdager håper jeg å få fart i gang igjen på prosjektet (i-til tross for det gode været i dag). Uansett, var min neste oppgave å lage en autentisering adapter for Zend Framework . Jeg hadde en arbeidsgruppe logg implementering, men å ha en nedgang i Auth adapter for Zend Framework virket som et attraktivt forslag, så jeg laget det ....
(Jeg har ikke tenkt å gå gjennom OAuth eller registrere din søknad med twitter, det er hundrevis av guider og en ganske grei prosess hvertfall.)
Fortsett å lese 'OAuth / Twitter Auth Adapter for Zend Framework' »
Artikler , PHP , Web Programming , Zend Framework , Zend_Auth , Zend_Auth_Adapter , Zend_Oauth , Zend_Oauth_Consumer |
adapter , auth , autentisering , OAuth , PHP , twitter , Zend , Zend Framework , Zend_Auth_Adapter_Interface , Zend_Auth_Result , Zend_Oauth_Consumer , Zend_Session , ZF
Til tross for alle twitter hate i øyeblikket, har jeg satt ut for å opprette en ny twitter -basert applikasjon. Å være noen som administrerer flere kontoer (både personlig og for mitt veldedighetsarbeid) Jeg har vært behov for et verktøy for annen gang at jeg bare å komme rundt til skriving (mer av det i nær fremtid ...).
Jeg har lest opp på Zend_Oauth_Consumer og hvordan det kan brukes til å få autorisasjon for å samhandle med Twitter bruker OAuth . Alt vel og bra, har jeg tilgang til nøkkelen og jeg kan lystig legge bort på brukerens vegne. Det er nok av ressurser der ute for å gjøre dette så jeg vil ikke kjede folk.
Det neste skrittet var å tillate folk å gå tilbake til nettstedet, logge inn og endre sin konto. Det er der jeg nådde et lite problem. Bruk koden eksempler på nettsteder betydde at jeg måtte twitter spør meg for tilgang autorisasjon på nytt for hver innlogging, ikke bra. Skanning gjennom rammene jeg kunne ikke se noe som ville tillate meg å bare be om godkjenning. Det er ikke å si at det er ikke der, men det så ikke ut til å være en autentiseringsmekanisme som kan påberopes uten å vite tilgangstokenet allerede.
Alternativene var å gjennomføre et site-basert innlogging eller annen måte lagre brukerens tilgang token på klienten (kryptert selvfølgelig). Ingen av disse virket som en god / passende løsning.
Continue reading '"Logg på med Twitter" bruke Zend Framework' »
Artikler , PHP , Web Programming , Zend Framework , Zend_Oauth , Zend_Oauth_Consumer |
søknad , autentisering , autorisasjon , rammeverk , OAuth , PHP , Logg på med twitter , token , twitter , Zend , Zend Framework , Zend_Oauth , Zend_Oauth_Consumer
Oppsummering
Dette er en rask post for å diskutere ganske enkel visning hjelper jeg laget for å gjengi en Zend Framework stil vise fil bare hvis den finnes. Vanligvis ber koden til å gjengi en fil som ikke eksisterer vil kaste et unntak. Derfor har jeg laget en wrapper for Zend_View: render () metode som fastslått om filen finnes, og hvis så puss, ellers bare returnerer en tom streng.
Fortsett å lese 'Zend Framework: Generert Hvis eksisterer' »
Computing , PHP , Web Programming , Zend Framework , Zend_View , Zend_View_Helper |
klasse , rammeverk , html , PHP , gjengi , vise , vise hjelper , Zend , Zend Framework , zend_view , Zend_View_Helper_Abstract
Foto fra http://www.flickr.com/photos/daniello/
Oppsummering
Her vil jeg diskutere opprettelsen av en visning hjelper for å endre HTML-koder, og mer spesifikt kropp koder. Den opprettede vise helper gjør funksjonalitet ligner på hodet * / inlineScript vise hjelpere allerede i standarden Zend Framework vise hjelpere, men tillater programmatiske endring av attributter. Definitivt sjekke ut demoen siden og koden på github.
Motivasjon
Standarden Zend Framework vise hjelpere er et flott sett med verktøy for effektivisering av verdslig vise oppgaver og som åpner for endring / tillegg av scripts og header blokker (vanligvis holdt i oppsettet) fra utsikten uten å bruke stygge hacks (dvs. hodet * / inlineScript view hjelpere).
Ved anledningen har jeg funnet behov for å gjøre endringer i <body>, for eksempel legge en onload , klasse eller stil attributt osv. Jeg også nødvendig å kunne utføre denne fra andre visning hjelpere. Ta denne følgende contrived eksempel ...
På hjemmesiden X, visse sider inkluderer standard dojo former. Disse dojo formene holdes innenfor vise hjelpere for bekvemmelighet. Vanligvis er det besluttet å ikke inkludere dojoen CSS klasser i body-koden og bare legge dem ved behov. Det kanskje flere syn hjelpere på siden som trenger å legge til sine egne attributter til kroppen taggen. (Jeg sa at det var contrived)
Koden er tilgjengelig i mitt GIT oppbevaringssted @ github og demo siden .
Fortsett å lese 'Zend Framework Body Tag Vis Helper' »
PHP , Web Programming , Zend Framework , Zend_Registry , Zend_View_Helper |
Kropp , rammeverk , helper , html , PHP , utsikt , utsikt helper , Zend , Zend Framework , Zend_Registry , Zend_View_Helper , Zend_View_Helper_Placeholder_Container_Standalone
Avhengighet injeksjon er en teknikk som gjør det mulig for løst koplet objekter innenfor et program. Vanligvis hvis et objekt krever tilgang til funksjonalitet i et annet ville det være instansiert internt fører til tett koblede systemer. Ved å implementere avhengighet injeksjon injisere vi de nødvendige objektene klar til bruk (noen ganger også referert til inversjon av kontroll - IOC). Ta følgende eksempel:
<? Php
class beslutningstager {
offentlig funksjon makeDecision (matrise $ parametre) {
/ / Trenger databasen adapter
$ Dp = new DecisionParameters ();
$ ParameterScore = $ dp-> getScore ($ parametre);
/ * ... Noen mer avgjørelse logikk ... * /
tilbake ($ parameterScore> 50);
}
} Denne kodebit sies å være tett koplet til DecisionParameters objekt. Rewriting ovenfor i et løst koplet mote vi vil ha noe sånt ....
<? Php
class beslutningstager {
private $ _dp;
offentlig funksjon __construct ($ dp) {
$ This-> _dp = $ dp;
}
offentlig funksjon makeDecision (matrise $ parametre) {
$ ParameterScore = $ this-> _dp-> getScore ($ parametre);
/ * ... Noen mer avgjørelse logikk ... * /
tilbake ($ parameterScore> 50);
}
} Mens få fordelene av løst koplet koden vi legger kompleksitet slik at hver gang et objekt er instansiert vi også på å bruke sin avhengigheter og passere disse på også. For eksempel dette:
$ Valget = new beslutningstager ();
echo $ valg-> makeDecision (array ('innsats' => 'low', 'return' => "høy")); Nå blir:
$ Dp = new DecisionParameters ();
$ Valget = new beslutningstager (DP);
echo $ valg-> makeDecision (array ('innsats' => 'low', 'return' => "høy")); Denne situasjonen blir mer smertefullt som antallet avhengigheter for en klasse er økt, og hva om avhengigheter selv har avhengigheter? Dette kan ganske raskt bli et objekt administrasjon mareritt! Tast avhengighet injeksjon containere (eller rammeverk) ...
Fortsett å lese 'Quick Start Symfony DI (Dependency Injection) Tutorial' »
Artikler , Dependency Injection Container , PHP , Symfony , Zend Framework , Zend_Cache |
cache , container , avhengighet injeksjon , di , rammeverk , ini , inversjon av kontroll , IOC , bibliotek , PHP , symfony , xml , YAML , Zend , Zend Framework , Zend_Cache
I denne artikkelen ser jeg på bruk Zend_Layout og Zend_View sammen med en enkel front kontrolleren for å vise hvordan det er mulig å begynne å skille forretningslogikk og presentasjon i programmet. All kode er tilgjengelig på github:
Naked Zend_Layout og Zend_View på GitHub .
Artikler , PHP , Web Programming , Zend Framework , Zend_Layout , Zend_View |
søknad , rammeverk , helper , PHP , vise hjelper , Zend , Zend Framework , zend_layout , zend_view
Som en oppfølging til mine tidligere innlegg per modul basert layout innstillinger for Zend Framework , har jeg oppdatert koden til å kreve mindre konfigurasjon enn før (ikke at det kreves mer for at noen få linjer i din søknad konfigurasjonen!).
Fortsett å lese 'Zend Framework Per Module Layout Innstillinger - Følg Up' »
Artikler , Computing , PHP , Web Programming , Zend Framework |
handling , kontroller , rammeverk , helper , layout , modul , PHP , Zend , Zend Framework
Dette kan virke enkelt, men jeg var stanger hodet mitt forsøker å skape en URL i en egendefinert visning hjelper i Zend Framework . Jeg har routing setup som får modulen fra sub-domenet i bruk slik at jeg ikke kunne bruke en enkel hardkodet URL.
Fortsett å lese 'Oppretter URL i Zend Custom Vis Helper' »
Artikler , PHP , Web Programming , Zend Framework , Zend_View , Zend_View_Helper |
skikk , rammer , front controller , helper , PHP , Ruter , vise , Zend , Zend Framework , Zend_View_Helper_Abstract
I en fortsettelse på mitt forrige innlegg om Zend_Navigation, Route forespørsler om sitemap.xml til tilpasset controller / action , er dette innlegget om dymnamically legge til sider til en Zend_Navigation container under kjøring / script utførelse.
Dens vel og bra spesifisere dine sider i en ini eller xml fil, men på et tidspunkt er du nødt til å endre sider på nettstedet ditt som du ønsker som en del av en meny, sitemap, eller å bli inkludert i din brødsmule sti. Derfor er det vi trenger å gjøre er å legge til sider i vår Zend_Navigation container under kjøring. Eksempler på dette ville være i å legge til nyheter, blogginnlegg, eller side kommentarer, etc.
Fortsett å lese 'dynamisk legge til sider Zend_Navigation container under kjøring' »
PHP , Web Programming , Zend Framework |
legg , bootstrap , container , dynamisk , Navigasjon , sider , PHP , sub-side , utsikt , Zend , Zend Framework , Zend_Navigation
For å direkte forespørsler om / sitemap.xml til en tilpasset kontroller og handling i Zend Framework søknaden bare legge til følgende i din application.ini eller alternative config-filen (f.eks jeg bruker navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = index
resources.router.routes.sitemap.defaults.action = sitemap
Eksempel på kode for sender ut kan sees ved å opprette en handling i den aktuelle kontrolleren (f.eks min sitemap ligger i indeksen controller, områdekart handling):
< php
klasse IndexController
strekker Zend_Controller_Action
{
/ **
* Gjengir et nettkart basert på Zend_Navigation setup
* /
offentlig funksjon sitemapAction ()
{
echo $ this-> Vis-> navigasjon () -> sitemap ();
$ This-> Vis-> layout () -> disableLayout ();
$ This-> _helper-> viewRenderer-> setNoRender (true);
}
}
Sitemaps kan raskt og enkelt bli generert ved hjelp Zend_Navigation , er en stor rask tutorial (og generelt svært nyttig for Zend Framework tutorials) Zend overhodekast - dynamisk lage en meny en sitemap og brødsmuler .
Artikler , PHP , Web Programming , Zend Framework |
rammeverk , ini , PHP , Ruter , ruter , Zend , Zend Framework , Zend_Navigation , Zend_Router