Vad ligger i framtiden för PHP? Förra året kom version 5.4, men tidigare har versionerna kommit väldigt sparsamt. Nu har utvecklarna bestämt sig för att släppa versioner mer kontinuerligt, med en tidsplan. En version om året, i år kommer alltså PHP version 5.5, nästa år version 5.6 etc. PHP 5.3 stöds bara till 2014! Därefter är det dags att släppa 5.3, som jag tror många fortfarande använder. Här ser du David Soria Parra prata om planeran på PHP Conference London 2013…
Till PHP-konferens i Berlin
Den 2 – 5 juni åker jag till en internationell PHP-konferens i Berlin. Därifrån kommer jag försöka rapportera med bilder om föreläsningarna och när det händer något intressant. En hel del av deras information är på tyska, men jag har försäkrat mig om det att finns mycket på engelska också ;) Det finns en rad föreläsningar att se fram emot, t.ex. om Nginx, responsivm design, strategier m.m.
Planer på en avancerad PHP-kurs
På grund av efterfrågan finns det planer på en avancerad PHP-kurs, som komplement till den grundkurs vi har. För att göra det bästa möjliga är jag intresserad av vad DU som kan PHP tycker är mest intressant att lära sig utöver basfunktioner och enkel databashantering. Skriv gärna förslag bland kommentarerna. Nackdelen och fördelen med PHP är att det förstås finns alldeles för mycket för att ta med allt ;)
Några förslag än så länge (tack till medlemmarna i PHP-gruppen):
- Autoladdning av klasser
- Phpunit
- Olika Frameworks
- Datbaslager
- PDO
- Objektorienterad programmering
- MVC
- Composer
- Namespaces
- Reflection
- Bildhantering med ImageMagick
- Templates
- …(fyll på med byggstenar) …
Licensen för dig som verkligen vill dela med dig av kod
Det finns extremt enkel licens för dig som verkligen vill dela med dig av kod. Den heter WTFPL (”Do What The Fuck you want to Public License”) :) Kort och gott så tillåter den det mesta.
Så då slipper du fundera över GPL2 vs GPL3 vs LGPL vs BSD vs MIT vs CC Attribution och så vidare.
Exempel på några som använder WTFPL:
Du kan läsa vidare på WikiPedia. Jag tror framtida kodmaterial på den här kursen kommer använda sig av WTFPL som licens. Eller liknande om nu svärord skrämmer någon.
Behöver du en mer rumsren licens
Förfasas du över ordet fuck så finns det alternativ, t.ex. Creative Commons Attribution 3.0 License CC BY 3.0. Duger inte den heller så kan du säkert forska lite själv på The opensource initiativ
Är det löning?
Genom gruppen på Facebook, PHP Sverige, såg jag medlemmen Pontus skriva om det här roliga projektet, ”Är det löning”. Håll koll på när det är löning, och till det finns till och med ett API ;) Tack Pontus!
Det är kul med utbyte i sådana här grupper tycker jag. Det gör det också enklare att jobba tillsammans med sitt nätverk, att hitta hjälpa när man behöver. Jag har hittat några liknande grupper på Google+.
Men börja med att kolla in när det är löning!
Efterfrågan på PHP-konsulter
Jag har på senaste tiden fått fler och fler efterfrågningar om jobb som PHP-konsult. Jag har hört företag nämna att det de hittar kunniga utvecklare/systemvetare inom .NET, men när det gäller PHP är det svårare att få tag på. Kanske är det här bara ett sammanträffande, kanske har jag blivit lättare att hitta. Annars är det en stor efterfrågan på oss. Vad tror du?
OK att ”skrapa” innehåll?
Är det ok att skrapa innehåll från en sajt (t.ex. med PHPs funktion curl). och visa upp det på sin egen webbplats utan att fått ett godkännande? I fallet jag funderar på gäller det sökresultat från bland annat Google. Jag råkade nämligen på att detta efterfrågades i ett arbetsprov, och att man dessutom uppmanades att publicera resultatet.
Jag har väckt frågan bland annat i min grupp på Facebook, ”PHP Sverige”. Slutsatsen jag kommer fram till, efter en rad kloka svar från medlemmarna, är att det allar minst ligger i en gråzon. I vilket fall är det inte att rekommendera eftersom det inte är tillåtet i Googles villkor, troligen kommer man blockeras efter ett tag.
Hämta innehåll i sök på ”rätt sätt”
Vill man hämta sökresultat finns dock ett API från Google, och vissa andra sökmotorer har fria API för detta. Det finns fortfarande trafik-begränsning i Googles API men den är då väldigt hög.
Vill du läsa mer om Googles API så kan jag rekommendera Google Developers.
Snygg felsökning i PHP med print_r
Ett litet tips hur du gör enkel felsökning i PHP med print_r(). Det är troligen en av de vanligaste felsökningsmetoder jag använder i PHP, för att till exempel se om en array skickas rätt. print_r() skriver ut innehållet i en array, så här beskrivs funktionen i online-manualen:
Prints human-readable information about a variable
Men inte nog med det, print_r kan returnera värdet till en variabel istället, och den kan dessutom skriva ut din array välformaterat. Genom att sätta <pre> framför och </pre> blir det lite lättare att läsa!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php // En array skapas på något sätt // här gör jag det manuellt för att testa $minarray = array( 'banan' => 'gul', 'blåbär' => 'blå', 'äpple' => 'rött' ); // Någonstans i ditt skript, där du behöver se att // variabeln innhåller rätt information $check = '<pre>' . print_r($minarray, true) . '</pre>'; // Senare... echo $check; ?> |
Resultatet, snyggt (nåja) och läsbart :)
Genom att lägga informationen i en variabel går den hantera i en miljö där funktion och layout är uppdelad (som t.ex. MVC).
Tips om dina metoder för felsökning i PHP
Om du har metoder att felsöka i PHP, tveka inte att tips PHPkurs.se, skicka ett mail till mattias@kurswebben.se eller skriv en kommentar till det här inlägget! :)
Den ultimata texteditorn?
Jag tror jakten på den ultimata texteditorn för att skriva PHP-kod nått sin ände, för mig i alla fall. Sedan en tid tillbaka använder jag Sublime 2 för webbutveckling. Den här editorn har allt jag kan önska mig, men håller ändå gränssnittet rent och snyggt.
Några funktioner som jag uppskattar enormt:
- Multiple selection
Redigera på fler ställen samtidigt, det tar ett tag att hitta rätt användningsområde men attans så bra det är när man vänjer sig. - Snabbkommandon för att navigera
Ctrl + R för att snabbt hitta rätt i långa dokument, Ctrl + P för att snabb hitta rätt fil elelr rätt plats med funktionen ”Goto Anything”, Ctrl + Shift + P för att komma åt kommandon. - Delade vyer
Du kan del på fönster i fler kolumner och ha olika filter öppna i varje, s.k. ”Split Editing”. - Genomtänkt
Det kanske låter som ett konstigt argument, men alla smaå funktioner känns genomtänkta, och är det något som inte passar kan man troligen ändra det lätt. - Snabb
Trots att det finns mycket under huven är editorn mycket snabb. - Överblick på dokumentet
Till höger har jag en list där jag se all kod i dokumentet, och var jag är i koden. Man kan även använda den för att scrolla. När jag fått filer med tusentals rader kod på halsen är jag rätt glad åt den här listen. - Allt det vanliga…
Kort och gott det som brukar finnas, färgteman för syntax och gränssnitt, projekthantering, snippets, sök och ersätt.
Jag rekommenderar alla som jobbar med PHP att prova den här :) Det finns en gratisversion men då får man påmminelser om att köpa, så vill man slippa det obehaget får man köpa en ganska billig licens.
På TKJ kan du läsa om fler editorer, där finns bland annat min andra favorit Komodo Edit med.
Kraftfulla verktyg för WordPressutvecklare
Jag jobbar mycket med WordPress och har hittat några kraftfulla verktyg för WordPressutvecklare. Det första jag vill tipsa om är Pods Framework, en vidareutveckling som hjälper dig integrera extern data i WordPress, eller skapa ny data inom WordPress-system. Det har förstås gått att göra tidigare genom kod, men nu går det lite snabbare och automatiserat.
Med admingränssnitt kan du hantera data både från WordPress egna hantering för metadata eller från externa tabeller. Med samma gränssnitt skapar du nya innehållstyper, kategoriseringar och annat…
Så, om du jobbar mycket med WordPress och ofta försöker hantera annan data med egna ”Custom Post Types” och med andra metoder, kolla in Pods Framework!
Själv använder jag det för tillfället till en ny version av min privata hemsida med portfolio. Jag lär hojta här när den är klar! :D Vi har även en hel del andra godbitar på gång här på kursen, men som är för tidigat att berätta om, så håll utkik.
När och-tecken försvinner i din url
När och-tecken försvinner i din url kan det vara svårt att hitta orsaken. Varför skickas inte data, eller varför kommer den inte fram? Det är lätt att man börjar leta på helt fel ställe. Men om du skriver om din adress med .htaccess och mod rewrite kan de tvara så att den tar bort ampersand, dvs och-tecken. Lägg till flaggan [B] i dina omskrivningsregler så ska det fungera.
Escape backreference
Det hela är lite mer komplicerat, men jag råkade på fenomenet när mina och-tecken som skickades i en url försvann. Här kan du läsa mer om B-flaggan och hur den fungerar.
Hämta sökförslag med MySQLs funktioner
Just nu arbetar jag delvis med en stor sökfunktion för att register. Att hämta bra förslag när folk börjar skriva i en sökruta är en utmaning, speciellt när det finns flera sorters information som ska hämtas, och ibland tillsammans. Det finns en rad funktioner i MySQL som är till stor hjälp, LIKE, REGEXP, EXISTS, subquerys med mera. INSTR är en funktion som hjälper att se om det finns ett värde i databasen som förekommer i en textsträng.
Om användaren skrivit ‘phpkodare i örebro med omnejd’, så kan du se om det finns en kategori i databasen som förekommer i textsträngen:
SELECT * FROM category WHERE INSTR('phpkodare i örebro med omnejd', category_name); |
Varefter man lägger till fler och fler sökdelare gäller det förstås att se till att en sökfunktion inte blir seg. En cache på gjorda sökningarna kan vara till stor hjälp…
Förvandla strängar snabbt
Det finns hemsidor där du kan se ditt nuvarande ip (t.ex. mittip.se). Det finns hemsidor där du kan snabbt kan köra PHPs funktioner om du inte orkar skriva in skapa en PHP-fil bara för att köra en funktion.
urlencode.se är ett exempel. På htaccesstools kan du generera lösenord för Apache.
Kan du hitta fler? :) Tips gärna…
Svensk Facebook-grupp för PHP
Jag skapade precis en svensk grupp för PHP på Facebook, PHP Sverige. Jag trodde det redan skulle finnas, som det finns för t.ex. WordPress, men jag hittade ingen. Tänkte det kan vara bra för att utbyta idéer och uppdrag. Häng gärna på.
Läsa in filnamn med svenska tecken
Ett problem när man bygger på äldre system brukar vara teckenkodning, speciellt för oss som använda svenska tecken ibland. Igår skulle jag läsa in ett dokument som hade ö i filnamnet. De olika dataformaten var i det här fallet blandade melan UTF8 och Latin 1/ISO-8859-1 (därför att det är ett gammal projekt som byggs på).
utf8_encode() och utf8_decode() kan man komma långt med, men jag lyckades inte få till det i det här fallet.
Räddaren i nöden
Med iconv kan man konvertera strängar mellan olika teckninkodningar:
$filename = iconv("ISO-8859-1","UTF-8//TRANSLIT//IGNORE", $oldfilename ); |
Det går inte stänga av XAMPP?
Genom en elev och egen installation upptäckte jag ett problem när man installera XAMPP. Det går inte stänga av XAMPP? Jo, men man måste starta det som Administratör även om man redan är inloggad som Administratör. Annars kan man klicka man Stop-knapparna i XAMPPs kontrollpanel för Apache och MySQL hur mycket man vill utan att lyckas, utan någon varning/förklaring från programmet. Det beror på UAC (User Account Control) i Windows 7.
XAMPP är ett installationspaket med servermjukvara vi använder på kursen. Där ingår bland annat Apache, MySQL, PHP.
PHPs funktioner i Javascript
I förrgår behövde jag en av PHPs funktioner i javascript. Det var strip_tags(), en behändig funktion som rensar ett värde från HTML-taggar:
<?php $noHtmlTags = strip_tags('<p>Mitt <strong>textstycke</strong></p>'); ?> |
Alright, om man kan javascript kanske det inte är någon raketforskning att skapa motsvarande funktion, men månge andra funktioner är mer komplicerade och de finns redan på PHP.js, under MIT och GPL licens. Perfekt! :)
De enklaste felen först
Buggtesta AJAX är lite speciellt. Jag håller på med en sökfunktion som ska använda jQuery UI Autocomplete. Det ville sig inte, jag satt och letade efter avancerad fel i mitt javascript. Det visa sig vara min data som hade fel format, det hade smugit sig in ett komma på fel plats.
Lärdom: Leta efter de enklaste felen först, i det här fallet tog jag hjälp av JSONlint och hittade snabbt mitt fel.
När WordPress gör det enkelt
Ibland svär jag över WordPress när jag inte hittar lösningar på svåra problem, men ibland gör det också livet väldigt enkelt när man hittar rätt. Det här tipset förutsätter att du känner till litegrann om WordPress. När jag kodar plugins till WordPress använder jag shortcodes (dvs en lite textrad ägaren till hemsidan kan klistra in i ett inlägg). Shortcodes fungerar dock inte i sidebar widgets, du vet de där som du drar och släpper i sidokolumnen. Som tur är går det lätt att åtgärda det problemet, genom ett kommando i ditt layout-temas fil functions.php:
<?php // Get shortcodes running in widgets add_filter('widget_text', 'do_shortcode'); ?> |
Du kan förstås även köra samma funktion från ditt plugin för att få det att fungera. Smidigt. Nu gäller det bara att producera lite shortcodes ;)
Gillar du WordPresstips? Jag kommer fortsätta med det här i bloggen närmaste tiden.
Jobb via nätverk
Jag ser en möjlighet att bygga nätverk för dem som lär sig PHP bra. Har senaste tiden fått mycket intressanta jobbförfrågningar via den här hemsidan eller andra som hört om PHP-kursen. Så vill du att vi ska skriva om dig här på hemsidan eller förmedla en kontakt, vare sig du söker arbete eller arbetskraft så kan är du välkommen att höra av dig :-)