programma oo oo PHP, procedures,,,,,,,,,,,, 419 - eenheid,,,,,,, het netwerk van delen van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' deze les niet missen.,, de inspiratie uit een toespraak van Robert C. Martin, zag ik een jaar geleden.Hij praat op de belangrijkste thema 's gekozen taal van de laatste mogelijkheid.Hij de besproken thema 's, zoals waarom deze taal bestaat?Het zou moeten zijn?Maar, als je dit leest, lijn, er is nog een interessant idee heeft mijn aandacht: elk programma 's op te leggen aan de beperkingen van onze programmeur.Dus hoe gaan we in ons in omschakeling PHP op basis van toepassing oo - een, ik wil een beetje voorsprong theorie.,,, het paradigma van beperkingen, dus elk programma 's beperkt, we doen wat we willen.Elk van hen hebben iets nodig, en een alternatief bieden, hetzelfde resultaat te bereiken.Modulaire opzet van het programma is de omvang van de programma 's met oneindig.Het gebruik van de modules van de maximale omvang van de verplichte programmeur, en elke module met een "naar" de verklaring in een module.Dus, de beperking van de omvang van de eerste is.En dan, gestructureerde opzet van het programma en de opzet van het programma "naar" verklaring van de beperking van de volgorde van de programmeur, selectie en concentratie.De volgorde van de taken variabel is, de keuze is als andere besluiten, en bereid is te doen.Dit is een voorbeeld van de taal en de hoeksteen van de meerderheid van de programma 's, en nu, gerichte programma' s worden wijzer, en wordt ingevoerd.PHP geen aanwijzingen in de vorm van C, maar deze functie. De variabele kan variabelen in de waarneming van de functie.Dit maakt het mogelijk gebruik te maken van een van de waarden van de variabelen als een functie van de naam, dus, zoiets kan worden bereikt:,, de functie van de foo () {ECHO "dit is...";} functie BAR (dollars) (ECHO "dit is de BAR zei: $parameters";} $functie = "..." (); de functie van $; ///////in de foo () = "," $functie; $functie (test "); ///////(), in de BAR, het lijkt misschien op het eerste gezicht is niet belangrijk.Maar we kunnen met zo 'n krachtige instrumenten om te bereiken wat.Dan kunnen we een variabele parameters voor een functie als sturen, dan laat deze functie vereist een andere functie, en ik citeer uit het van de waarden van de parameters.Dit is geweldig.Dat kunnen we veranderen van functies, zonder het te weten.Zonder deze functie, zelfs op een andere, kunnen we eigenlijk doen met deze methode van de oproep), nu, zonder rekening te houden met de aanwijzing van de functie van het verstrekken van wat voor instructies over hoe ze werken.Ze is gewoon verborgen "naar" verklaring?Eigenlijk, zijn ze zeer vergelijkbaar zijn, of ten minste hun indirecte "naar", dit is niet goed.We zijn hier eigenlijk op een slimme manier te doen "naar", die niet rechtstreeks met het.Ik moet toegeven, als je, zoals het voorbeeld hierboven, is moeilijk te begrijpen, maar het zou kunnen worden verward met de grote projecten en de verschillende functies van een functie van de overdracht naar een andere.C is nog wazig, zeer moeilijk te begrijpen, maar alleen met aanwijzing van de functie is niet genoeg.Gerichte programma 's moeten zorgen voor een vervanging van, en het is inderdaad op een elegante manier.Het is een eenvoudige grammaticale polymorfisme.En de diversiteit van de grootste waarde is de gerichte programma 's bieden: controle van de source code - afhankelijkheid, maar,,, in de tabel hierboven, geven we een eenvoudig voorbeeld noemen, veel lidstaten zich in verschillende voorbeelden.In de programma 's of de structuur van de programmering, de controle van de procedures is vergelijkbaar met die van de afhankelijkheid van de source code.Ze zijn op de meer specifieke te drukken. In de gerichte programma 's, kunnen we de source code afhankelijkheid omkeren, en het te richten op de verwezenlijking van een abstracte, terwijl de controle van de uitvoering - op meer specifieke.Dit is van essentieel belang, omdat we hopen dat we de controle om de mogelijke specifieke en precaire deel, zodat we de resultaten kunnen we, zoals we wilden, maar in de source code, willen we precies het tegenovergestelde resultaat.In de source code, we moeten concrete en vluchtige dingen te behouden, niet makkelijk te veranderen, en zo weinig mogelijk gevolgen hebben voor de code.Laat de frequente veranderingen in de vluchtige fractie, maar om een abstract deel is niet gewijzigd.Je kunt meer lezen over het beginsel van de omkering van het oorspronkelijke onderzoek in afhankelijkheid van Robert C. Martin schrijft.,,, in de handen van de taken, de in dit hoofdstuk, creëren we een eenvoudige toepassing van Google kalender, die de gebeurtenissen in.Ten eerste, we nemen een procedure, het gebruik van eenvoudige taken, en om te voorkomen dat een soort klasse of het voorwerp.De aanvraag zal je lijst van je Google kalender en de gebeurtenissen.Dan zullen we de problemen om stap voor stap, het behoud van onze programma 's, en beginnen met de organisatie van het gedrag.Tot slot, we zullen het in een gerichte PHP.,,, Google, Google - cliënt PHP biedt een API - cliënt.We gebruiken het in verband met de we Google, zodat we kunnen daar die kalender.Als je wil die code, moet je je Google kalender vraag te aanvaarden.Het is voor de les, ondanks de eisen, maar het is niet het belangrijkste thema 's.Dus ik zal niet herhalen wat je moet stappen, zal ik je aan de juiste documenten.Maak je geen zorgen, dit is een heel eenvoudig, het duurt maar vijf minuten.,, de code is de cliënt PHP Google - van de in de bijlage bij deze gids bevat voor elk project van de code van het monster.Stel ik voor dat je dat gebruiken.Bovendien, als je weet hoe het te installeren jezelf zien, officiële documenten, en volg de instructies in te vullen. Apiaccess.php informatie en documenten.Dit dossier zal worden gevraagd van de programma 's en gerichte voorbeeld, dus je hoeft je niet te herhalen.Ik laat de sleutels erin, je kan beter te identificeren en vul je. En als je toevallig met kenmerken, ik liet het dossier bevat verschillende voorbeelden van MAP.Op deze manier kan je gewoon open en exploitatie van lokale projecten die onmiddellijk in de PHP server (PHP 5.4 nodig zijn) alleen van selectie, /lopende projecten, in verband met de cliënt, bibliotheek, Google - OO.Met het oog op de functie van onze zaak, ik schreef een aantal functies, de verpakking in hun functie, die we nodig hebben.Zo kunnen we gebruik maken van een procedure van laag schreef gerichte cliënt bibliotheek, we hebben een code zal niet moeten gebruiken, als je wilt. Het doel van de snelle test je code in verband met de werkzaamheden van de API - en Google, met de volgende codes als je index.php documenten.Het moet een lijst van je op je rekening in de kalender.Er moeten ten minste een kalender, dit gebied is, je naam.Als je met je contact met de verjaardag van een kalender, een niet - werken met Google, maar raak niet in paniek, maar kiezen voor een andere, require_once '.,. /Google - PHP klanten /src /google_client. Php; require_once' Google -. /PHP /src /zijn klanten /google_calendarservice. Php; require_once __dir__. "///////apiaccess. Php; require_once ". /functins_google_api. Php; require_once." /. Php; session_start () (); de cliënt = createclient dollar; als (!De verificatie van de identiteit van de opbrengsten (klant); listallcalendars dollar) (dollar klant);,,, index.php, dossiers worden door ons punt van binnenkomst van de aanvraag.We gebruiken geen netwerk kader of iets speciaals.We hebben gewoon een aantal: //europa.eu.int /comm /output,,,, een directe procedure, nu we weten dat we het gebouw, we zullen met het downloaden van de bijlage, naar de bron.Ik zal die fragmenten, maar om het hele ding gezien, wil je de originele bronnen.,, voor dit soort praktijken, we willen gewoon laten werken.Onze code zal worden georganiseerd in de vorm van een zeer fundamentele, slechts een paar documenten, zoals:,,, hebben we toegang tot documenten index.php, de enige rechtstreeks door het verkrijgen van de browser, de parameters van functions_google_api.php dan Google.,,, - we genoemd, functions.php verpakking.,, alles gebeurt, waar.,,,, we gaan naar het Huis van toepassing functions.php, alles.Wat is de logica van de presentatie en de route, met een waarde van en gedrag kan zijn hier begraven.Dit verzoek is heel simpel, de belangrijkste logische als volgt:,,,,,, hebben we een enkele functie, douseraction (), besluit, op lange termijn en op een of andere verklaring, op basis van de methode van de parameters van de,, variabelen.De methode en de verbinding met het gebruik van API - en Google kalender drukken op het scherm op verzoek, wat we willen. Printcalendarcontents, functie ($cliënt) {puttitle (deze is je incident ".Getcalendar (dollar klant, _get dollar'showthiscalendar "[]) ['summary]."De kalender: "(retrieveevents ($); voor de klanten, _get dollar ['showthiscalendar]) tot gebeurtenissen) {drukken (" < die style= "lettergrootte: 10 pixels; kleur: grijs;" > ".Datum ('y-m-d h M, strtotime ($gebeurtenis ['created]) ("); putlink?Showthisevent = ".Htmlentities (ID 'gebeurtenis [dollar])."& calendarid =".Htmlentities ($_get'showthiscalendar] [, ['summary dollar)] ("); het drukken van de gebeurtenissen < /div >"); de drukkerij ("< BR >");}}, dit voorbeeld kunnen zijn van ons, in de meest complexe van de functie van de code in.De naam van het een helper, puttitle (), dat alleen afdrukken van een formaat: //europa.eu.int /comm /titel.Titel bevat onze kalender, kan door een beroep te doen op de getcalendar (), van functions_google_api naam hebben. Php.De kalender is terug met een reeks van een samenvatting, gebied.Dit is wat we doen, in al onze functie, klanten, waar door alle variabelen.Het moet in verband met de interface van Google.We zullen op een later tijdstip, en we in de huidige periode van alle gebeurtenissen in de kalender.Deze lijst is door de werking van de installatie bij het verkrijgen van toegang tot API - pakket, retrieveevents ().Voor elk geval, drukken we de datum, het wordt gecreëerd, en dan de titel,,, de code is vergelijkbaar met die van de andere die we hebben besproken, en zelfs gemakkelijker te begrijpen.Voor een deel over te gaan, kan de vrijheid om spelletjes te spelen, en de organisatie van de code, nu we de code kan worden, maar ik denk dat we beter kunnen doen, en met het oog op een passende manier te organiseren.Vind je de voltooiing van het project in de code van de organisatie de naam "googlecalproceduralorganized" in de bijgevoegde code, gebruik van de cliënt variabelen, in de eerste plaats wil ik onze organisatie van de code, is onze klant langs dit, in dollar, overal ruzie, diep van binnen... Een aantal niveaus functioneren.De programmering is een slimme manier om dit probleem op te lossen, een van de variabelen.De dollar heeft klanten, de definitie, de index.php, en in de rest van de wereld, moeten we onze functie.Dus verwacht niet, $cliënt parameters die we kunnen gebruiken:,, functionele printcalendars () {de dollar klant; puttitle (deze is je kalender: "); voor (getcalendarlist ($cliënt) ['items] tot de kalender) {putlink ("?Showthiscalendar = ".Htmlentities ($kalender [id ']), de kalender'summary] [dollar); de drukkerij ("< BR >");}}, te vergelijken met de huidige code tussen de nieuwe code.Als een parameter, we gebruiken. In alle functies, als we het gebruik van parameters, de klanten, als parameter, slechts als een van de parameters van de grondstoffen van de functie van Google.Technisch gezien, ook al is het functioneren van de toepassing van de cliënt worden gebruikt, die in de rest van de wereld, van de variabele, maar ik denk dat het beter is om de onafhankelijkheid van de interface, logica, scheiding van de functie van de logica van de presentatie, wat duidelijk is, is dat alleen iets Op het scherm, andere mensen beslissingen wat is een beetje.Als dit gebeurt, soms is het beter om deze specifieke functie omgezet in z 'n dossier.We zullen uitsluitend worden gebruikt voor het drukken van iets op het scherm van de functie, het zal worden verplaatst naar een dossier, functions_display.php.In de volgende functies printhome zien.,, () {drukken (welkom bij Google kalender in NETTUTS bijvoorbeeld "); de functie van printmenu () {} putlink ("?Thuis "," thuis "); putlink ("?Showcalendars "," kalender); putlink ("?Logout','Log Out'); - ('< BR > < BR > ");} functie putLink ($href, $text) {print (Sprint ('< a: /%" style= "font-size:12px; margin-left:10px;" >%s< /a>
PHP
Previous:Hoe vaak