Nikush Patel har skapat en trevlig liten sajt med tips för PhpStorm, i gif format. Väldigt trevliga som jag kan rekommendera.

Gå lär dig nya tips

Laravel logo

Kort intro – kom igång med Laravel Socialite

Det kom en fråga, på Laravel Sverige gruppen på Facebook igår kväll, om hur man lätt kommer igång med Laravels Socialite.
Eftersom jag ganska nyligen själv suttit och testat Socialite så tänkte jag att jag skulle slänga ihop en kort och konkret tutorial på hur man kommer igång.

Först, vad är Laravel Socialite?

Det är helt enkelt ett composer paket för att enkelt kunna implementera inloggning/autentisering på sin applikation mot olika sociala-nätverk. Det är på inget sätt en komplett lösning för integration av ex Facebook, men den sköter inloggning genom facebook enkelt.

Det här exemplet är för att implementera FB-login (det som efterfrågades) och förutsätter att du har en FB App uppsatt. Men det är lika lätt att implementera något av de andra nätverken som just nu stöds, enligt docsen: ”Socialite currently supports authentication with Facebook, Twitter, Google, GitHub and Bitbucket.”.
Så nu kör vi, tre enkla steg att komma igång med Socialite!

Steg 0

Först av allt måste du lägga till Socialite i din composer.json fil.

"require": {
   "laravel/framework": "~5.0",
    "laravel/socialite": "~2.0"
}

Steg 1

Sedan måste du lägga till ”Laravel\Socialite\SocialiteServiceProvider” i din config/app.php fil och alternativt även ”
‘Socialize’=> ‘Laravel\Socialite\Facades\Socialite’ ifall du vill använda dig av Socialize:: facaden.

Nästa steg är att sätta dina inställningar i config/services.php. När du öppnar filen ser du inställningar för bl.a mailgun, mandrill, stripe och det är här du lägger till fler för de sociala nätverk du tänker använda. I vårat exempel betyder det.

'facebook' => [
   'client_id' => 'DIN-CLIENT_ID',
   'client_secret' => 'DIN-CLIENT-SECRET',
   'redirect' => 'URL-EFTER-SIGNIN',
]

Uppgifterna för client_id och client_secret får du från inställningarna för din Facebook App och redirect är den url dit facebook skickar användaren, eller rättare sagt användarens data, efter att denne loggat in & godkänt din webbplats. Denna url skulle exempelvis kunna vara http://website.dev/oauth-signin/facebook/.

Steg 2

För att nu kunna logga in genom facebook och ta emot användarens data måste vi skapa några enkla routes, öppna app/Http/routes.php.

Route::get('/signin/{social}','HomeController@index');
Route::get('/oauth-signin/{social}', 'HomeController@callbacked');

Dessa två är bara exempel, den första för att skicka oss till Facebook och den andra är redirect URL:en vi definierade ovan. Parametern {social} använder jag bara för att enkelt skilja på olika sociala-nätverk och på så vis kunna göra olika saker i backend beroende på tjänst användaren vill använda.

Steg 3

Nu saknas bara två små saker för att det hela ska fungera. I din HomeController (eller vilken controller du nu vill använda), skapar du metoderna index och callbacked. Dessa två skall se ut som nedan.

public function index($social)
{
   return \Socialize::with($social)->redirect();
}

public function callbacked($social)
{
   $user = \Socialize::with($social)->user();
}

Som du ser tar vi emot social parametern i våra funktioner och använder den sedan i Socialize facaden. Undersöker man Laravels dokumentation så står det ”return Socialize::with(‘github’)->redirect();”. I mitt fall vill jag inte hårdkoda värdet för ex. github eller facebook, därför använder en route-parameter för att skicka in värdet och använda i Socialize metoden.

Socialize i index metoden skickar användaren vidare till det sociala-nätverk man valt, där de får logga in och godkända vår webbplats/applikation och skickas sedan till redirect URL:en som tas emot av callbacked metoden. Här hämtar vi uppgifter som användaren som vi sedan kan spara ex. i en databas.
Vill du se vad du får för data tillbaka, kan du slänga in en

dd($user);

sist i callbacked metoden.

Kom igång med Laravel 4 – Installation

This is the first part of my Laravel 4 introduction tutorial series. The rest of this post will be in swedish – for an explanation read the intro!

Hej, det här kommer alltså att vara en kortare artikel serie om PHP-ramverket Laravel 4.
Detta är den första tutorial-serien jag skriver och jag hoppas att den gör dig mer intresserad i detta fantastiska ramverk.

Till att börja med har jag inget bra namn på det vi kommer att bygga under den här serien. Det kommer inte vara det vanliga ”vi gör en blogg”, istället tänkte jag göra något lite annorlunda som jag snubblade över ett tag sedan. Det är även något som jag själv hade haft användning för nyligen. Så här är planen för ”appen”/sajten, kalla det vad man vill.

När man väntar barn så är det ganska populärt att gissa vilket datum barnet kommer att födas. Därför tänkte jag göra en enkel liten app där man som användare kan lägga till ett kommande barn och sedan skicka en länk till släkt och vänner vilka får gissa datumet när barnet kommer, samt dess vikt, längd, kön. Kom gärna med ett coolt namn vi kan döpa denna till 🙂

Vad vi kommer använda oss av under utvecklingen:

  • Laravel 4
  • Foundation
  • Github

Laravel – en kort intro

Laravel är ett av de mest populära, om inte det mest populära, PHP ramverken på webben just nu.

Laravel 4 bygger på från tidigare populära version 3.x av ramverket, men är mer eller mindre helt ombyggt. Laravel använder sig numera av Composer, som är en depency manager för PHP. Jag tänkte inte gå igenom Composer, vill du ha mer info kika in på deras webbsida.
Composer är till för att hantera uppdateringar och bryta ner ramverket i enskilda komponenter. Det gör att du är fri att mixa och matcha komponenter från PHP communityt. I Laravel finns exempelvis många delar från ramverket Symfony, så att man slapp koda massa saker som redan fanns tillgängliga. Laravel i sig är uppbyggt av flera olika Composer komponenter, eller packages. Vill du hitta fler komponenter kan du börja med att leta på Packagist.

Installera Laravel

Börja med att installera Composer om du inte redan har det på din dator, dessutom kommer du behöva Git.

Blir lite GIT till att börja med.
För det första klonar vi Laravel repot från Github till en mapp som jag kallar laravel4-intro och hoppa sedan in i mappen.

git clone -o laravel https://github.com/laravel/laravel.git laravel4-intro

cd laravel4-intro

Vi flyttar sedan över dettat till en branch som heter laravel och skapar en ny master branch med ren historik.

git branch --move master laravel

git checkout --orphan master

Vi lägger även till Laravel filerna och gör vår första commit.

git add -A
git commit -m "Initial commit. Add Laravel Framework"

Vi avslutar gittandet för denna gång med att pusha vår filer till Github (skapa ett nytt repo där du kan spara filerna eller forka mitt – länk  längst ner).

git remote add origin URL_TILL_DITT_GIT_REPO

Du kan nu enkelt uppdatera Laravel från git med följande kommande.

git fetch framework
git merge --squash -m "Upgrade Laravel" framework/develop

Fixa merge konflikter och commit.

Nu när vi har alla filer klara och vi har gjort vår första push till git så har vi en sak till att göra innan vi färdigställer installationen, med Composer.
Öppna filen composer.json och lägg till Jeffrey Ways Generator package, mer om denna senare.

"require": {
    "laravel/framework": "4.0.*",
    "way/generators": "dev-master"
}

Efter det kör du composer install i din consol/bash, nu installeras alla beroenden och komponenter som ramverket behöver för att fungera.

När detta är klart kan vi generera en krypteringnyckel

php artisan key:generate

och sedan se så att allt fungerar – http://localhost/laravel4_intro/public/ (URL:en kan skilja sig åt beroende på vad du namngav dina mappar). Har du PHP 5.4 installerad kan du prova att köra:

php artisan serve

laravel_helloworld
Förhoppningsvis ser du bilden till höger i din browser nu.
I nästa del ska vi skissa upp vår databas struktur och gå igenom migrations, vilket är supersimpelt med Laravel och dess Artisan command-line interface .

Dagens filer hittar du i Laravel4-Intro repot på Github.

More from this series: Laravel 4 intro