at skabe en fast

, skabe en flad fil blog motor ved hjælp af slim,,,,, andel,,,,,,,, 20,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke gå glip af det.,,,,, i denne artikel, vil vi lære at skabe en flad fil blog motor i folkesundhedsprogrammet ved hjælp af slim - ramme.hvis du ikke forstår den jargon, bekymre dig ikke.vi er kun ved at skabe en spartansk blogge anvendelse, som tilgodeser tekstfiler i stedet for en database til lagring af oplysninger. hvis du er en nybegynder, frygt ikke!vi vil begynde med de grundlæggende ved hjælp af slim.lad os komme i gang, efter at hoppe!,,,,,,, indledningen, slim er en light weight afslappende php ramme til at skabe enkle websteder.det er inspireret af sinatra, en ramme, skrevet med ruby.slim - skibe med en minimal komponenter, som anmoder om svar, og opfattelse, som er den eneste, der er nødvendige elementer i vores flad fil blog motor.,,, trin 1: begyndt at komme i gang, lad os oprette en hej verden anvendelse.før det, du har brug for at downloade slim - ramme til dit system.vi vil ikke drøfte en masse om slim, da den allerede er blevet dækket her på nettuts +.du bør ideelt set have følgende filer du folder:,, slim /- slim - ramme, index.php - indekset fil. htaccess, - url omskrivning,, luk nu op, index.php,, hvor du vil se en masse html i følgende afsnit.jeg har fjernet det hele og erstattet det med "hej".du, index.php, vil forhåbentlig se sådan ud nu, kræver slim /slim. folkesundhedsprogrammet ". $app = nye slim(). $app - > kom (" /"funktion () (echo" < h1 > - verden < /h1 > ".}); $app - > run(),,, jeg har skabt en virtualhost i min maskine, der er adressen angivet i skærmbillede.tilpasse url baseret på placeringen af slim i din maskine.,, sejle til url, og du vil se en hjemmeside med teksten "goddag" i det.,, get(), er en slim - metoden, som vil finde en vej, som det første argument og en tilsvarende bør fungere som den sidste.andre end bliver, kan vi have ruter for post - og slette, verber.- slim støtter php 5.3, callback funktion kan være og er skrevet som en anonym funktion.,, trin 2: gøre en php side, det næste skridt er at gøre en php fil.før vi fortsætter, skabe en fortegnelse, skabeloner, opbevarer alle vores model filer.en statisk html eller skabelon filer, vi skaber, er anbragt i denne folder.slim, giver os mulighed for at angive vejen til vores model filer i dens sammensætning.vi kan tilføje en konfiguration, som vist nedenfor. $app - > ud (array ("- modeller. sti = >. /templates"), lad os skabe et til side for vores blog.skabe et php filen, about.php, og sæt den i, skabeloner, mappe.der tilføjes følgende kode:, < html > < head > < afsnit > en lille blog motor < /afsnit > < /head > < krop > < h1 > ca. s < /h1 > < p > denne side er et eksempel på en statisk rute, hvor php fil.< /p > < /organ > < /html > for slim - til at behandle en anmodning, er vi nødt til at fastlægge en tilsvarende rute, kan det kort til at url.i vores første skridt, har vi tilføjet en rute til, indeks, eller "/".lad os tilføje en anden rute for vores om side. $app - > kom ("/", funktion () anvendelse ($app) ($app - > de ('about. folkesundhedsprogrammet)}), hvis du lasterhttp://slim.local/about i din browser, vil forhåbentlig vise sådan noget, har vi tilføjet en rute til det til side, der vil vise, about.php, befinder sig i,. /skabeloner, huske, template.path, ud variable?). har de bemærket, at vi brugte, brug ($app), i kom, metode?- det er bare en måde at bruge en variabel i en anonym funktion, som er omfattet af direktivets anvendelsesområde.,, trin 3: tildele værdier til skemaet, nu kan vi vise en skabelon side for en rute.det er tid til at tænke over, viser nogle dynamiske værdier i den model, som vi ikke kan gøre, og som tjener statisk filer, hele tiden.vi kan tildele værdier skal leveres i en model for, render() metode.det bør vedtages, som den anden parameter som et automatiseret system.lad os ændre ovennævnte kode til at ligne så: $app - > kom ("/", funktion () anvendelse ($app) ($data = system (pos. = > om side "," budskab "= > denne side er et eksempel statiske rute, hvor php fil."); $app - > de ('about. folkesundhedsprogrammet, $data)}), og ændre liget af den skabelon, en lille smule. < krop > < h1 > <?php echo $position?> < /h1 > < p > <?php echo $budskab.?> < /p > < /organ >, ser du, at du kan se på samme side, hvis du lader den foregående url.de variabler, der anvendes i modellen fil er den tilsvarende nøgler i foreningslivet system.,, trin 4: tilføje en dynamisk vej, så vidt vi har leget med en statisk ruter, "/" og "/".nu er vi ved at skabe en dynamisk rute, dvs. en vej, der kan reagere på forskellige ip - adresser. $app - > kom ('/: param1 /: param2, funktion ($param1, $param2) anvendelse ($app) (echo $param1. "-".$param2.});,, slim altid påberåber sig den første vej, der svarer til den nuværende http anmodning.det betyder, at alle statiske adgangsvejene skal være defineret før dynamisk ruter.,, hvis du lasterhttp://slim.local/first-param/second-param i din browser, vil det vise, param - anden param., et variabelt rute skal starte med et ":".slim vil passere værdien for denne variabel som et argument for at vores callback funktion, således at vi kan analysere det og gennemføre en hensigtsmæssig drift.slim forventer nøjagtig to parametre for denne rute, eftersom de to rute variabler er obligatorisk.hvis det ikke er til stede, slim vil udvise en 404 fejl.vi kan lave en url parameter frivilligt som vist i det næste trin, trin 5: frivillig vej parametre, for at lave en rute parameter, valgfrit, om ovennævnte kode som angivet nedenfor: $app - > kom ('/: param1 (/) (/param2: param3), funktion () anvendelse ($app) ($args = func_get_args(); for hvert ($args som $arg) (echo $arg. "- "}}), med det andet og tredje parametre er fakultativ.vi kan bruge den, func_get_args(), en metode til at opnå alle de argumenter, som er gået ind i denne funktion. okay, det er tid til at komme ind i en alvorlig sag.nu har vi alle de oplysninger, der er nødvendige for at skabe en flad fil blog motor.lad os få de ovenfor drøftede viden sammen for at skabe det.,, trin 6: skabe en fil - system, er vi nødt til at skabe en fil system, før vi sætter alle disse forskellige elementer sammen.her er en enkel sag for vores ansøgning.,,, det er en minimalistisk fil system med kun den nødvendige filer /mapper.alle artikler vil blive holdt i den artikel, mappe.de aktiver, mappe bliver vores css og javascript filer samt billeder.slim, indeholder rammerne og skabelon filer.,, trin 7: tilføje en rute til artikel opfattelse, hvis man føler sig en smule tabt, her er et hurtigt overblik over situationen med hensyn til, hvordan vores ansøgning er struktureret, en artikel, der vil blive skrevet i en tekst fil med url som sit dossier navn, vores ansøgning vil kort url - adresser til de tilsvarende artikler. for vores skyld, vi vil holde de metadata (som forfatter navn, fødselsdato, osv.) af en artikel i den tekst, json fil.det vil hjælpe os hente dem ved hjælp af folkesundhedsprogrammet er indbygget, json_decode(), funktion.indhold og metadata skal adskilles med en blank linie.lad os tilføje en rute, der læsser en artikel fra artikel mappe baseret på http. //tilføje artikel placering i konfigurationen $app - > ud (array ("- modeller. sti = >. /templates", "artikel. sti = >". /////////placering af artikel artikel) ///post - url 'vil belastning post-url.txt fil.$app - > kom ('/: artikel, funktion ($artikel) anvendelse ($app) ($sti = $app - > ud (»arti­kel. vej'); //åbne tekstfil og læse det $klare = fopen ($vej. "/«.$artikel. ". txt "," f "); $indhold = stream_get_contents ($klare); //dele indholdet til metadata $indhold = eksplodere ("), n. n "$indhold), $rawmeta = array_shift ($indhold); //metadata er json indkodet.så kan tyde det.$meta - = json_decode ($rawmeta, sande); $indhold = implodere ("), n. n" $indhold), $artikel = system ('meta = > $meta, "indholdet" = > $indhold), $app - > gøre (»arti­kel folkesundhedsprogrammet ". - artikel)}), har vi tilføjet en dynamisk vej med en enkelt rute parameter.den callback funktion vil modtage værdien for denne parameter, som bør være et filnavn, uden at dens udvidelse.det næste, vi udvinder værdien af, article.path, konfiguration variabel, hvor vi holder vores artikel.i de næste to linjer, læser vi, at sagen og opbevaring af indholdet i en variabel, $indhold.som nævnt i den foregående præmis, en artikel, der har metadata og faktiske indhold, som vil være adskilt af en enkelt linje ("), n. n").ofte kan der være mange andre blanke linjer i en artikel, indhold, som sandsynligvis vil bryde den nuværende metode.for at undgå, at vi vil bruge det første element til at få metadata og vil sammen med resten af nettet med den samme tom linje.da de metadata, er i json format, er vi nødt til at afkode den her og opbevare den i $meta -, system. skabe en skabelon fil at gøre en artikel, og sæt den i, model, mappe. //article.php echo '< h2 > ".$meta - ['title "].< /h2 > « echo $indhold, lad os skabe vores første postede nu.skabe et nyt dossier, der hedder første artikel. txt, og den i artikel, servietter og tilføje indhold som vist nedenfor.sørg for, at du har de metadata og indhold adskilt af en blank linie. //first-article.txt {"titel": "dette er min første artikel", "date": "02 /15 /2012", "kugle": "artikel", "forfatter": "forfatter navn"} frugtkage jelly-o halvah skumfidus godte.croissant slik - stokke chokoladekage muffin vingummier lakrids.(kopi pasta en lipsum), fremragende!du kan starte udstationering artikel nu.men vent!vi har ikke en liste på side endnu.vi er nødt til at nævne alle de artikler, der er til rådighed i vores system med sin titel og en lille beskrivelse.for at få det gjort, bliver vi nødt til at analysere artiklerne mappe at finde alle artikler og tilføjer dem til et mønster læser dem efter hinanden.,, trin 8: skabe en notering side, $app - > kom (» /«, function() anvendelse ($app) ($sti = $app - > ud (»arti­kel. vej '); $dir = nye directoryiterator ($vej); $artikel = array(); for hvert ($) som $fil) (hvis ($fil - > isfile()) ($klare = fopen ($vej. "/«.$fil - > getfilename(), »r«); $indhold = stream_get_contents ($klare); $indhold = eksplodere ("), n. n" $indhold), $rawmeta = array_shift ($indhold), $meta - = json_decode ($rawmeta, sande); $indhold = implodere ("\\ n. n" $indhold), $[artikel $fil - > getfilename()] = system ('meta = > $meta, "indholdet" = > $indhold)}} $app - > de ('index. folkesundhedsprogrammet, system ('articles = > $artikel)}), her har vi tilføjet en rute til hjemmesiden.vi bruger folkesundhedsprogrammet er indbygget, directoryiterator, klasse, loop gennem hver fil i registret.hver artikel er tilføjet til $artikler, vifte.fra den skabelon fil (index.php,), kan vi loop gennem disse artikler som vist nedenfor. for hvert ($artikler som $artikel) (echo "< h1 >".$[artikel'meta '] ['title "]." < /h1 > "echo substr (strip_tags ($[artikel'content']) 0200)....< en href = "/".$[artikel'meta '] ['slug "]."> læs mere > > < /a > '}, vores hjemmeside er klar nu.det er en liste over alle de artikler i vores blog, med de tilsvarende afsnit og en del af indholdet, trin 9: skabe en arkiver side, så vil vi skabe en 'arkiver' side.da vi forventer, at den arkiver side at have filtre baseret på år, måned og dato, vil vi tilføje en rute med fakultative parametre.arkiverne side vil støtte følgende internetadresser.,, /arkiver /arkiver /åååå /arkiver /åååå /mm /arkiver /åååå /mm /dd, for at opnå det, vi vil have alle artiklerne og filter dem baseret på argumenter over for den callback funktion.jeg har flyttet alting til en klasse, således at vi kan begynde at bruge vores kodeks.en vej, der vil yde støtte til ovennævnte internetadresser vil se noget, som så: //tildele $til en anden variabel, som den ikke støttes i lukning $blog = nye blog(). $slim - > kom (» /arkiver (/: åååå (/: mm (/: dd)) « function() anvendelse ($blog, $slim) {}), bemærker, at i denne rute er det år, måned og dato er fakultative parametre., arkiver, er den eneste, der er en del af url.det næste, vi skal gennemføre denne rute, som vil reagere på grundlag af de fakultative parametre. $args = func_get_args(); //belastning af alle artikler, $artikel = $blog - > loadarticles(). $arkiver = array(); //- tæller ($args) for frivillig vej params hvis (tæller ($args) > 0) (skift (tæller ($args)) (sag nr. 1: //eneste år, er til stede, $format = »y«; $dato = $dateformat ($args $format); pause, sag 2: //år og måned er til stede, $format = "y-m. $dato = $dateformat ($args $format); bryde; sag 3: //år, måned og dato er til stede, $format =" y-m-d. $dato = $dateformat ($args $format); pauser) //- artikel for hvert ($artikler som $artikel) (hvis ($dateformat ($artiartikel ['meta '] ['date "$format) = = $dato) ($arkiver [] = $artikel;}}} andre {$arkiver = $varer;} //gøre arkiver $slim - > de ('archives. folkesundhedsprogrammet, system ('archives = > $arkiver), i bytte, erklæring, skaber vi den dato, der skal filtreres ved hjælp af de argumenter, døde.denne dato kan sammenlignes med datoen for hver artikel, og hvis de passer, det er tilføjet til $arkiver, vifte.- dateformat(), er en anonym funktion inden for vej til format datoer. $dateformat = funktion ($args $format) ($temp_date = is_array ($args)?implodere ("$args): $args. $dato = nye datetime ($temp_date); tilbage $dato - > format ($format);};, - - kan vi skrive betingelser for en rute, der skal være opfyldt, for at de argumenter, for at validere de år, måned og dato vedtaget ruten. $slim - > kom (» /arkiver (/: åååå (/: mm (/: dd)), function() bruge $blog (}) - > betingelser (array (åååå = >" (19



Previous:
Next Page: