SlideShare ist ein Scribd-Unternehmen logo
1 von 10
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?

Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan 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 verwalteninovex 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 EC2Jonathan 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 Monitoringinovex GmbH
 
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 DayTobias 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 jenkinsBild 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 - Grundlageninovex 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 ManagerLenz 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 AdminsKlaus 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 LombokBenjamin Schmid
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 

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

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 17remigius-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 ScheidtOPITZ CONSULTING Deutschland
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauenjohofer
 
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenLadezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenJoomla! User Group Fulda
 
Wordcamp ber-2015-scss
Wordcamp ber-2015-scssWordcamp ber-2015-scss
Wordcamp ber-2015-scssf_o
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit MavenStefan Scheidt
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT 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 - WorkshopWaldemar 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 2006Sven 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 ArchitektenOPITZ CONSULTING Deutschland
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
An Introduction to Ruby On Rails
An Introduction to Ruby On RailsAn Introduction to Ruby On Rails
An Introduction to Ruby On RailsJonathan 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