Det bästa sättet att lära sig PHP

Att lära sig något från början är nästan alltid en svår affär - du har helt enkelt ingen aning om var du ska börja, eller inte börja, sparka saker. Jag var avskräckt av att lära mig om idiosynkraserna hos C ++: s syntax när allt jag ville lära mig var några darnprogrammeringskoncept. Som jag är säker på att du kan hålla med är det här en mindre än idealisk situation.

Det här är serien Nettuts + "Det bästa sättet att lära" kommer in i bilden. Denna serie är avsedd att vara din plan, din färdplan, din handlingsplan för att lära dig ditt ämne! Du behöver inte oroa dig för att hitta de bästa resurserna, sortera ut de dåliga och räkna ut vad du ska lära dig nästa. Det är allt här. Följ bara det, steg för steg.

Idag ska vi ta reda på det bästa sättet att lära sig PHP.

Letar efter en snabb lösning?

Om du behöver omedelbar hjälp, försök att arbeta med en av experiencedяPHP-utvecklarna på Envato Studio. De kan fixa PHP-fel, lägga till funktioner eller till och med skapa nya appar för dig.

PHP-utvecklare på Envato Studio

Uppgift # 1: Undvik Naysayers

Om du läser detta är chansen att du har Googled mycket för att bestämma vilket språk du ska lära dig och hur. Och utan tvekan måste du ha stött på massor av artiklar om hur språk X är så mycket bättre än PHP - och PHP kommer att dö genom oskärpa snart.

Hatare kommer hata!

Som det populära ordstävet går kommer hatare att hata! PHP har varit med på webben som du vet det och det är av mycket bra skäl. Det är ett modent språk, har utmärkt dokumentation och ett enormt antal lärande resurser tillsammans med ett stort utbud av verktyg som byggts runt det.

Och låt oss inte glömma den rena spridningen av värdar och ramar som PHP har skapat. Gilla Heroku som värd? Oroa dig inte, det finns också ett antal bra alternativ för PHP!

Uppgift # 2: Installera PHP via [X] AMP

Du kan bara installera PHP men det blir ganska tråkigt utan en server och någon form av databas att leka med. Och som nybörjare är det inte riktigt trivialt att få alla dessa installerade och konfigurera var och en för att arbeta med de andra utan problem.

Här tar du ett paket som XAMPP. Dessa livsbesparare installerar vanligtvis Apache, din webbserver, tillsammans med mySQL, ett databasssystem tillsammans med PHP, som sänker avsevärt.

Bonuspoäng om du är kodmonkey och installera allt för hand.

Uppgift # 3: Lär dig grunden

Innan jag skickar dig till alternativa källor till PHP-upplysning, låt mig först hänvisa till vår egen serie för absoluta nybörjare från ingen annan än din favoritredaktör, Jeffrey Way.

I den här serien är allt från att installera PHP till variabler, från funktioner till arbete med MySQL, under 40 +.

Du hittar inte en bättre introduktion till PHP-språket än den här serien, och medan det tyvärr inte är gratis kan du prenumerera på Tuts + Premium för endast $ 19. Det är absolut värt det!

Uppgift # 4: Anmäl dig med Khan Academy och Lynda

Khan Academy kan låta som ett udda val eftersom det inte finns några PHP lektioner däri men lita på mig, det är ett bra val. Vad du inte kan hitta i ren PHP, kan du hitta i grunden för programmering. Till exempel, om du är ny på hela programmeringsbandet, är det här ett bra ställe att börja.

Ett annat bra ställe att börja är Lynda. Här på Envato har vi enorm respekt för de som lär sig där - innehållet är vanligtvis toppklass och täcker deras ämnen väl. Och de täcker också ett stort antal ämnen. Om du behöver en särskild lektion ska du börja.

Uppgift # 5: Läs a Få, Bra Böcker

Videon ska ge dig ett mycket bra springbräda, men förhoppningsvis hungrig för mer kunskap. Nedanstående böcker bör ge dig en mer detaljerad introduktion och många olika ämnen för att du ska sluka.

Om du känner dig trött på att läsa de första delarna, bra, gå bara fram till de delar där huvudet gör ont.

PHP Lösningar: Dynamisk webbdesign Made Easy

Författare: David Powers

?Så varför en annan PHP bok? Tja, inte alla som använder PHP är en programmerare. PHP är det vanligaste dynamiska webbspråket som används av designers, om deras webbplatser kräver dynamisk funktionalitet, och det finns hordar av nybörjare som vill skapa dynamiska webbplatser.?

PHP för absoluta nybörjare

Författare: Jason Lengstorf

?PHP för Absoluta Nybörjare börjar i början av webbprogrammeringen, vilket även visar den mest oerfarna webbutvecklaren, genom exempel, hur man bygger ett grundläggande innehållshanteringssystem. Boken dyker direkt till att skriva webbapplikationer med åtföljande förklaring snarare än att förklara elementets språk och sedan visa exempel.?

PHP Cookbook

Författare: Adam Trachtenberg

?PHP Cookbook har en mängd lösningar för problem som du möter regelbundet. Med ämnen som sträcker sig från nybörjarspecifika frågor till avancerade webbprogrammeringstekniker, innehåller denna guide praktiska exempel - eller? Recept? - för alla som använder detta skriptspråk för att skapa dynamiskt webbinnehåll.?

Uppgift # 6: Skapa något enkelt

Det här är den perfekta tiden att bygga något enkelt med din nya funna kunskap.

OK! Med all den information som virvlar inuti, borde du känna dig som en rockstar. Om inte, oroa dig inte, det är helt normalt. Prata med mig senare så vi kan dela anteckningar om hur vi känner.

Det här är den perfekta tiden för att försöka bygga något enkelt med din nya funna kunskap. Det är bäst att inte försöka bygga något för komplicerat och misslyckas - det är mycket mer nedslående än vad du skulle tro. Föreställ dig att bli avvisad för första gången. Nu multiplicera det med några hundra och du kommer att vara nära.

Sedan du precis börjat, spela det säkert och bygga något helt grundläggande som en CRUD app. Ingenting större - några ingångar och ett "uncool" -bord för att visa sparade resultat. Denna lilla övning kommer att testa din kunskap om en hel del PHP-basics, inklusive den mycket välkända "gränssnittet med en databas" färdighet.

Uppgift # 7: Skapa något lite mer komplicerat

Mår bättre nu? Du borde! Du tittade på var det fanns inget och sa "Det här kommer inte göra!" och skapade något från början. Om det var jag skulle jag pumpas. Låt oss använda det för att utöka vår kunskap lite mer.

Medan en enkel CRUD-app är en bra start, skulle du helst behöva mer komplicerat. Ett enkelt inloggnings- / användarsystem är helt fantastiskt för detta.

Du får lära dig hur sessioner fungerar, hur grundläggande autentisering görs, hur man implementerar grundläggande säkerhetsåtgärder och ett ton mer.

Notera: Om du behöver lite vägledning, börja här.

Uppgift # 8: Prova en Lean, Lightweight Framework

När du har skapat ett icke trivialt system har du förmodligen märkt hur repetitivt en del av arbetet är. Varför behöver du inte skriva egna sessioner eller arbeta med hashing-lösenord själv? Svaret, mina vänner, är att gå med en lätt ram.

En ram sammanfattar många av de repeterande, pannanordningsfunktionerna i din typiska applikation, vilket frigör din hjärna för att faktiskt få saker gjort.

Notera: För att inte vippa vårt eget horn, men vi har en oerhört noggrann session som täcker nästan alla viktiga delar av CodeIgniter, en mycket lätt, men kraftfull ram. Om du föredrar Kohana gör vi det också!

Uppgift # 9: Prova en Full Stack Framework

Nu när du har varit med en lätt ram, kan du nu kolla in den alternativa sökvägen - en full stack ram. En full stack ramar vanligtvis med mycket fler funktioner, inklusive kodgeneratorer, ORM och en inbyggd server. Ett utmärkt val skulle vara CakePHP - PHP motsvarar Rails.

Anledningen till att du behöver checka ut senare är att det finns mycket "magi" på gång. Utan en solid förståelse för hur lätta ramverk fungerar, är det svårt att verkligen gräva i de bättre presenterade eftersom du för det mesta kommer att gå vilse och förstår inte på vilket sätt saker fungerar.

Notera: Nettuts + -laget rekommenderar både FuelPHP och Laravel som toppmoderna, moderna PHP-ramar.

Ytterligare läsning

  • Komma igång med FuelPHP Framework
  • Bygg en administratörspanel med FuelPHP
  • Enkel formulär validering i FuelPHP
  • Bygg Web Apps From Scratch: Introduktion
  • Bygg Web Apps From Scratch: Eloquent
  • Bygg webbapplikationer från scratch: Filters, Validations och Files

Uppgift # 10: Bygg något fantastiskt

Med all den informationen bakom dig, vilket ger dig Indianas swagger, är det dags att bygga något riktigt fantastiskt. Detta är slutdestinationen för PHP nirvana - och valet är upp till dig.

Så vad ska du bygga? Här är några idéer:

  • En blogg är alltid ett säkert alternativ. Det finns massor av öppen källkodslösningar för dig att få inspiration för mjukvaruarkitekturen och funktionalitetskraven är entydiga.
  • Det är en liten gammal skola, men ett diskussionsforum är ett annat utmärkt val. Moderator rättigheter och postnummer, ahoy! Om du behöver lite vägledning, är denna handledning ett bra ställe att börja.
  • Eller om du är för hip för någon av dessa, bygg dig själv ett projekthanteringsprogram eller till och med bara en todo-lista. De är alltid roliga att bygga och du kommer nästan alltid att sluta använda det personligen.

Självklart finns det bara förslag. Ingen hindrar dig från att bygga ett multi-user, realtime chattrum eller en tjänst som tar emot inmatning från slumpmässiga internet främlingar och tänder upp saker i ditt rum. Ingen dömer, bli galen!

Uppgift # 11: Fördjupas till utveckling Eliteness

Utveckling handlar lika mycket om arbetsflödet så mycket som det handlar om koden.

Utveckling handlar lika mycket om arbetsflödet så mycket som det handlar om koden. Nyligen har en typisk utvecklares arbetsflöde förbättrats kraftigt genom versionskontroll och plattform som servicelösningar.

Versionskontroll, som förväntat, frigör dig från att behöva hantera revisioner manuellt medan PaaS-lösningar räddar dig från att behöva göra mycket sys admin-arbete för att få din app att skala.

Resurser för den senare är lite svåra att hitta men här är en utmärkt skärmdump om att komma igång med Git.

Uppgift # 12: Bli involverad och uppdaterad

Nya tekniker och verktyg presenteras varje dag.

Webutvecklingsindustrin är sällan i ett jämviktsläge - allt förändras hela tiden. Nya tekniker och verktyg introduceras varje dag och det är viktigt att du inte bara läser om dem utan också börjar bidra.

Hitta lite glitch i något ramverk? Skicka en patch. Lagt till lite ny funktionalitet? Patch bort! Dessa tjänar inte bara dig bra karma utan också värdefulla poäng på ditt CV.

Och åh, om att hålla uppdaterade saker? Prenumerera på vårt flöde och följ oss på Twitter och jag lovar att du vet allt du behöver veta!

Uppgift # 13: Håll ett öppet sinne och utforska

Även om du är en chef för PHP-domänen, har du inte råd att, eller borde inte, vila. PHP är ett grand språk men det betyder inte att det gör absolut allt perfekt.

Det finns ett ständigt ökande antal nya språk där ute och lägger till en egen spinn för att lösa ett mycket specifikt problem som du helt enkelt inte har råd att missa på. Och att lära sig något nytt någonting förstör inte först kunskap som uppnåtts tidigare gör det? Tja, förutom Star Wars, såklart. De nya filmerna var en skarpskott.

Ruby, Python och Clojure är några av de språk som jag ständigt förvånad av och jag tror att de förtjänar din uppmärksamhet också. Varken av dessa språk är nödvändigtvis "bättre" än PHP men varje av dem gör saker på sitt eget unika sätt och du är skyldig dig själv en chans att ta en titt och ta reda på om det här tillvägagångssättet är för dig. Medan vi är lite låga på Clojure-relaterat innehåll har vi utmärkta handledning på Ruby och Python här.

Slutsats

Jo, det här är slutet på vägen, partner! Förhoppningsvis kan den här planen hjälpa dig att bli en PHP-mästare och verkligen ta över världen.

Om du känner att jag saknar några uppenbara resurser här kan du gärna skrika på mig i kommentarfältet nedan och jag uppdaterar den här artikeln när du gråter tyst. Tack så mycket för att läsa!

Förresten kan du också lära dig mycket genom att bläddra i PHP-skript till salu på Envato Market. Det finns nästan 3000 av dem, som täcker allt från bokningssystem till e-postmarknadsföring. De kan ge dig en uppfattning om vad som är möjligt med PHP, och vem vet, kanske hittar du något där för att hjälpa dig med dina PHP-projekt!

PHP-skript på Envato Market