CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
(Have a real time REST) with Laravel
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
Ionut Tanasa
Fullstack Web Developer / devOps
https://tanasa.co
ionut-tanasa@github ━ ionutz2k@twitter
(@laravelphp && @angular fanatic) || (@ionicframework lover)
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
Real time using PHP
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT
REALTIME USING PHP!?
(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
“what do cool kids use this days?”
Jeffrey Way
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT
www.pusher.com
❏ flexible messaging with websockets
❏ easily scalable ($$$)
❏ fa figo
(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT
// AlertsController@store
public function store(AlertStoreRequest $request) {
event(
new AlertWasLaunched(
new Alert($request->only([
'device', 'latitude', 'longitude'
]))
)
);
return response(['created' => true], 201);
}
(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT
class AlertWasLaunched implements ShouldBroadcast
{
use InteractsWithSockets, SerializesModels;
public $alert;
public function __construct(Alert $alert) {
$this->alert = $alert;
}
public function broadcastOn() {
return new PrivateChannel('alerts'); // private-alerts
}
public function broadcastAs() {
return 'newAlert';
}
}
(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
WWW.COMMITSOFTWARE.IT
var client = new Pusher(PUSHER_KEY, {
cluster: 'eu',
authEndpoint: "https://example.com/pusher/auth"
});
var pusher = $pusher(client);
var alertsChannel = pusher.subscribe("private-alerts");
alertsChannel.bind("newAlert", function (data) {
/* data = { alert: {
device: {},
latitude: 0.0,
longitude: 0.0
}
}
*/
});
(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
Qs?
WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
CORPORATE PRESENTATION 2016 WWW.COMMITSOFTWARE.IT
www.commitsoftware.it
Grazie per l’attenzione (via all’aperitivo)

(Have a) rest with Laravel - Case History

  • 1.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT
  • 2.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT (Have a real time REST) with Laravel
  • 3.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT Ionut Tanasa Fullstack Web Developer / devOps https://tanasa.co ionut-tanasa@github ━ ionutz2k@twitter (@laravelphp && @angular fanatic) || (@ionicframework lover) WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 4.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 5.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT Real time using PHP WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 6.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT REALTIME USING PHP!? (Have a real time REST) With Laravel - Case History - @ionutz2k
  • 7.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT “what do cool kids use this days?” Jeffrey Way WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 8.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT www.pusher.com ❏ flexible messaging with websockets ❏ easily scalable ($$$) ❏ fa figo (Have a real time REST) With Laravel - Case History - @ionutz2k
  • 9.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 10.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 11.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 12.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT // AlertsController@store public function store(AlertStoreRequest $request) { event( new AlertWasLaunched( new Alert($request->only([ 'device', 'latitude', 'longitude' ])) ) ); return response(['created' => true], 201); } (Have a real time REST) With Laravel - Case History - @ionutz2k
  • 13.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT class AlertWasLaunched implements ShouldBroadcast { use InteractsWithSockets, SerializesModels; public $alert; public function __construct(Alert $alert) { $this->alert = $alert; } public function broadcastOn() { return new PrivateChannel('alerts'); // private-alerts } public function broadcastAs() { return 'newAlert'; } } (Have a real time REST) With Laravel - Case History - @ionutz2k
  • 14.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT WWW.COMMITSOFTWARE.IT var client = new Pusher(PUSHER_KEY, { cluster: 'eu', authEndpoint: "https://example.com/pusher/auth" }); var pusher = $pusher(client); var alertsChannel = pusher.subscribe("private-alerts"); alertsChannel.bind("newAlert", function (data) { /* data = { alert: { device: {}, latitude: 0.0, longitude: 0.0 } } */ }); (Have a real time REST) With Laravel - Case History - @ionutz2k
  • 15.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT Qs? WWW.COMMITSOFTWARE.IT(Have a real time REST) With Laravel - Case History - @ionutz2k
  • 16.
    CORPORATE PRESENTATION 2016WWW.COMMITSOFTWARE.IT www.commitsoftware.it Grazie per l’attenzione (via all’aperitivo)