25 laravel tips og tricks

, 25 laravel tips og tricks,,,,, 56,,,,,,,,, 16,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, var der en periode for ikke så længe siden, hvor folkesundhedsprogrammet og fællesskabet er, i mangel af bedre ord, hadede.tilsyneladende, overskriften joke hver dag var en, der drejede sig om, hvor forfærdelig folkesundhedsprogrammet var.lad os se, hvad nye php at smække blog artikel vil blive udsendt i dag?,,, ja, desværre, fællesskabet og økosystemets simpelthen ikke var på samme niveau som for andre moderne sprog.,,, ja, desværre, fællesskabet og økosystemets simpelthen ikke var på samme niveau som for andre moderne sprog.det virkede som om, at folkesundhedsprogrammet var bestemt til at leve med sin dominerende levetid i form af rodet wordpress temaer.,, men, så, helt utroligt, - - begyndte det at skifte - og hurtigt.som en heks, skaber problemer, nye innovative projekter, begyndte at komme ud af ingenting.måske mest fremtrædende af disse projekter var komponist: folkesundhedsprogrammet er endelig afhængighed manager (ikke - i modsætning til ruby er den eller node er new public management).tidligere php udviklere blev tvunget til at snøre pære i form (et mareridt, ja, nu, takket være komponist, kan de blot ajourfører en json fil, og kører straks i den ønskede afhængighed.en ekspert, en test, rammer, der...alle i sekunder!, i fyldt php ramme verden, ligesom codeigniter begyndte at løbe ud i sandet, taylor otwell er laravel ramme opstod ud af asken for at blive den skat til fællesskabet.med en let og elegant syntaks, bygning af ansøgninger med laravel og folkesundhedsprogrammet var nej - meget sjovt.yderligere med version 4 af ramme gearing komponist endelig syntes at være stærkt, tingene falder på plads for fællesskabet.,,,,,, vil migration (version kontrol for deres database).færdig.hvad med en stærkt aktiv rekord gennemførelse?ja, veltalende, vil gøre det meget godt.hvad med faciliteter?selvfølgelig.og her?helt sikkert.hvad med en yderst testet http lag?takket være komponist, laravel kan udnytte mange af de udmærkede symfony komponenter.når alt kommer til alt, er chancen, hvis du har brug for det, laravel tilbyder,.,,,,,,, mens folkesundhedsprogrammet, der anvendes til at være forskellige fra et spil om jenga - bare én blok og væk fra ved at falde fra hinanden - - takket være laravel og komponist, fremtiden ikke kunne se lysere ud.så tag nogle nuancer, og grave i alle led har at tilbyde.,,, 1.veltalende spørgsmål, laravel er en af de mest magtfulde aktive rekord gennemførelser i folkesundhedsprogrammet verden.lad os sige, at du har en ordre, tabel sammen med en ordre, veltalende model:,, klasse for udvider veltalende {}, vi nemt kan udføre en række database forespørgsler med simpelt, elegant folkesundhedsprogrammet.ingen grund til at smide rodet sql rundt.lad os få alle ordrer. $ordrer = for: all();,, færdig.eller måske de ordrer skal returneres for, i henhold til offentliggørelsesdatoen.det er let, $ordrer = for: orderby ('release_date "," desc ') - > get();,, hvad nu hvis, i stedet for at hente en rekord, vi i stedet har brug for, for at redde en ny orden til databasen.ja, vi kan gøre det. $for = ny orden. $for - > afsnit = xbox 'en. $for - > save();,, færdig!med laravel, opgaver, der plejede at være besværligt at udføre er latterlig simpelt.,,, 2.fleksible ruteføring, laravel er enestående ved, at den kan anvendes på en række måder.foretrækker en enklere, mere sinatra som routing - system?ja, laravel kan tilbyde, som meget let, idet lukninger.,, rute: kom ('orders, function() {tilbage synspunkt: gøre ('orders. indeks) - > med ('orders, for: all())}), kan det være nyttigt for små projekter og api - grænseflader men chancen er stor for, at du vil kræve kontrollører, for de fleste af deres projekter.det er okay, laravel kan også gøre det.,, rute: kom ('orders "," orderscontroller @ index), gjort.se, hvor laravel vokser med dine behov?dette niveau af bolig, er det, der gør den ramme, som er populære, som den er i dag.,,, 3.let forhold, hvad skal vi gøre i tilfælde, hvor vi skal definere forholdet?for eksempel, en opgave, vil helt sikkert tilhører en bruger.hvordan kan vi være det i laravel?antag, at de nødvendige database tabeller er fælde, vi behøver kun at justere de tilknyttede veltalende modeller.,, klasse opgave omfatter veltalende {offentlige funktion user() {tilbage $- > tilhører ('user)}} klasse bruger udvider veltalende {offentlige funktion tasks() {tilbage $- > hasmany ('task)), og med det, er vi færdige!lad os få alle opgaver for brugeren en id - 1.vi kan gøre det på to linier. $bruger = bruger:: finde (1); $opgaver = $bruger - > opgaver, dog, fordi vi har defineret forhold fra begge ender, hvis vi ønsker i stedet at hente den bruger, der er forbundet med en opgave, vi kan gøre også det. $opgave = opgave: at finde (1); $bruger = $opgave - > brugeren,,, 4.formular model bindende, ofte, kan det være nyttigt at forbinde en form for model.den indlysende eksempel på dette er, når man ønsker at udgive en plade i jeres database.med bindende form model, kan vi straks befolke form områder med værdier fra den tilhørende tabel row.,, {{form: model ($for)}} < div > {{form: etiket ('title "," titel: ")}} {{form: tekst ('title)}} < /div > < div > {{form: etiket ('description", "beskrivelse")}} {{form: textarea ('description)}} < /div > {{form: close()}}, fordi form nu er knyttet til en specifik, for eksempel de input, viser de korrekte værdier fra bordet.det er enkelt.,,, 5.cache - databasen forespørgsler, for mange database forespørgsler, og meget hurtigt, din ansøgning kan blive som melasse.heldigvis laravel giver en enkel mekanisme for caching disse forespørgsler, med intet andet end en enkelt metode,.,, lad os tage alle spørgsmål fra databasen, men cache forespørgslen, da det ikke er sandsynligt, at denne tabel skal opdateres hyppigt.,, $spørgsmål = spørgsmål: husk (60) - > get(),,, det er det!nu til næste time af sider om, at du vil forblive skjult, og databasen vil ikke blive rørt.,,, 6.betragtning komponister,, du vil støde på situationer, hvor flere synspunkter, kræve, at en bestemt variabel eller del af data.et godt eksempel herpå er en sejlads bar, der viser en liste over hundetegn., også holde registeransvarlige mindst muligt, laravel giver mening komponister til at forvalte det.,, betragtning: komponist ('layouts. nav«, funktion ($synspunkt) {$synspunkt - > med ('tags "['tag1", "tag2 ']);}), med dette stykke kode, til enhver tid at, layout /nav.blade.php, lyset er ladt, det vil få adgang til en variabel, $hundetegn, svarende til den, forudsat at vifte.,,, 7.simpel autentificering, laravel finder en død simpelt tilgang til godkendelse.blot at bestå en række papirer, sandsynligvis ude fra et login form,,): attempt(),.hvis de værdier svarer til, hvad der er gemt i, brugere, tabel, vil brugeren omgående registreres i. $bruger = ['e - mail "= > e - mail -", "kodeord" = > "kodeord"]; hvis (): forsøg ($bruger)) (//bruger nu er logget på.//adgang bruger genstand med): user()}, hvad hvis vi skal logge brugeren ud - måske, når en, vær klar, uri er ramt?det er let.,, rute: kom ('logout, function() {): logout(); tilbage omdirigere: home().}), 8.- rolig, ressourcer, arbejde i laravel har aldrig været nemmere.om registrering af en opfindsom registeransvarlige, enkel, rute: resource(), som så:,, rute: indtægt ('orders "," orderscontroller), med denne kode, laravel vil registrere otte ruter.,,, kom /ordrer, kom /ordrer: for få /ordrer /skabe, kom /ordrer: for /redigere, post /ordrer, læg /ordrer:,, stil /ordrer:,, slette /ordrer:,,, yderligere, ledsager registeransvarlige kan fremskaffes fra kommando linjen:,, folkesundhedsprogrammet håndværker registeransvarlige: orderscontroller, inden for dette skabte registeransvarlige, hver metode, svarer til en af de ruter, ovenfor.for eksempel, /ordrer, vil kort til, indeks, metode, /ordrer /skaber, vil kortet til at skabe, osv., har vi nu de nødvendige beføjelser til at opbygge fredelige anvendelser og grænseflader med lethed,,, 9.blade blive, og, ja, folkesundhedsprogrammet er af natur en blive sprog, det har ikke udviklet sig til at blive en meget god.det er okay, laravel tilbyder sine blade motor til at udfylde dette hul.bare nævn din synspunkter med en. blade.php, udvidelse, og de vil automatisk blive parset, i overensstemmelse hermed.nu kan vi gøre ting som:,, @ hvis ($ordrer - > count()) < ul > @ hver ($ordrer som $for) < li > {{$for - > afsnit}} < /li > @ endforeach < /ul > @ endif, 10.faciliteter, fordi laravel gør brug af komponist, vi lige har phpunit støtte inden for rammerne af den kasse.de rammer og løb, phpunit, fra kommando linjen for at teste det. og endnu bedre om, laravel giver en række test hjælpere for de mest almindelige former for funktionelle test. lad os sikre, at hjemmesiden returnerer et status kode 200.,, offentlig funktion test_home_page() {$denne - > indkaldelse ('get "," /"); $- > assertresponseok();}, eller måske vil vi bekræfte, at når en kontakt, som er udstationeret, brugeren er omdirigeret til hjemmesiden med en hastebesked.,, offentlig funktion test_contact_page_redirects_user_to_home_page() {$postdata = [" navn "= > joe eksempel, e - mail - = > e - mail - adresse", "budskab" = > "jeg elsker din hjemmeside"] $- > indkaldelse ('post ","/kontakt, $postdata); $- > assertredirectedtoroute ('home, nul, ['flash_message ']);},,, 11.fjern komponent, som en del af laravel 4.1 - frigives i november 2013 - du nemt kan skrive en håndværker ordre til at være i din computer, og udføre en række aktioner.det er så simpelt, som anvender, shh, facade:, være: i ('production ') - > løb (["cd /var /www, så træk oprindelse mester]), går en række kommandoer til, run(), metode, og laravel vil håndtere resten!nu, fordi det giver mening at gennemføre kode dette som en håndværker kommando, du behøver kun at køre under folkesundhedsprogrammet håndværker kommando gør deploycommand, og indsæt det relevante kode til kommando, ild, metode til hurtigt at skabe en særlig anvendelse ordre!,,, 12.begivenheder, laravel giver en elegant gennemførelse af observatøren mønster, som du kan bruge i deres ansøgninger.lyt til lokalt begivenheder, som belyser. spørgsmål, eller endda ild og fange deres egne, en moden anvendelse af begivenheder i en ansøgning kan have en utrolig virkning på deres vedligehold og struktur, begivenhed: hør ('user. signup, function() (//gør, hvad der skal ske, ////////når en ny bruger tegn på}), som de fleste ting i laravel, hvis du vil i stedet foretrækker at henvise en klasse navn, snarere end en lukning, kan du frit kan gøre det.laravel vil så løse det ud af ioc container.,, begivenhed: hør ('user. signup "," usereventhandler), 13.på alle ruter,,,,,,, som en ansøgning, vokser, kan det være vanskeligt for de ruter, der er blevet registreret.dette gælder især, hvis ordentlig pleje, ikke er blevet givet til deres, routes.php, fil (dvs. misbrug implicit routing).,, laravel giver en nyttig, ruter, ledelse, som vil vise alle registrerede ruter, som den registeransvarlige metoder, at de udløser.,, folkesundhedsprogrammet håndværker ruter, 14.køer, tænke, når en bruger tegn på din ansøgning.sandsynligt, at en række begivenheder skal finde sted.en database, tabel bør ajourføres, et nyhedsbrev liste skal være vedlagt en faktura, skal være rejst, en velkommen, e - mail - kan sendes osv. disse former for handlinger har en tendens til at tage lang tid.,, hvorfor tvinge brugeren til at vente, til disse foranstaltninger, når vi i stedet kan smide dem i baggrund?,, kø: tryk ('signupservice, kompakt ('user "), måske det mest spændende del er imidlertid, at laravel glimrende yder støtte til iron.io skubbe køer.det betyder, at selv uden et gran af "arbejdstager" eller "dæmon" erfaring, vi kan stadig få magt af køer.blot registrere en url endepunkt ved hjælp af laravel er nyttigt, folkesundhedsprogrammet håndværker kø: tilslutte sig kommando, og iron.io vil ping din valgt url, hver gang et job er tilføjet til køen.,,,,,, enkelt skridt til hurtigere resultater.,,, 15.let validering, når godkendelse er påkrævet, og da er det ikke), laravel igen kommer til undsætning!ved hjælp af, validator, klassen er som intuitivt, som det kan blive.bare gå til formål under validering, samt en liste over regler til, metode, og laravel vil tage sig af resten. $for = [afsnit "= > wii u", "beskrivelse" = > spillekonsol fra nintendo '] $regler = [afsnit "= >" behov "," beskrivelse "= > »krævet«] $validatoren = validitetskontrollør: gøre ($for $); hvis ($validatoren - > fails()) (var_dump ($validatoren - > messages()) //validering fejl array}, typisk for denne type kode vil blive opbevaret i din model, hvilket betyder, at validering af, siger, at en ordre kan reduceres til en enkelt metode til:,, $for - > isvalid();,,, 16.tinker tinker,,,,,, især når først lære laravel, det være nyttigt at rode rundt med kernen.laravel, tinker, håndværker kommando kan hjælpe med det, som en del af version 4.1, tinker, kommando er endnu mere magtfulde, nu hvor det udnytter de populære boris komponent.,,, $php håndværker tinker > $for = for: finde (1) > var_dump ($for - > toarray()). > system (...), 17.migration,, at migration som version kontrol i jeres database.på et givet tidspunkt, du kan "prøver" migration, rerun dem, og meget mere.måske er den sande magt ligger i den magt til at presse en app til produktionen, og at løbe en enkelt php håndværker migrere, kommando til øjeblikkeligt bygge jeres database.,, at forberede skema for nye brugere tabel, kan vi løbe:,, folkesundhedsprogrammet håndværker migrere: create_users_table, vil det skabe en migration fil der kan findes i henhold til deres behov.når den er færdig, folkesundhedsprogrammet håndværker migrere, vil skabe det bord.det er det!bliver nødt til at vende tilbage, at oprettelse?rolig!under folkesundhedsprogrammet håndværker migrere: rollback,.,, her er et eksempel på et skema for hyppigt stillede spørgsmål, tabel.,, offentlig funktion up() (skema: skabe ('faqs, funktion (blueprint $tabel) ($tabel - > heltal ('id, sande); $tabel - > tekst ('question) $tabel - > tekst ('answer) $tabel - > timestamps().})} offentlig funktion down() (skema: smid ('faqs)}, meddelelse om, hvordan den, drop(), metode udfører det modsatte af, up(),.det er, hvad der gør det muligt for os at rollback migration.er det ikke nemmere at kævles en flok sql på plads?,,, 18.generatorer, mens laravel giver en række nyttige generatorer, en utrolig nyttigt tredjemands pakke, kaldet "laravel 4 generatorer," tager det endnu længere.generere ressourcer, frø, filer, dreje, tabeller og migration med skema.i denne sidste tip, blev vi tvunget til at skrive den manuelt skema.men med elproducenterne pakke er aktiveret, kan vi i stedet gøre:,, folkesundhedsprogrammet håndværker generere: migration create_users_table - områder = "brugernavn: string, kodeord: string", generatoren vil tage sig af resten.dette betyder, at to kommandoer, kan du forberede og bygge en ny database, tabel.,,, laravel 4 generatorer, kan installeres gennem komponist.,,,, 19.kommandoer, som nævnt tidligere, er der mange tilfælde, hvor det kan være nyttigt at skrive skik kommandoer.de kan anvendes til skafottet ansøgninger, skabe filer, sende ansøgninger, og alt derimellem.,, fordi det er en fælles opgave, laravel gør processen med at skabe en kommando så let, som det kan være.,, folkesundhedsprogrammet håndværker kommando gør mycustomcommand, kommandoen, som vil skabe det nødvendige boilerplate til din nye skik kommando.næste, fra den nyetablerede, app /kommandoer /mycustomcommand. php, fylder det relevante navn og beskrivelse:,, beskyttede $navn = kommando: navn, beskyttede $beskrivelse = kommando beskrivelse. «, og endelig i kommando klasse, fire(), metode, udføre enhver handling du har brug for.når færdige, er det eneste resterende skridt er at registrere kommandoen med svend, fra app //håndværker. php,.,, håndværk: tilføje (nye mycustomcommand), tro det eller ej, det er det!nu må du ringe til din brugerdefinerede kommando fra terminalen.,,, 20.nar af facader,, laravel udnytter den facade - stærkt.dette giver mulighed for rent statiske som syntaks, at du vil uden tvivl komme til at elske (, rute: get(), ud: get(), osv.), men giver mulighed for fuldstændig testability bag kulisserne.,, fordi disse "underliggende klasser" løses ud fra ioc 's beholder vi nemt kan bytte dem, der ligger til grund for tilfælde med hån, for afprøvning af.dette giver mulighed for en sådan kontrol:,, validitetskontrollør: var ('make ') - > once();,, ja, vi kalder, var direkte af facaden.bag kulisserne, laravel gør brug af de fremragende hån rammer, der giver mulighed for dette.det betyder, at de frit kan anvende disse facader på din kode, men stadig mulighed for 100% testability.,,, 21.formular hjælpere, fordi bygningen former kan ofte være en tung opgave, laravel form, bygmester skridt til at lette denne proces samt gearing, mange af de særheder forbundet med form konstruktion.her er et par eksempler:,, {{form: open()}} {{form: tekst ('name)}} {{form: textarea ('bio)}} {{form: selectyear ('dob, dato (')') - 80, dato (')')}} {{form: close()}}, hvad med opgaver, som f.eks. huske på input fra de tidligere form indgivelse.laravel kan gøre det automatisk.,,, 22.ioc container, kernen i laravel er dets magtfulde ioc beholder, som er et redskab, der hjælper i forvaltningen af klasse afhængighedsforhold.navnlig beholderen har magt til at løse klasser automatisk uden konfiguration.bare typehint dine besiddelser, inden for producenten, og, efter instantiation, laravel vil bruge folkesundhedsprogrammet er overvejelser api til intelligent læser typehints, og forsøg på at tilføre dem.,, offentlig funktion __construct (mydependency $ting) ($- > ting = $;}, så længe de anmoder om klassen af ioc container, denne beslutning finder sted automatisk, $myclass = app: gøre ('myclass "), en vigtig bemærkning er, at de altid er løst fra ioc beholder.som sådan, kan du frit typhint din registeransvarliges besiddelser, og laravel efterfølgende vil gøre sit bedste for at injicere dem.,,,, 23.miljøer, mens et enkelt miljø kunne arbejde for små projekter, for alle anvendelser af størrelse, flere miljøer, vil vise sig at være nødvendige.udvikling, afprøvning, produktion... alle disse er væsentlige, og de kræver, at deres egne konfiguration.,, måske din test environment bruger en database til minde om afprøvning.måske er din udvikling miljø anvender forskellige api - nøgler.sandsynligt, at deres produktion miljø vil bruge en skik database forbindelse snor. heldigvis laravel gør opgaven let igen.se, bootstrap /start.php i din app.,, her er en grundlæggende demonstration af, at både lokale og produktion, miljø, baseret på browser adresse bar. $env = $app - > detectenvironment (array ("lokale" = > array ('localhost ")," produktion "= > system ('*. com')), mens det vil virke, generelt er det foretrak at anvende miljø variabler for den slags ting.ingen bekymringer, det stadig er muligt i laravel!i stedet for blot at vende tilbage en funktion fra, detectenvironment, metode på beholderen objekt. $env = $app - > detectenvironment (function() {tilbage getenv ('env_name)?"lokale"}), nu, medmindre et miljø med variabel er fastsat (som du vil gøre for produktion), vil miljøet misligholdelse, lokale,.,,, 24.simpel konfiguration, laravel endnu en gang tager en død simpelt tilgang til konfiguration.skabe en folder inden for app /ud, der passer til dine ønskede miljø, og enhver konfiguration filer inden for den rangfølge, hvis miljøet navn tændstikker.som sådan, at sige, at fastsætte en ny fakturering api - nøglen til udvikling, kunne du gøre:,, <?php app /ud /udvikling /billing.php afkast ["api_key = > deres udvikling mode api - nøgle"], konfiguration switcharoo er automatisk.enkelt type ud: kom ('billing. api_key "), og laravel vil en korrekt afgørelse, der fil at læse fra.,,, 25.øverste hylde yderligere uddannelse, når det kommer til uddannelse, laravel fællesskab, på trods af en relativt ung alder, er en endeløs.i lidt over et år, et halvt dusin forskellige bøger - vedrørende alle spørgsmål af laravel udvikling - er blevet løsladt.,, lære alt fra grundlæggende, at testning, til at opbygge og opretholde store apps.,








Previous:
Next Page: