Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Laravel intro and WordPress - George Drakakis, WordPress Athens meetup 9

Laravel intro and WordPress - George Drakakis, WordPress Athens meetup 9

WordPress Greek Community

November 03, 2016
Tweet

More Decks by WordPress Greek Community

Other Decks in Technology

Transcript

  1. Γιώργος Δρακάκης @lollypopgr ▶ Full-stack developer, Ελ. Επαγγελματίας από το

    2003 ▶ Αυτή την περίοδο ασχολούμαι κυρίως με τα εξής: ▶ www.billit.io (SaaS invoicing & billing service) ▶ Fantasy Travel websites & web apps ▶ Click n’ send (Bulk Sms & Emailing) ▶ Κοινότητα Laravel στην Ελλάδα.
  2. Tι είναι το Laravel ? Το Laravel είναι ένα δωρεάν,

    ανοικτού κώδικα PHP web framework που δημιουργήθηκε από τον Taylor Otwell το 2011, με κύριο στόχο την δημιουργία web εφαρμογών που χρησιμοποιούν την MVC αρχιτεκτονική.
  3. Δυνατότερα χαρακτηριστικά ▶ Όμορφη, ευκολοδιάβαστη σύνταξη ▶ Eloquent ORM ▶

    Service Container / IOC ▶ Πολλά και δοκιμασμένα πακέτα από το Symphony framework ▶ Drivers για Caching / Queues / Mailers / Storage / Full-text search / Notifications ▶ Δικό του Templating Engine (Blade) ▶ Easy Queues (Background tasks) ▶ Easy Event Driven logic (Fire/listen events) ▶ Δεκάδες βοηθήματα για πιο εύκολα Test ▶ CLI commands & Cron scheduling in core ▶ DB helpers ( Migrations, Seeders, model factory builders ) ▶ Elixir (Front end css/js minify-concatenation)
  4. Παράδειγμα ▶ Όμορφη, ευκολοδιάβαστη σύνταξη Vanilla PHP $value= substr('This is

    my name', 0, strlen('This')) === ‘This’; Laravel $value= starts_with('This is my name', 'This');
  5. Παράδειγμα ▶ 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' ]);
  6. Παράδειγμα ▶ Caching example $minutes = 60; $myThing= Cache::remember('users', $minutes,

    function() { return DB::table('users')->get(); }); ▶ Send an email example Mail::send('emails.welcome', $data, function ($message) { $message->from('[email protected]', 'Laravel'); $message->to('[email protected]')->cc('[email protected]'); });
  7. Εγκατάσταση Laravel Προϋποθέσεις - Composer (Global) - LAMP ή LEMP

    ( ή Homestead box για μεγαλύτερη ευκολία) composer create-project laravel/laravel quickstart --prefer-dist
  8. +

  9. WordPress Corcel ~ Composer package To Corcel χρησιμοποιεί Laravel Eloquent

    μοντέλα για να ανασύρει περιεχόμενο κατευθείαν από την βάση του Wordpress σας. Μόλις εγκατασταθεί μπορείτε να χρησιμοποιήσετε την γνώριμη Eloquent σύνταξη:
  10. To WordPressToLaravel συγχρονίζει τα δεδομένα από ένα wordpress.com blog. Έχει

    σχεδιαστεί ώστε να τρέχει σε ένα Cron task και να κατεβάζει και εισάγει αυτόματα τα δεδομένα στην τοπική σας βάση. WordPressToLaravel ~ Composer package
  11. To WP Eloquent δημιουργεί έναν wrapper γύρω από τα tables

    του Wordpress ώστε να τα χρησιμοποιούμε με το Eloquent. WP Eloquent ~ Composer package
  12. To Laravel-wp-api δημιουργεί έναν wrapper γύρω από to Wordpress Json

    REST API για τα self-hosted sites. Laravel-wp-api ~ Composer package