Laravel 5. Εισαγωγή στο Laravel PHP framework (5.1 LTS)

Σχετικά έγγραφα
Laravel 5. Εισαγωγή στο Laravel PHP framework (5.1 LTS)

Συνέδριο ΕΛΛΑΚ Open Source λογισμικό σε εφαρμογές του δημόσιου και ιδιωτικού τομέα

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Σύστημα διαχείρισης περιεχομένου (Content Management System)

Σύστημα Διαχείρισης Περιεχομένου

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

ΔΟΜΗ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

A J A X AJAX Γιάννης Αρβανιτάκης

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ. Μαθαίνω παίζοντας

ΥΛΟΠΟΙΗΣΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΠΑΡΟΧΗΣ ΥΠΗΡΕΣΙΩΝ

Η βασική εργαλειοθήκη του διαδικτύου

Σεμινάριο joomla! 3. Διοργάνωση: Άλφα Εκπαιδευτική Εισηγητής: Μοτσενίγος Ιωάννης Ηλεκτρονικός Μηχανικός-Σύμβουλος Internet Marketing- Web Designer

ΓΡΑΦΕΙΟ ΔΙΑΣΥΝΔΕΣΗΣ ΣΠΟΥΔΩΝ & ΣΤΑΔΙΟΔΡΟΜΙΑΣ ΕΛ. ΒΕΝΙΖΕΛΟΥ 70, ΑΘΗΝΑ ΤΗΛ. : , FAX: ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ ΣΤΗΝ ΕΛΛΑΔΑ

Συστήματα διαχείρισης περιεχομένου

Σχεδίαση και ανάπτυξη ιστοχώρου του εργαστηρίου Μηχανικής Λογισμικού. Παληόπουλος Αποστόλης-Παπαναγιώτου Παναγιώτης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Don t hire us if you want average. We only do exceptional.

Περιγραφή του EcoTruck

ΑΡΧΕς ΛΕΙΤΟΥΡΓΙΑς CMS (Content Management System) ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥς ςε ΜΙΚΡΟΜΕςΑΙΕς ΕΠΙΧΕΙΡΗςΕΙς

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

Εισαγωγή στις αρχές του CMS. Joomla Training. Wordpress Training.

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης

Περιεχόμενα. Εισαγωγή Αρχιτεκτονική - Σχεδιασμός - Υλοποίηση Προδιαγραφές Χαρακτηριστικά Templates Επικοινωνία

28η Συνάντηση Εκπαιδευτικών Δυτικής Μακεδονίας στις ΤΠΕ Φλώρινα 7/4/2013. To wordpress εγκατάσταση στο ΠΣΔ

Περιεχόμενα. Εισαγωγή Αρχιτεκτονική - Σχεδιασμός - Υλοποίηση Προδιαγραφές Χαρακτηριστικά Templates Showcase Επικοινωνία

Προγραμματισμός για το Web

Εφαρµογές WebGIS Open Source

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

Diving in the code of a CMS

8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637

ΑΔΑ: ΒΕΖΞ46941Δ-1Η2 (ΑΝΑΡΤΗΤΕΟ ΣΤΟ ΙΑ ΙΚΤΥΟ)

Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά

VoIPCom Υπηρεσίες τηλεφωνίας µε την χρήση του πρωτοκόλλου SIP - Β2Β

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

"Αθηνά" - Ερευνητικό Κέντρο Καινοτομίας στις Τεχνολογίες της Πληροφορίας, των Επικοινωνιών και της Γνώσης

ΔΕ10: Πληροφοριακά Συστήματα Διοίκησης IΙ Εργαστήριο # 2

Μελέτη και Ανάπτυξη ενός Εργαλείου Υποβοήθησης στη Σχεδίαση µίας Βάσης εδοµένων Τύπου Graph από Τελικούς Χρήστες

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΙΑ ΙΚΑΣΙΑ ΜΕΤΑΒΑΣΗΣ ΣΤΟ CLOUD COMPUTING ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ

ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

Παρουσίαση Θερινού Σχολείου. Αριστεία ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ Κ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : Κατασκευή Ηλεκτρονικού Καταστήματος (e-shop) Σπουδαστές:

ΤΕΣΤ ΠΙΣΤΟΠΟΙΗΣΗΣ ΓΝΩΣΕΩΝ ΚΑΙ ΔΕΞΙΟΤΗΤΩΝ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Βασικές Έννοιες Web Εφαρμογών

Company LOGO. Nazaret Kazarian. 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

2 η Εργαστηριακή Άσκηση

Οικονομική Προσφορά Κατασκευή Ιστοσελίδας

Σημασιολογικοί Ιστοχώροι: Γιατί Drupal. 18/3/2014 Μυρτώ Αμοργιανού Μονάδα Σημασιολογικού Ιστού

Social Network : Programming on FACEBOOK

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

Εργαστήριο #10 (Ε10) 1

φιλοξενία & διαχείριση ιστοσελίδων

ΕΚ ΗΛΩΣΗ ΕΝΗΜΕΡΩΣΗΣ. Παρουσίαση Εργαστηρίων Πληροφορικής

ΠΡΟΣΚΛΗΣΗ ΕΚΔΗΛΩΣΗΣ ΕΝΔΙΑΦΕΡΟΝΤΟΣ ΓΙΑ ΣΥΝΕΡΓΑΤΕΣ

30η Συνάντηση Εκπαιδευτικών Δυτικής Μακεδονίας στις ΤΠΕ Φλώρινα 23/2/2014. Επεκτείνοντας το wordpress Η χρήση των προσθέτων (plugins)

ΠΛΑΤΦΟΡΜΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΜΕ ΔΥΝΑΤΟΤΗΤΑ ΦΙΛΟΞΕΝΙΑΣ ΠΟΛΛΑΠΛΩΝ ΚΑΤΑΣΤΗΜΑΤΩΝ

ΘΕΜΑΤΑ ΠΤΥΧΙΑΚΩΝ ΕΡΓΑΣΙΩΝ Εαρ. ΕΞΑΜΗΝΟΥ

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Δομή παρουσίασης. Σχεδιασμός και υλοποίηση συστήματος παρακολούθησης και ελέγχου πωλητών και δημιουργία εφαρμογής σε έξυπνο κινητό

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Οδηγίες Ακολουθήστε τα παρακάτω βήματα. Βεβαιωθείτε ότι το πρόγραμμά σας δουλεύει σωστά σε κάθε βήμα, πριν προχωρήσετε στο επόμενο.

ΕΚΔΗΛΩΣΗ ΕΝΗΜΕΡΩΣΗΣ ΠΡΩΤΟΕΤΩΝ. Παρουσίαση Εργαστηρίων Πληροφορικής

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

Δημιουργία και συντήρηση ιστοτόπου με χρήση WordPress

Διαδικτυακό Ημερολόγιο

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάλυση, σχεδιασμό και ανάπτυξη συστήματος διαχείρισης περιεχομένου διαδικτυακών τόπων.

Χαρακτηριστικά ιστοσελίδας

Πτυχιακές Εργαστήριο Επικοινωνίας Ανθρώπου-Μηχανής και Εικονικής Πραγματικότητας

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr)

Open Source Platforms - Content Management Systems (CMS) Γιάκας Αθανάσιος ΑΕΜ 531

6 Εισαγωγή στο Wordpress 3.x

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Ημερομηνία Παράδοσης: 4/4/2013

EΔET A.E. Εθνικό Δίκτυο Έρευνας & Τεχνολογίας. GRNET S.A. Greek Research & Technology Network

Bringing the web offline

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων)

Τίτλος : «Ανάπτυξη πλατφόρμας - site ανταλλαγής ακαδημαϊκών πληροφοριών»

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Περιεχόμενα. Πρόλογος... xiii

ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ-ΥΠΟΣΤΗΡΙΞΗΣ ΑΠΟΦΑΣΕΩΝ (Decision Support Systems) ΣΤΟΝ ΑΓΡΟ-ΔΑΣΙΚΟ ΤΟΜΕΑ

Στοιχεία παρουσίασης. Εισαγωγή Θεωρητικό υπόβαθρο Υλοποίηση λογισμικού μέρους συστήματος Συμπεράσματα Μελλοντικές Επεκτάσεις

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κατασκευή Ιστοσελίδας Πανελλήνιας Ένωσης Νέων Αγροτών και Δημιουργία Forum για Ανταλλαγή Απόψεων και Συζητήσεις σχετικά με Κοινά Ενδιαφέροντα

Transcript:

Laravel 5 Εισαγωγή στο Laravel PHP framework (5.1 LTS)

Ενότητες ομιλίας 1. Τι ακριβώς είναι το Laravel, ποια η χρησιμότητα και γιατί να το επιλέξετε. 2. Το οικοσύστημα του Laravel 3. Παραδείγματα κώδικα 4. Η Ελληνική κοινότητα Laravel 5. Ερωτήσεις

Γιώργος Δρακάκης @lollypopgr (37 years old Δεινόσαυρος) Full-stack developer, Ελ. Επαγγελματίας από το 2003 (12 ηρωικά χρόνια!) Φιλότεχνος ( Συνιδρυτής του artmag.gr, logotexnis.gr & της κοινότητας Artspot ) Αυτή την περίοδο ασχολούμαι κυρίως με τα εξής: www.billit.io (Laravel 4) www.fantasytravelofgreece.com (Drupal + Laravel 5) www.clicknsend.gr (PHP 4 crap to Laravel 5) Έχω δημιουργήσει δεκάδες site χρησιμοποιώντας όλα τα δημοφιλή CMS (Joomla, Wordpress, Drupal), διαβάζω ακατάπαυστα και προσπαθώ να δώσω όσο το δυνατόν περισσότερα πίσω στην κοινότητα του ανοικτού λογισμικού.

Web Development εργαλεία Εξαιρετικά απαιτητικός τομέας Front end ( HTML / CSS / Javascript ) Helpers / Frameworks ( Sass, Jquery, AngularJs, ReactJs, Backbone e.t.c) Back end CMS (Drupal, Wordpress, Joomla) Data Storage ( Database, MySql / NoSql ) Custom Development Vanilla back end languages (PHP, RUBY, PYTHON, JAVA e.t.c) Frameworks of languages (Symphony - PHP, Ruby on Rails, Django Python e.t.c )

Tι είναι το Laravel? Το Laravel είναι ένα δωρεάν, ανοικτού κώδικα PHP web framework που δημιουργήθηκε από τον Taylor Otwell το 2011, με κύριο στόχο την δημιουργία εφαρμογών για το διαδίκτυο που χρησιμοποιούν την MVC αρχιτεκτονική. ~ Wikipedia.com

Web Framework Ένα Framework είναι γραμμένο σε μια συγκεκριμένη γλώσσα προγραμματισμού και περιλαμβάνει βιβλιοθήκες και βοηθητικά προγράμματα με σκοπό ένας προγραμματιστής να γράφει πιο γρήγορα εφαρμογές για το διαδίκτυο. Βασικά πλεονεκτήματα της χρήσης του: Περιλαμβάνει συχνά χρησιμοποιούμενες «ρουτίνες» (Functions), οπότε κερδίζουμε πολύ χρόνο από το να της γράφουμε κάθε φορά. Ακολουθεί συνήθως προβλεπόμενες και προτεινόμενες λύσεις σε συχνά προβλήματα όπως (Σύνδεση χρηστών, έλεγχος δεδομένων φόρμας κ.λ.π.) Βοηθάει στην ασφάλεια της εφαρμογής Μας προτρέπει για καλύτερη δομή της εφαρμογής με τελικό σκοπό ο προγραμματιστής να μπορεί τελικά να την διαχειριστεί ευκολότερα όσο μεγαλώνει. Συνήθως είναι πιο «καλογραμμένο» από την αρχική βασική γλώσσα και απλοποιεί σημαντικά την ανάγνωση/κατανόηση της.

PHP language Ξεκίνησε το 1994 και δεν είχε την παραμικρή πρόβλεψη να γίνει αυτό που είναι σήμερα. Χρησιμοποιείται από το 2013 σε 240 εκατομμύρια sites Είναι εγκατεστημένο σε 2.1 εκατομμύρια servers Μεγάλα sites φτιαγμένα με την γλώσσα: Facebook, Wikipedia, Flickr, Yahoo!, Wordpress.com, Mailchimp

Παρόλα αυτά πολύ κακή φήμη στους κύκλους των developer και εκατομμύρια σελίδες με spaghetti κώδικα. Ευτυχώς πλέον είναι παρελθόν, αλλά η «ρετσινιά» δύσκολα φεύγει.

MVC όπως Model, View, Controller Model View Controller

Η θέση του Laravel στην προηγούμενη λίστα; Front end ( HTML / CSS / Javascript ) Helpers / Frameworks ( Sass, Jquery, AngularJs e.t.c) Back end CMS (Drupal, Wordpress, Joomla) Data Storage ( Database, MySql / NoSql ) Custom Development Vanilla back end languages (PHP, RUBY, PYTHON, JAVA e.t.c) Frameworks of languages ( Laravel, Symphony - PHP, Ruby on Rails, Django Python e.t.c )

Γιατί όμως να επιλέξουμε το Laravel ως Framework; ~ The million dollar question ~

To πιο δημοφιλές. - source sitepoint.com

Google Tάση / trend

To πιο δημοφιλές σε εταιρείες. - source sitepoint.com

Εξαιρετικό documentation

Βιβλιογραφία για όλα τα γούστα & επίπεδα

Πλήρες οικοσύστημα 1 2 3 4 5 Homestead Forge Envoyer Lumen Laracasts

Homestead

Homestead ~ Προϋποθέσεις

Forge

Envoyer

Lumen

Laracasts

Laravel κοινότητα Slack/IRC Forum NewsLetter Podcast Larajobs

Δυνατότερα χαρακτηριστικά Όμορφη, ευκολοδιάβαστη σύνταξη Eloquent ORM ( για εύκολη πρόσβαση στην βάση δεδομένων Mysql ) Service Container / Providers Χρησιμοποιεί πολύ καλά και δοκιμασμένα κομμάτια του Symphony framework Drivers για Caching / Queues / Mailers Δικό του Templating Engine (Blade) Queues (Background tasks) Easy Event Driven logic Filesystem / Cloud Storage Φιλικότητα Testing DB helpers ( Migrations, Seeders, model factory builder ) Elixir (Front end css/js minify-concatenation)

Παράδειγμα Όμορφη, ευκολοδιάβαστη σύνταξη Vanilla PHP $value= substr('this is my name', 0, strlen('this')) === This ; Laravel $value= starts_with('this is my name', 'This');

Δυνατότερα χαρακτηριστικά Όμορφη, ευκολοδιάβαστη σύνταξη Eloquent ORM ( για εύκολη πρόσβαση στην βάση δεδομένων Mysql ) Service Container / Providers Χρησιμοποιεί πολύ καλά και δοκιμασμένα κομμάτια του Symphony framework Drivers για Caching / Queues / Mailers Δικό του Templating Engine (Blade) Queues (Background tasks) Easy Event Driven logic Filesystem / Cloud Storage Φιλικότητα Testing DB helpers ( Migrations, Seeders, model factory builder ) Elixir (Front end css/js minify-concatenation)

Παράδειγμα Eloquent ORM Vanilla Sql SELECT *, `vats`.`name` as `vatname`, `products`.`name` as `name`, `products`.`description` as `description`, `products`.`id` as `id` FROM`products` INNER JOIN `vats` on `vats`.`id` = `products`.`default_tax` where `products`.`deleted_at` is null and `products`.`user_id` = '1' ORDER BY`products`.`id` desc limit 15 offset 0 Laravel Product::join('vats', 'vats.id', '=', 'products.default_tax') ->where('products.user_id', '=', 1) ->orderby('products.id', 'desc') ->paginate(15, [ 'vats.name as vatname', 'products.name as name', 'products.description as description', 'products.id as id' ]);

Δυνατότερα χαρακτηριστικά Όμορφη, ευκολοδιάβαστη σύνταξη Eloquent ORM ( για εύκολη πρόσβαση στην βάση δεδομένων Mysql ) Service Container / Providers Χρησιμοποιεί πολύ καλά και δοκιμασμένα κομμάτια του Symphony framework Έτοιμοι Drivers για Caching / Queues / Mailers Δικό του Templating Engine (Blade) Queues (Background tasks) Easy Event Driven logic Filesystem / Cloud Storage Φιλικότητα Testing DB helpers ( Migrations, Seeders, model factory builder ) Elixir (Front end css/js minify-concatenation)

Εγκατάσταση Laravel Προϋποθέσεις - Composer (Global) - LAMP ( ή Homestead box) composer create-project laravel/laravel quickstart --prefer-dist

Migrations php artisan make:migration create_tasks_table --create=tasks

Migrations php artisan migrate

Model php artisan make:model Task

Routing

Routing ~ get index

Routing ~ post a new task

Templating ~ Blade basic template

~ Sub template

Laravel στην Ελλάδα! ~ www.laravel.gr

Οι συναντήσεις μας

@laravelgr

Σας ευχαριστώ θερμά για την προσοχή σας! Drakakis George @lollypopgr