SlideShare ist ein Scribd-Unternehmen logo
1
Einführung in Laravel und GulpJS
Thomas Plat
work.id
2
Composer

Package Manager für PHP

Selbstständige Installation von Abhängigkeiten

Erstellt automatisch einen PSR-konformen
Autoloader

Keine Include-Hölle mehr in eigenen Projekten

Leichte Konfiguration über JSON
3
GulpJS

Streambasierter Javascript Taskrunner

Automatisches minifien von CSS und JS

Compilen von SASS

Code-over-configuration

Alle Tasks als einzelne Module
4
GulpJS
gulp.task('build-css', function() {
gulp.src('public/sass/base.scss')
.pipe(sass())
.pipe(cssmin())
.pipe(gulp.dest('public/css'))
.pipe(livereload());
});
5
SASS

Präprozessor für CSS

Dateiendung: .scss

Erlaubt das splitten und importieren von
Dateien (@import)

Variablen sind Möglich: $name: wert

Deklarationsgruppen: @mixins

Nested Sets
6
Laravel

PHP-MVC Framework

2011 von Taylor Otwell gegründet

Sauberer Code und Architektur
7
Laravel

Mächtiger Router (Filter, Prefixing, RESTFUL-
Routing, Gruppen, …)

IoC-Container (Servicelocator + Dependency
Injection)

Blade – Extrem einfache aber mächtige
Template-Engine

Datenbankmigrationen

Umfangreiches CLI
8
Laravel – Clean Code -
Namespacing

Keine Includes

Importieren von Namespaces

Abhängigkeiten sofort ersichtlich

Klar definierter Scope

PSR-Konform
9
Laravel – Clean Code –
Repositories

Abstraktionsschicht zwischen Datenhaltung und
Logikschicht

Einfache austauschbarkeit
10
Laravel – Clean Code –
Inversion of Control

Niemals direkte Abhängigkeiten in Klassen
schaffen

Abhängikeiten sollten injeziert werden (DI oder
direkt in die Methode)

Problem bei verschachtelten Abhängigkeiten

Lösung: IoC-Container

Weitere ähnliche Inhalte

Was ist angesagt?

Warum wir Automatisierung cool finden
Warum wir Automatisierung cool findenWarum wir Automatisierung cool finden
Warum wir Automatisierung cool finden
ConSol Consulting & Solutions Software GmbH
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
Jan Gehring
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
inovex GmbH
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Jonathan Weiss
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
Jonathan Weiss
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresqlinovex GmbH
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoring
inovex GmbH
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
Oliver Thiele
 
Containerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony DayContainerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony Day
Tobias Schneck
 
Deployment pipeline mit maven, chef und jenkins
Deployment pipeline mit maven, chef und jenkinsDeployment pipeline mit maven, chef und jenkins
Deployment pipeline mit maven, chef und jenkins
Bild GmbH & Co. KG
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3marco-huber
 
mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlagen
inovex GmbH
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Lenz Grimmer
 
Tipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections AdminsTipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections Admins
Klaus Bild
 
Scharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit LombokScharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit Lombok
Benjamin Schmid
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
coshsh
coshshcoshsh
Einsteiger Workshop
Einsteiger WorkshopEinsteiger Workshop
Einsteiger Workshop
FunThomas424242
 

Was ist angesagt? (20)

Warum wir Automatisierung cool finden
Warum wir Automatisierung cool findenWarum wir Automatisierung cool finden
Warum wir Automatisierung cool finden
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoring
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
Containerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony DayContainerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony Day
 
Deployment pipeline mit maven, chef und jenkins
Deployment pipeline mit maven, chef und jenkinsDeployment pipeline mit maven, chef und jenkins
Deployment pipeline mit maven, chef und jenkins
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
 
Java Servlets und AJAX
Java Servlets und AJAX Java Servlets und AJAX
Java Servlets und AJAX
 
mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlagen
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
Tipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections AdminsTipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections Admins
 
Scharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit LombokScharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit Lombok
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Nginx
NginxNginx
Nginx
 
coshsh
coshshcoshsh
coshsh
 
Einsteiger Workshop
Einsteiger WorkshopEinsteiger Workshop
Einsteiger Workshop
 

Andere mochten auch

Aleman septiembre 2010
Aleman septiembre 2010Aleman septiembre 2010
Aleman septiembre 2010Oscar Herrera
 
Salud pública
Salud públicaSalud pública
Salud pública
magdalenadamonte
 
Mujer y constitución
Mujer y constituciónMujer y constitución
Mujer y constitución
Fernando900
 
Rekrutierung von ausländischen Fach-und Führungskräften
Rekrutierung von ausländischen Fach-und FührungskräftenRekrutierung von ausländischen Fach-und Führungskräften
Rekrutierung von ausländischen Fach-und Führungskräften
LinkedIn D-A-CH
 
Legislacion taty ppt
Legislacion taty pptLegislacion taty ppt
Legislacion taty ppt
Tati Paola
 
Poliester
PoliesterPoliester
311 manual de_facilitador
311 manual de_facilitador311 manual de_facilitador
311 manual de_facilitador
Cecilia Noboa
 
Zaboor 91 part 1
Zaboor 91 part 1Zaboor 91 part 1
Zaboor 91 part 1
messiahfarman
 
Deportes en la ciudad
Deportes en la ciudadDeportes en la ciudad
Deportes en la ciudad
steveguill
 
APRESENTAÇÃO EM ESPANHOL DIV GLOBAL
APRESENTAÇÃO EM ESPANHOL DIV GLOBALAPRESENTAÇÃO EM ESPANHOL DIV GLOBAL
APRESENTAÇÃO EM ESPANHOL DIV GLOBAL
DIEGO BASTOS
 
Análisis comparativo de las patentes en Europa y Asia
Análisis comparativo de las patentes en Europa y AsiaAnálisis comparativo de las patentes en Europa y Asia
Análisis comparativo de las patentes en Europa y Asia
Marta Rodriguez
 
El rang registral. Píndola de dret registral per a professionals de la banca.
El rang registral. Píndola de dret registral per a professionals de la banca. El rang registral. Píndola de dret registral per a professionals de la banca.
El rang registral. Píndola de dret registral per a professionals de la banca.
Albert Oliver i Parés
 
EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)
EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)
EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)EPIC SANA LISBON
 
Männer
MännerMänner
Männer
sportwort
 
Un juego desigual
Un juego desigualUn juego desigual
Honestidad
HonestidadHonestidad
Formalism
FormalismFormalism
Formalism
JinHyeonk
 
Resena 14534 sf0013_-_indice
Resena 14534 sf0013_-_indiceResena 14534 sf0013_-_indice
Resena 14534 sf0013_-_indice
josue villanueva
 

Andere mochten auch (20)

Cumpleaños dia
Cumpleaños diaCumpleaños dia
Cumpleaños dia
 
Aleman septiembre 2010
Aleman septiembre 2010Aleman septiembre 2010
Aleman septiembre 2010
 
Imagenes
ImagenesImagenes
Imagenes
 
Salud pública
Salud públicaSalud pública
Salud pública
 
Mujer y constitución
Mujer y constituciónMujer y constitución
Mujer y constitución
 
Rekrutierung von ausländischen Fach-und Führungskräften
Rekrutierung von ausländischen Fach-und FührungskräftenRekrutierung von ausländischen Fach-und Führungskräften
Rekrutierung von ausländischen Fach-und Führungskräften
 
Legislacion taty ppt
Legislacion taty pptLegislacion taty ppt
Legislacion taty ppt
 
Poliester
PoliesterPoliester
Poliester
 
311 manual de_facilitador
311 manual de_facilitador311 manual de_facilitador
311 manual de_facilitador
 
Zaboor 91 part 1
Zaboor 91 part 1Zaboor 91 part 1
Zaboor 91 part 1
 
Deportes en la ciudad
Deportes en la ciudadDeportes en la ciudad
Deportes en la ciudad
 
APRESENTAÇÃO EM ESPANHOL DIV GLOBAL
APRESENTAÇÃO EM ESPANHOL DIV GLOBALAPRESENTAÇÃO EM ESPANHOL DIV GLOBAL
APRESENTAÇÃO EM ESPANHOL DIV GLOBAL
 
Análisis comparativo de las patentes en Europa y Asia
Análisis comparativo de las patentes en Europa y AsiaAnálisis comparativo de las patentes en Europa y Asia
Análisis comparativo de las patentes en Europa y Asia
 
El rang registral. Píndola de dret registral per a professionals de la banca.
El rang registral. Píndola de dret registral per a professionals de la banca. El rang registral. Píndola de dret registral per a professionals de la banca.
El rang registral. Píndola de dret registral per a professionals de la banca.
 
EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)
EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)
EPIC SANA LISBOA - New 5* Hotel in Lisbon (Germany)
 
Männer
MännerMänner
Männer
 
Un juego desigual
Un juego desigualUn juego desigual
Un juego desigual
 
Honestidad
HonestidadHonestidad
Honestidad
 
Formalism
FormalismFormalism
Formalism
 
Resena 14534 sf0013_-_indice
Resena 14534 sf0013_-_indiceResena 14534 sf0013_-_indice
Resena 14534 sf0013_-_indice
 

Ähnlich wie Einführung in Laravel und GulpJS

Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
remigius-stalder
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
OPITZ CONSULTING Deutschland
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
Daniel Andrisek
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen
johofer
 
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenLadezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
Joomla! User Group Fulda
 
Testing tools
Testing toolsTesting tools
Testing tools
Sebastian Springer
 
Wordcamp ber-2015-scss
Wordcamp ber-2015-scssWordcamp ber-2015-scss
Wordcamp ber-2015-scss
f_o
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit Maven
Stefan Scheidt
 
Automatisierung mit grunt
Automatisierung mit gruntAutomatisierung mit grunt
Automatisierung mit grunt
Christian Keuerleber
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
MT AG
 
Object-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - WorkshopObject-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - Workshop
Waldemar Dell
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBMario Müller
 
Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006
Sven Haiges
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
OPITZ CONSULTING Deutschland
 
Powershell 3.0
Powershell 3.0Powershell 3.0
Powershell 3.0
Digicomp Academy AG
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions
 
Node.js Security
Node.js SecurityNode.js Security
Node.js Security
Sebastian Springer
 
node.js
node.jsnode.js
An Introduction to Ruby On Rails
An Introduction to Ruby On RailsAn Introduction to Ruby On Rails
An Introduction to Ruby On Rails
Jonathan Weiss
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Christian Wenz
 

Ähnlich wie Einführung in Laravel und GulpJS (20)

Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen
 
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenLadezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Wordcamp ber-2015-scss
Wordcamp ber-2015-scssWordcamp ber-2015-scss
Wordcamp ber-2015-scss
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit Maven
 
Automatisierung mit grunt
Automatisierung mit gruntAutomatisierung mit grunt
Automatisierung mit grunt
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
Object-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - WorkshopObject-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - Workshop
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDB
 
Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Powershell 3.0
Powershell 3.0Powershell 3.0
Powershell 3.0
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Node.js Security
Node.js SecurityNode.js Security
Node.js Security
 
node.js
node.jsnode.js
node.js
 
An Introduction to Ruby On Rails
An Introduction to Ruby On RailsAn Introduction to Ruby On Rails
An Introduction to Ruby On Rails
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
 

Einführung in Laravel und GulpJS