Chris van Daele / 06.02.2015 / QuestBack, Köln. Laravel 5 Framework. The PHP Framework for Web Artisans



Similar documents
This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

Web application development with Laravel PHP Framework version 4

MOC DEVELOPING WINDOWS AZURE AND WEB SERVICES

Drupal CMS for marketing sites

MS 10978A Introduction to Azure for Developers

A Tour of Silex and Symfony Components. Robert

Apigee Gateway Specifications

Symfony2 and Drupal. Why to talk about Symfony2 framework?

Grails 1.1. Web Application. Development. Reclaiming Productivity for Faster. Java Web Development. Jon Dickinson PUBLISHING J MUMBAI BIRMINGHAM

Drupal 8. Core and API Changes Shabir Ahmad MS Software Engg. NUST Principal Software Engineser PHP/Drupal

Magento Security and Vulnerabilities. Roman Stepanov

70-487: Developing Windows Azure and Web Services

Developing Windows Azure and Web Services

DIPLOMA IN WEBDEVELOPMENT

Course 10978A Introduction to Azure for Developers

Certified PHP/MySQL Web Developer Course

10978A: Introduction to Azure for Developers

Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is

Practical Guided Tour of Symfony

Vulnerable Web Application Framework

The Great Office 365 Adventure

GOA365: The Great Office 365 Adventure

Developing ASP.NET MVC 4 Web Applications MOC 20486

Ruby on Rails Secure Coding Recommendations

The Learn-Verified Full Stack Web Development Program

What s really under the hood? How I learned to stop worrying and love Magento

Advanced Web Technology 10) XSS, CSRF and SQL Injection 2

PHP Magic Tricks: Type Juggling. PHP Magic Tricks: Type Juggling

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

MS 20487A Developing Windows Azure and Web Services

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions 20532A; 5 days

(Meine) Wahrheit über. Symfony. Timon Schroeter.

Apcera Architecture Overview WHITEPAPER OCT 2015

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application

AngularJS for the enterprise

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

Model-View-Controller. and. Struts 2

Easy configuration of NETCONF devices

Amazon Glacier. Developer Guide API Version

Enterprise Application Security Workshop Series

IT Exam Training online / Bootcamp

"Charting the Course... Enterprise Linux Networking Services Course Summary

Introduction to Azure for Developers

Developing ASP.NET MVC 4 Web Applications

> Motivations > IMC for sysadmins > IMC for developers > Samba Console & the smbldap-tools > Roadmap & community

Developing Windows Azure and Web Services

Where every interaction matters.

Secure development and the SDLC. Presented By Jerry

IDEALX Management Console. > Goals & motivations > IMC for sysadmins > IMC for developers > Roadmap & community

Personal Profile. Experience. Professional Experience

Onegini Token server / Web API Platform

CICS Web Service Security. Anthony Papageorgiou IBM CICS Development March 13, 2012 Session: 10282

Microsoft Introduction to Azure for Developers

Beginning Oracle. Application Express 4. Doug Gault. Timothy St. Hilaire. Karen Cannell. Martin D'Souza. Patrick Cimolini

Skillsoft Course Directory

Going AUTH the Rails on a Crazy Train

Certified The Grinder Testing Professional VS-1165

NCTA Cloud Architecture

Lecture 11 Web Application Security (part 1)

Pentesting Web Frameworks (preview of next year's SEC642 update)

Agile Web Development Liip.ch. Introduction to. Lukas Kahwe some content graciously stolen from Yoav

MongoDB Security Guide Release 3.0.6

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

OpenLogin: PTA, SAML, and OAuth/OpenID

MongoDB Security Guide

Formación en Tecnologías Avanzadas

Ruby on Rails. Object Oriented Analysis & Design CSCI-5448 University of Colorado, Boulder. -Dheeraj Potlapally

FileMaker Server 14. Custom Web Publishing Guide

Building Scalable Web Sites: Tidbits from the sites that made it work. Gabe Rudy

New Features of SharePoint 2013

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

FileMaker Server 15. Custom Web Publishing Guide

GL-275: Red Hat Linux Network Services. Course Outline. Course Length: 5 days

Working With Virtual Hosts on Pramati Server

Cyber Security Challenge Australia 2014

User-ID Best Practices

COMPARISON BETWEEN SPRING AND ASP.NET FRAMEWORKS

Exam : Administrating Windows Server 2012 R2. Course Overview

Developer Tutorial Version 1. 0 February 2015

Secure Coding in Node.js

NoSQL in der Cloud Why? Andreas Hartmann

Enterprise User Security

ASP.NET 5 SOMEONE MOVED YOUR CHEESE. J. Tower

Microsoft Windows PowerShell v2 For Administrators

UForge 3.4 Release Notes

day 1 2 Windows Azure Platform Overview... 2 Windows Azure Compute... 3 Windows Azure Storage... 3 day 2 5

Drupal 8 The site builder's release

SIG-NOC Meeting - Stuttgart 04/08/2015 Icinga - Open Source Monitoring

Transcription:

Chris van Daele / 06.02.2015 / QuestBack, Köln Laravel 5 Framework The PHP Framework for Web Artisans

Simplicity is the essence of happiness. - Cedric Bledsoe

Was bisher geschah 06/2011: Laravel 1 11/2011: Laravel 2 02/2012: Laravel 3 05/2013: Laravel 4 02/2015: Laravel 5 (4.3) Taylor Otwell

Larawhat? Das Ecosystem. laravel/laravel Framework Struktur und Demo Code laravel/homestead Lokale Laravel Entwicklungsumgebung laravel/framework Laravel Kernel Forge Deploymentsystem in der Cloud Illuminate Laravel Komponenten Namespace innerhalb des Frameworks Laracasts Screencasts. It s amazing!

Features, Features, Features! Expressive, beautiful Syntax Version 5 Features: Eloquent ORM (ActiveRecord Implementation) Routing (Restful) IoC Container Dependeny Injection Migrations, Schema Builder & Seeds Authentication Testable Validation CLI Illuminate Contracts Middleware (Filter) Command Bus Flysystem (Local, Amazon S3, Rackspace) Elixir (Gulp Api Wrapper) Socialite (OAuth) Scheduler

Symfony meets Laravel symfony/console symfony/debug symfony/finder symfony/http-foundation symfony/finder symfony/process symfony/routing symfony/security-core symfony/translation symfony/var-dumper symfony/http-kernel

Thats not all there is even more! monolog/monolog league/flysystem nesbost/carbon swiftmailer/swiftmailer vlucas/phpdotenv ircmaxel/password-compat

Illuminaten! Auth Bus Cache Config Console Container Contracts Cookie Database Encryption Events Exception Filesystem Foundation Hashing Http Pagination Pipeline Queue Redis Routing Session Support Translation Validation View

StackPHP - Der Kernel Symfony HttpKernelInterface middlewares Authentifizierung CSRF Protection Encrypt Cookies Session Handling

The Inversion Of Control (IoC) IoC Binding $this->app->bind('foobar', function($app) { return new FooBar($app['SomethingElse']); }); $this->app->singleton('foobar', function($app) { return new FooBar($app['SomethingElse']); }); $this->app->bind( 'App\Contracts\SomeInterface', 'App\Services\ConcreteImplementation' ); IoC Resolving $foobar = $this->app->make('foobar')->get('key');

Facades It s all static? Route::get('/', 'HomeController@showWelcome'); Facade erstellen: 1. Ioc Binding 2. Facade Class $app['router']->get('/', 'HomeController@showWelcome'); 3. Facade Alias Configuration IoC Container

MVC = EBC Model = Eloquent ORM View = Blade Template Engine Controller = Controller

Model - Eloquent class User extends Eloquent { class Post extends Eloquent { public function posts() { return $this->hasmany('post'); } public function user() { return $this->belongsto('user'); } } }

Model - Eloquent // User auslesen $users = User::all(); // Neuen User anlegen $user = new User; $user $user $user = User::where('name', '=', 'John Doe')->posts(); = User::find(1); = User::findOrFail(1); $user->name = 'John Doe'; $user->save(); // User löschen var_dump($user->name); $user = User::destroy(1);

View Blade Template <!-- Stored in resources/views/layouts/master.blade.php --> <html> <body> <div class="container"> @yield('content') </div> </body> </html> <!-- Stored in resources/views/layouts/home.blade.php --> @extends('layouts.master') @section('content') Hello, {{ $name }}. @foreach ($users as $user) <p>this is user {{ $user->id }}</p> @endforeach @stop

Controller use App\Http\Requests\PurchasePodcastRequest; class PodcastController extends Controller { use DispatchesCommands; } public function purchasepodcast(purchasepodcastrequest $request, $podcastid) { $this->dispatch( new PurchasePodcast(Auth::user(), Podcast::findOrFail($podcastId)) ); }

CommandBus class PurchasePodcast extends Command implements SelfHandling { protected $user, $podcast; public function construct(user $user, Podcast $podcast) { $this->user = $user; $this->podcast = $podcast; } } public function handle() { // Handle the logic to purchase the podcast. event(new PodcastWasPurchased($this->user, $this->podcast)); }

Ressourcen http://laravel.com http://laracasts.com http://laravel.io/forum http://laracasts.com/discuss http://laravel-news.com http://mattstauffer.co http://daylerees.com http://fideloper.com/tag/laravel http://laracon.eu (25.08. 26.08.2015, Amsterdam. YAY!)

Fin. Vielen Dank für die Aufmerksamkeit!