En simpel “Att göra” applikation

Efter att jag fortsatte att läsa boken om PHP och MySQL förstod jag att jag inte kan ge mig in på ett för stort projekt. Jag måste börja från början och skapa någonting enkelt och jobba mig uppåt. Jag tänkte igenom vad jag använder mycket och något jag gjort under lång tid är att skriva listor. Att skriva listor har hjälpt mig att komma ihåg vad som måste göras samt sätta upp mål angående vad som ska göras under en viss dag.

Jag bestämde mig att skriva en applikation i PHP och MySQL som använder just de två språk den bok jag läst handlar om. I detta projektet hade jag inte säkerhet i baktanke utan jag tänkte att jag bara ska få allt att fungera. Jag använde inga ramverk eftersom jag anser att det hade försvårat utvecklingen av en så liten applikation. Något jag ville öva på var också objekt orienterad programmering vilket jag ville klämma in i detta lilla projektet.

För enkel start började jag med anslutningen till MySQL databasen,  i en separat klass Connection.php skapade jag en constructor som initierade en anslutning till databasen via PDO. PDO är en väldigt simpel väg att ansluta till databasen samt ifall man skulle vilja byta databas är det väldigt lätt att ändra. Jag nämnde att jag inte skulle tänka på säkerhet men kan endå nämna att PDO är ett säkert sätt att hantera databasen via kod då den förbereder kodraden innan den körs vilket lägger på ett lager säkerhet.

<?php
public function __construct() {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
}
?>
Jag gick manuellt in i databasen via phpmyadmin och lade till ett par test inlägg för att ha något att jobba med visuellt. Därefter gick jag in i index.php och började jobba med att få något att visas på skärmen. Vi var nu anslutna till databasen och hade ett par test inlägg i databasen. Det som behövdes var en funktion som hämtar inläggen ifrån databasen och placerar dem så användaren kan se dem visuellt.
<?php
foreach($dbh->query('SELECT * FROM tasks') as $row)
Ett enkelt sätt att loopa igenom varje inlägg som finns i databasen. I denna loopen skapar vi HTML kod som man normalt hade gjort om man designar en hemsida och lägger in klasser som sedan låter oss hantera dem visuellt i CSS efter. Efter detta hade jag mina test inlägg visandes på skärmen.
Sista som behövdes var ett sätta att både ta bort och lägga till nya inlägg. Jag skapade ett simpelt formulär som skickar en POST request till samma sida för att lägga till nya inlägg och lade till en länk som var till för att ta bort ett inlägg genom att också skapa en form med en hidden input som var inläggets id. Enkelt härefter kunde jag skapa två funktioner som var näst intill identiska.
<?php
public function addTask($title, $text){
$sql = "INSERT INTO tasks (title, text) VALUES(:title, :text)";
$q = $this->dbh->prepare($sql);
$q->execute(array(
':title' => $title,
':text' => $text));
}
Efter detta var jag färdig med min simpla applikation. Något jag hade velat tillägga till applikationen hade varit kategorier som använder fler databaser så jag får känn för MySQLs JOIN statements samt lägga till funktion för att uppdatera / redigera inlägg. Något mer som hade varit bra hade varit säkerhet så som att inte vem som helst kan lägga upp tasks.
Något som jag kommit och tänka på nu efteråt är att PHP och backend i helhet är något som är väldigt roligt och underhållande för mig som programmerare men som ensamvarg är just nu frontend viktigare. Något som är bra med frontend är att det nästa varje dag händer något nytt, det finns nyhetssidor att följa och så mycket att lära sig. Det är också väldigt viktigt eftersom det är vad din kund som webbutvecklare ser, din kund ser inte din kod för hur ditt bokningssystem ser ur han vill bara att det ska fungera. Han ser och bryr sig om hur det visuella på sidan ser ut vilket fått mig att tänka på ifall jag ska hålla mig till WordPress som bidrar med färdigställda backend funktioner och sedan fokusera på design och frontendutveckling. Detta är något jag ska kika på!
Tack för mig!

 

Var är jag nu?

Jag har nu bestämt mig att börja hålla i en blogg som jag driver på min portfolios webbserver. Jag såg på drivandet av en blogg som en möjlighet att dokumentera ner min personliga utveckling vilket också kommer vara inriktningen på det jag skriver här och jag tänkte börja med ett inlägg som grundligt berättar om hur jag kom hit där jag är idag.

För cirka 5 år sedan var jag väldigt inne i spelvärlden och redan då såg min far att det inte var bra för mig att jag hela dagarna satt och spelade spel. Han har mycket under min uppväxt försökt uppmuntra mig till att bita tag i studier så att jag kan få ett bra jobb som jag trivs med. Han försökte att få mig intresserad av olika saker vilket inget av det bet på mig, jag var bara intresserad av att spela datorspel. En dag då jag var 13 år kom han på idén att locka mig till att göra något annat genom att berätta för mig hur man kan skapa egna spel. Detta var då jag först fick reda på vad programmering betydde vilket jag inte hade en aning om förut. Jag blev helt fångad av hans idé och följde snabbt den första “Tutorial” jag hittat och efter några timmar hade jag laddat ner Visual Studio och skrivit mitt första Hello World i Visual Basic. Jag fortsatte med att lära mig mer om programmering och jag läste varje dag på internet om programmering för att lära mig mer, jag började även spendera mitt studiebidrag på böcker som jag nu har väldigt många av.

Olika perioder gick och mitt intresse för kod och programmering gick upp och ner men då tiden kom för att börja på Gymnasium och jag hade kommit in på Teknik linjen som skulle lära ut just programmering fick mig väldigt intresserad igen och jag började snabbt komma igång med mina gamla vanor då jag satt varje bussresa morgon och eftermiddag på min smartphone och läste om programmering och så fort jag kommit hem var det bara att koda som gällde. Sedan kom programmerings kurserna och det var TOTAL katastrof, allt som blev utlärt i hela programmering de två programmerings kurser vi hade kunde jag redan och det var bara tråkigt för mig att ens vara där. Jag tappade snabbt mitt intresse för Java, C++ och C# och började komma igång med mina gamla vanor med spelandet.

Ett annat ämne som vi också hade kurser i var gränssnittsdesign och webbutveckling vilket jag alltid i tidigare ålder har boycottat och sagt att det inte är riktigt programmering att skriva HTML & CSS.  En dag kom då vi fick en uppgift att designa om den sämsta hemsidan vi hade hittat på internet till en modern och bra hemsida. Jag hade kammat hem jackpotten om uppgiften bara gällde att hitta den sämsta hemsidan för jag valde den mest gräsliga någonsin. Hemsidan jag hittat tillhörde en egenföretagare som sålde traktorer och lastbilar, han hade blandat färger, typsnitt och text storlek hur som helst och det var i princip omöjligt att göra en sämre hemsida än den jag hittat. Dagen kom för redovisning och jag kopplar in min dator till projektorn och sedan kollar på det jag själv har att visa upp och vad är det jag ser.. En stor besvikelse, jag hade alltså lyckats att skapa den fulaste hemsidan som någonsin skådats.

Detta slog hårt på mig då jag tillåter aldrig mig själv att vara sämst eftersom jag är lite av en tävlingsinriktad människa. Efter detta började jag läsa på mer om design samt HTML & CSS och jag tillochmed frågade min lärare om råd efter lektionerna då jag verkligen kände att jag var så dålig. Han var snäll och hjälpte mig med råd samt bidrog med böcker som behandlar design. Jag tog min fritid och riktade bort den ifrån spelandet och drog mig mer åt frontend webbutveckling. Några månader gick och det var dags att visa upp en ny uppgift vi alla hade fått vilket var en portfolio hemsida. Jag gör samma som sist och jag kopplar in kabeln till projektorn och kollar på min skapade hemsida och känner mig mycket mer stabil och lycklig. Jag vände mig till min klasskamrater och ser också att jag fångat deras intresse.

Att skapa en hel hemsida som också blir färdig var en helt annan upplevelse än att programmera eftersom mina program skrivna i Java, C++ och C# sällan blev 100% färdiga innan jag gick vidare. Nu när jag skapat något från början till slut som jag gjort med min hemsida förstod jag vad jag verkligen ville.

Idag fortsätter jag med att lära mig webbutveckling, jag har inte bestämt mig ifall jag vill rikta in mig på backend lösningar eller fortsätta med frontend då mina design förmågor inte krigar med de som är tip-top. Jag har utvecklat mina kunskaper och har lanserat hemsidor som jag faktiskt är nöjd med. Idag då detta inlägget skrivs så är jag mer taggad på att lära mig frontend eftersom det är där mina rötter ligger, jag har påbörjat en app i angularjs som jag sedan ska lägga upp på min server där jag ska kunna skriva listor i form av “Att göra” så jag slipper använda upp alla mina anteckningsblock här hemma. Jag har också börjat läsa böcker igen och jag har kommit långt i boken PHP Bible samt påbörjat Eloquent Javascript.

Var jag är nu är på god väg inför att fullfölja min dröm med programmering och jag vet just nu vad jag vill och jag blir mer och mer målmedveten dag för dag. Jag kommer fortsätta göra inlägg i framtiden som behandlar vad jag gjort samt vad jag lärt mig utav det för att de som är intresserade och framför allt jag själv kan följa min utveckling enkelt då jag behöver det.

Tack för mig!