Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Laravel

Содержание

PHP - найбільш популярна в світі серверна скриптова мова. Вона пройшла великий шлях розвитку від невеликих, вбудованих в код статичних HTML сторінок, сніпетів, до сучасної мови, на якому розробляється більшість сучасних динамічних сайтів. Складність і функціональність
PHP - найбільш популярна в світі серверна скриптова мова. Вона пройшла великий Laravel - це фреймворк для web-додатків з виразним і елегантним синтаксисом. Він Популярність фреймворку Laravel Для того щоб оцінити популярність фреймворку, пропоную звернутися до декількох джерел статистики Популярність за статистикою запитів, яку надає Google Trends. Як видно з графіків і статистики від SitePoint, а також зі статистикою Але з графіка очевидний факт, що протягом останніх 4 місяців фреймворк Laravel Можливості Laravel Пакети - дозволяють створювати і підключати модулі в форматі Composer до додатка REST-контролери - додатковий шар для поділу логіки обробки GET- і POST-запитів HTTP.Автозавантаження Міграції - система управління версіями для баз даних. Дозволяє пов'язувати зміни в Особливості фреймворку Laravel - це особливий фреймворк з сильним брендингом, тому майже все особливе PSR-4Laravel - перший фреймворк, що підтримує PSR-4. Прямо з коробки Composer автоматично IoC-контейнер - розширення ядраКонтейнер зворотного управління в Laravel - потужний інструмент для Запити формЦе перевірка запитів для ваших контролерів. Тобто повна обробка запиту.EloquentEloquent ORM, Цикл версійОновлення для Laravel виходять дуже часто. Через кожні шість місяців.Ви отримуєте SSH завданняУ Laravel є досить простий спосіб для SSH-підключень до віддалених серверів Якщо ви користувалися новітніми технологіями для фронтенду останні кілька років, то, ймовірно, compiled.phpБагато фреймворків завантажується з тисячею файлів і оголошень. Здебільшого, всі вони обробляються HHVMЯкщо ви захочете підвищити продуктивність вашого PHP-коду, ви можете змінити PHP-оточення на PHP І ви можете заповнити ваші файли налаштувань ось так:'connections' => array(     'mysql' => array(         'driver'    => 'mysql',         'host'      => getenv('DB_HOST'), app ├── Console │   └── InspireCommand.php ├── Http │   ├── Controllers │   │   ├── Auth │   │   │   ├── AuthController.php │   │   │   └── PasswordController.php │   │   └── HomeController.php │   ├── Middleware │   │   ├── AuthMiddleware.php │   │   ├── BasicAuthMiddleware.php Як бачите, тут є деякі речі за замовчуванням, але ви можете розмістити IoC-контейнер - розширення ядраКонтейнер зворотного управління в Laravel - потужний інструмент для class FooBar {    public function __construct(Baz $baz)   {     $this->baz = $baz;   }  }Як бачите, клас Baz автоматично У цьому прикладі ви бачите, що клас Order впроваджений в OrderController без Запити формУ Laravel У цього запиту є правила для перевірки даних і функціональність авторизації, яка public function __construct(Guard $auth)   {     $this->auth = $auth;   }    public function register(RegisterRequest $request)   {     // Форма регистрации прошла проверку, создать пользователя...     $this->auth->login($user);      return redirect('/');   } Цикл версій У SSH Або ви можете використовувати підключення до іншого сервера:SSH::into('staging')->run(array(   'cd /var/www',   'git pull origin master', ));Ви також можете завантажувати файли:SSH::into('staging')->get($remotePath, $localPath); $contents = SSH::into('staging')->getString($remotePath); Або загружати:SSH::into('staging')->put($localFile, $remotePath); SSH::into('staging')->putString($remotePath, 'Foo');Отже, ви побачили, що ви можете створювати за допомогою цього FlysystemFlysystem - // Створення каталогу File::makeDirectory('nested/directory');  // Видалення каталогу File::deleteDirectory('path/to/directory');І ви можете використовувати цей же Ви запускаєте Gulp-завдання watch, і Elixir подбає про все для вас. Якщо Ця конфігурація скомпілює ваші файли less і coffee, а також просканує маршрути compiled.phpБудь-який повнофункціональний фреймворк HomesteadLaravel Ви просто запускаєте vagrant up, заходите на locahost: 8000 і бачите ваше Проміжне ПО StackLaravel використовує реалізацію class MaintenanceMiddleware implements Middleware {    /**    * Реализация приложения.    *    * @var Application    */   protected $app;    /**    * Создание нового экземпляра фильтра.    * Ви бачите, що функціональність службової перевірки додана в кожен запит всередині методу CashierLaravel $user = User::find(1); $user->subscription('monthly')->create($creditCardToken);  // з купоном $user->subscription('monthly')      ->withCoupon('code')      ->create($creditCardToken);  // конец пробного періоду $user->trial_ends_at = Carbon::now()->addDays(14); $user->save(); // На випробному періоді if ($user->onTrial()) {   // }  // Відмінений if ($user->cancelled()) {   // } RocketeerRocketeer - deploy   deploy:check                 	Перевірка готовності сервера отримати додаток   deploy:cleanup               	Видалити старі версії з сервера   deploy:current              	Вивести Об'єднуючи PHPLaravel дійсно об'єднує PHP-співтовариство, використовуючи більше Predis: надійний Redis-клієнт, створений Даніелем Алесандро (Daniele Alessandri).Phenstalk: повнофункціональний PHP-клієнт для черги Boris: дійсно відмінний PHP REPL, який підтримує чудову консольную команду Symfony HttpKernel: містить HttpKernelInterface, який використовується як абстракція нижнього рівня в додатках Laracasts - Джефрі Вей (Jeffery Way)Laracasts - це ресурс не тільки для LiferaftСтворення Ви просто запускаєте одну з команд Liferaft, і вона створює додаток Laravel. В прикладах будуть показані чотири сервіси (GitHub, Google, Facebook і Twitter)Для початку Спільнота і документаціяСьогодні кожен фреймворк має велике і дружнє співтовариство, і Laravel Висновок Laravel є найпопулярнішим фреймворком на сьогоднішній день і продовжує стрімко розвиватися. Зараз Кінець
Слайды презентации

Слайд 2 PHP - найбільш популярна в світі серверна скриптова

PHP - найбільш популярна в світі серверна скриптова мова. Вона пройшла

мова. Вона пройшла великий шлях розвитку від невеликих, вбудованих

в код статичних HTML сторінок, сніпетів, до сучасної мови, на якому розробляється більшість сучасних динамічних сайтів. Складність і функціональність сучасних сайтів тільки зростає, і ні у кого немає бажання писати весь необхідний код з нуля. Програмістам необхідно розробляти складні сайти і веб-додатки, а це зазвичай займає дуже багато часу. Щоб полегшити процес розробки програмістам, почали створюватися фреймворки.

Слайд 3 Laravel - це фреймворк для web-додатків з виразним

Laravel - це фреймворк для web-додатків з виразним і елегантним синтаксисом.

і елегантним синтаксисом. Він дозволить спростити вирішення основних наболілих

завдань, таких як аутентифікація, маршрутизація, сесії і кешування. Laravel - це спроба об'єднати все найкраще, що є в інших PHP фреймворках. Основні переваги Laravel:

Велика екосистема з миттєвим розгортанням своєї платформи. Офіційний сайт надає безліч мануалів і інформації для ознайомлення;

Документація Laravel близька до досконалості;

У Laravel є свій движок для шаблонів Blade, «гарний» синтаксис мови, який сприяє вирішенню всіх необхідних завдань, таких як аутентифікація, сесії, кешування і маршрутизація RESTful.

Незважаючи на свою молодість (перший реліз вийшов в 2011 році), це вже зовсім зрілий продукт, і, згідно з опитуванням, проведеним порталом SitePoint, він займає перше місце за популярністю серед розробників на PHP.

Слайд 4 Популярність фреймворку Laravel

Популярність фреймворку Laravel

Слайд 5 Для того щоб оцінити популярність фреймворку, пропоную звернутися

Для того щоб оцінити популярність фреймворку, пропоную звернутися до декількох джерел

до декількох джерел статистики використання. Статистика популярності від Sitepoin

за 2015 рік.

Слайд 6 Популярність за статистикою запитів, яку надає Google Trends.

Популярність за статистикою запитів, яку надає Google Trends.

Слайд 7 Як видно з графіків і статистики від SitePoint,

Як видно з графіків і статистики від SitePoint, а також зі

а також зі статистикою Google Trends, фреймворк Laravel займає

впевнене перше місце і постійно набирає популярність, не зменшуючи обертів. Що, загалом, дуже добре, враховуючи, що це загальносвітова статистика.

Якщо ми візьмемо статистику запитів в Google Trends по Росії, то картинка дещо зміниться:

Слайд 8 Але з графіка очевидний факт, що протягом останніх

Але з графіка очевидний факт, що протягом останніх 4 місяців фреймворк

4 місяців фреймворк Laravel утримує позиції лідера і продовжує

набирати популярність.

Це означає, що більшість нових проектів в країні тепер створюються з використанням активно-розвиваючогося Laravel. З огляду на тренди, якщо ви давно хотіли почати вчити Laravel, то зараз той самий момент, коли це пора зробити.

Слайд 9 Можливості Laravel

Можливості Laravel

Слайд 10 Пакети - дозволяють створювати і підключати модулі в

Пакети - дозволяють створювати і підключати модулі в форматі Composer до

форматі Composer до додатка на Laravel. Багато додаткових можливостей

вже доступні у вигляді таких модулів.

Eloquent ORM - реалізація шаблону проектування ActiveRecord на PHP. Дозволяє строго визначити відносини між об'єктами бази даних. Стандартний для Laravel будівник запитів Fluent підтримується ядром Eloquent.

Логіка додатка - частина розробляючогося додатку, оголошена або за допомогою контролерів, або маршрутів. Зворотня маршрутизація пов'язує між собою згенеровані додатком посилання і маршрути, дозволяючи змінювати останні з автоматичним оновленням пов'язаних посилань. При створенні посилань за допомогою іменованих маршрутів Laravel автоматично генерує кінцеві URL.

Слайд 11 REST-контролери - додатковий шар для поділу логіки обробки

REST-контролери - додатковий шар для поділу логіки обробки GET- і POST-запитів

GET- і POST-запитів HTTP.

Автозавантаження класів - механізм автоматичного завантаження

класів PHP без необхідності підключати файли їх визначень в include. Завантаження на вимогу запобігає завантаженню непотрібних компонентів; завантажуються тільки ті з них, які дійсно використовуються.

Укладачі уявлень - блоки коду, які виконуються при генерації уявлення (шаблону).

Інверсія управління - дозволяє отримувати екземпляри об'єктів за принципом зворотного управління. Також може використовуватися для створення і отримання об'єктів-одинаків.

Слайд 12 Міграції - система управління версіями для баз даних.

Міграції - система управління версіями для баз даних. Дозволяє пов'язувати зміни

Дозволяє пов'язувати зміни в коді програми зі змінами, які

потрібно внести в структуру БД, що спрощує розгортання і оновлення програми.

Модульне тестування (юніт-тести) - грає дуже велику роль в Laravel, який сам по собі містить велику кількість тестів для запобігання помилок.

Сторінковий вивід - спрощує генерацію сторінок, замінюючи різні способи вирішення цієї задачі єдиним механізмом, вбудованим в Laravel.

Слайд 13 Особливості фреймворку

Особливості фреймворку

Слайд 14 Laravel - це особливий фреймворк з сильним брендингом,

Laravel - це особливий фреймворк з сильним брендингом, тому майже все

тому майже все особливе в Laravel має унікальну назву.

Dotenv

Laravel

використовує добре відомий файл .env для зберігання секретної інформації, такої як пароль від БД, логін для email та інші речі. Це файл, в якому ви визначаєте пари ключ-значення для будь-якої вашої секретної інформації.

Слайд 15 PSR-4

Laravel - перший фреймворк, що підтримує PSR-4. Прямо

PSR-4Laravel - перший фреймворк, що підтримує PSR-4. Прямо з коробки Composer

з коробки Composer автоматично завантажить всі класи з каталогу

app, використовуючи стандарт автозавантаження PSR-.

Це означає, що у вас може бути один простір імен для вашого застосування, і ви можете структурувати його, як захочете, і як вважаєте за логічним. Laravel не вимагає від вас розміщення певних файлів в певних папках.

Слайд 16 IoC-контейнер - розширення ядра

Контейнер зворотного управління в Laravel

IoC-контейнер - розширення ядраКонтейнер зворотного управління в Laravel - потужний інструмент

- потужний інструмент для управління залежностями класів. Впровадження залежностей

це спосіб зняття жорстко закодованих залежностей класу. Замість цього залежності впроваджуються під час виконання, забезпечуючи більшу гнучкість, так як реалізація залежностей може бути легко змінена.

Ви можете використовувати IoC-контейнер в вашому додатку, щоб зробити все що впроваджуються і легко тестується за допомогою об'єктів-заглушок. IoC-контейнер може витягувати класи без будь-якої настройки.

Слайд 17 Запити форм

Це перевірка запитів для ваших контролерів. Тобто

Запити формЦе перевірка запитів для ваших контролерів. Тобто повна обробка запиту.EloquentEloquent

повна обробка запиту.

Eloquent

Eloquent ORM, це найпотужніша реалізація шаблону ActiveRecord

в PHP. Крім CRUD-операцій, в ній є видалення, відносини, методи доступу і мутатори, мутатори дат, області запитів, спостерігачі моделі та ін.

Слайд 18 Цикл версій

Оновлення для Laravel виходять дуже часто. Через

Цикл версійОновлення для Laravel виходять дуже часто. Через кожні шість місяців.Ви

кожні шість місяців.

Ви отримуєте або версію з новими функціями,

або версію з абсолютно новим номером. Версії з виправленнями помилок виходять кожні кілька місяців. Сам фреймворк розробляється дуже швидко.

Слайд 19 SSH завдання

У Laravel є досить простий спосіб для

SSH завданняУ Laravel є досить простий спосіб для SSH-підключень до віддалених

SSH-підключень до віддалених серверів і запуску команд, що дозволяє

вам легко створювати завдання, які працюють на віддалених серверах.

Flysystem

Flysystem - чудовий пакет для управління файловими системами. Це файлова система, яка використовує коннектори, за допомогою якої ви легко можете взаємодіяти з різними файловими системами в хмарі.


Слайд 20 Якщо ви користувалися новітніми технологіями для фронтенду останні

Якщо ви користувалися новітніми технологіями для фронтенду останні кілька років, то,

кілька років, то, ймовірно, ви використовували препроцесор для ваших

файлів CSS і JavaScript. Але якщо немає, то Laravel про це подбає.

Вам потрібна максимально оптимізована онлайн-версія вашої програми. Це означає, що вам треба зменшувати і комбінувати ваші файли CSS і JavaScript.

Замість використання для цього будь-яких PHP-пакетів, Laravel пропонує пакет Elixir для виконавця завдань NodeJS Gulp. Тому ви можете використовувати всі ті переваги NodeJS і Gulp, які вам подобаються.

Слайд 21 compiled.php

Багато фреймворків завантажується з тисячею файлів і оголошень.

compiled.phpБагато фреймворків завантажується з тисячею файлів і оголошень. Здебільшого, всі вони

Здебільшого, всі вони обробляються автозавантаженням Composer, але для найбільш

використовуваних файлів Artisan може створити файл compiled.php, який завантажується при кожному запиті і об'єднує всі класи, які використовуються в вашому додатку.

Найбільш використовувані файли і класи компілюються в один-єдиний файл, який значно зменшує час завантаження програми.

Потім цей файл оптимізується виконуючою середовищем PHP, тому ви можете уникнути зниження продуктивності при завантаженні тисяч файлів в ваше робоче оточення.

Слайд 22 HHVM

Якщо ви захочете підвищити продуктивність вашого PHP-коду, ви

HHVMЯкщо ви захочете підвищити продуктивність вашого PHP-коду, ви можете змінити PHP-оточення

можете змінити PHP-оточення на високооптимізоване середовище виконання для PHP

від ​​Facebook - HHVM.

Laravel - один з перших фреймворків, що підтримують HHVM.

Cashier

Laravel Cashier забезпечує інтерфейс для послуг білінгових підписок Stripe. Він обробляє майже всі шаблонні коди білінгових підписок.

На додаток до основного управління підписками, Cashier може обробляти купони, підміну підписок, «кількість» підписок, періоди знижок і навіть генерувати PDF-файли рахунків.

Слайд 23

Composer Composer - менеджер залежностей

Composer
Composer - менеджер залежностей для

PHP. Він не призначений конкретно для Laravel, але Laravel без нього не працює.

Composer (з Packagist) містить тисячі PHP-пакетів від спільноти, більшість з яких мають мінімум залежностей і можуть бути просто і без проблем додані в вашу програму. Тому вам не потрібно винаходити велосипед, а фреймворк не заважатиме вам використовувати існуючі рішення.

Composer обробляє автозагрузку PHP-класів, використовуючи будь-яку конфігурацію з карти класів, файлів, PSR-0 або PSR-4.

Оскільки Composer використовує версійність, ви легко можете зафіксувати версії пакетів для вашої програми. Так ви будете впевнені, що всюди, де ви розвертаєте свій додаток, буде запускатися однаковий код.

Почати працювати з Laravel дуже просто, достатньо встановити Composer і виконати:

composer create-project laravel / laravel

Слайд 24

PHP 5.4 Laravel 5 вимагає

PHP 5.4

Laravel 5 вимагає PHP 5.4,

а Laravel 4 вимагає PHP 5.3. І «вимагає», це означає, що Laravel повністю використовує всі нові можливості PHP, такі як функції-замикання, простори імен, типажі та інші.

Laravel аж ніяк не є одним з фреймворків для PHP 4, адаптованих для використання класів PHP 5. Він розроблений в суворій відповідності з парадигмами ООП, і ви дійсно можете використовувати новітні можливості PHP.

Те, що для Laravel потрібно PHP, також означає, що ваш код отримає покращену продуктивність нової середовища виконання PHP.

Слайд 25

Dotenv Де ви зберігаєте секретну

Dotenv
Де ви зберігаєте секретну інформацію

вашого застосування, таку як пароль від БД, логін для email та інші речі? Laravel 5 використовує добре відомий файл .env, який також використовують багато фреймворки для інших мов програмування. Це файл, в якому ви визначаєте пари ключ-значення для будь-якої вашої секретної інформації.

Наприклад, ваш файл .env може виглядати так:

APP_ENV=production DB_HOST=127.0.0.1 DB_DATABASE=laraveldb DB_USERNAME=laravelapp DB_PASSWORD=str0ngP4sw0rd

Слайд 26 І ви можете заповнити ваші файли налаштувань ось

І ви можете заповнити ваші файли налаштувань ось так:'connections' => array(     'mysql' => array(         'driver'    => 'mysql',

так:

'connections' => array(     'mysql' => array(         'driver'    => 'mysql',         'host'      => getenv('DB_HOST'),         'database'  => getenv('DB_DATABASE'),         'username'  => getenv('DB_USERNAME'),         'password'  => getenv('DB_PASSWORD'),         'charset'   => 'utf8',         'collation' => 'utf8_unicode_ci',         'prefix'    => '',     ), ),

Ви можете створити цей файл локально і ще один

на вашому робочому сервері і потім оновлювати ваш додаток, не турбуючись про БД та інші важливі секретні дані.

Завантаження файлу .env автоматично обробляється Laravel за допомогою бібліотеки Dotenv.

Слайд 27

PSR-4Laravel - перший фреймворк,

PSR-4
Laravel - перший фреймворк,

що підтримує PSR-4. Прямо з коробки Composer автоматично завантажить всі класи з каталогу app, використовуючи стандарт автозавантаження PSR-4.

Це означає, що у вас може бути один простір імен для вашого застосування, і ви можете структурувати його, як захочете і як вважаєте за логічним. Laravel не вимагає від вас розміщення певних файлів в певних папках.

Це каталог зі стандартними програмами з простором імен App:


Слайд 28 app ├── Console │   └── InspireCommand.php ├── Http │   ├── Controllers │   │   ├── Auth │   │   │   ├── AuthController.php │   │   │   └── PasswordController.php │   │   └── HomeController.php │   ├── Middleware │   │   ├── AuthMiddleware.php │   │   ├── BasicAuthMiddleware.php │   │   ├── CsrfMiddleware.php │   │   ├── GuestMiddleware.php │   │   └── MaintenanceMiddleware.php │   └── Requests │       └── Auth │           ├── LoginRequest.php │           └── RegisterRequest.php ├── Providers │   ├── AppServiceProvider.php │   ├── ArtisanServiceProvider.php │   ├── ErrorServiceProvider.php │   ├── EventServiceProvider.php │   ├── LogServiceProvider.php │   └── RouteServiceProvider.php └── User.php

app ├── Console │   └── InspireCommand.php ├── Http │   ├── Controllers │   │   ├── Auth │   │   │   ├── AuthController.php │   │   │   └── PasswordController.php │   │   └── HomeController.php │   ├── Middleware │   │   ├── AuthMiddleware.php

Слайд 29 Як бачите, тут є деякі речі за замовчуванням,

Як бачите, тут є деякі речі за замовчуванням, але ви можете

але ви можете розмістити класи там, де захочете, і

це робиться дуже просто.

Ви завжди можете змінити простір імен додатки за допомогою команди:
SHphp artisan app: name YourNamespace

Ця команда пройде по всіх ваших файлів і змінить в них оголошення простору імен.

Слайд 30 IoC-контейнер - розширення ядра
Контейнер зворотного управління в Laravel

IoC-контейнер - розширення ядраКонтейнер зворотного управління в Laravel - потужний інструмент

- потужний інструмент для управління залежностями класів. Впровадження залежностей

ц спосіб зняття жорстко закодованих залежностей класу. Замість цього залежності впроваджуються під час виконання, забезпечуючи більшу гнучкість, так як реалізація залежностей може бути легко змінена.

Ви можете використовувати IoC-контейнер в вашому додатку, щоб зробити все що впроваджуються і легко тестується за допомогою об'єктів-заглушок.

IoC-контейнер може витягувати класи без будь-якої настройки. наприклад:


Слайд 31 class FooBar {   public function __construct(Baz $baz)   {     $this->baz = $baz;   } }

Як бачите, клас Baz автоматично впроваджений в клас

class FooBar {   public function __construct(Baz $baz)   {     $this->baz = $baz;   } }Як бачите, клас Baz автоматично впроваджений

FooBar. На практиці це буде використовуватися в контролерах ось

так:

class OrderController extends BaseController {   public function __construct(Order $orders)   {     $this->orders = $orders;   }   public function getIndex()   {     $all = $this->orders->all();     return View::make('orders', compact('all'));   } }


Слайд 32 У цьому прикладі ви бачите, що клас Order

У цьому прикладі ви бачите, що клас Order впроваджений в OrderController

впроваджений в OrderController без будь-якої додаткової настройки.

Але в новому

Laravel є дещо ще більш чудове, і називається воно - впровадження методів. Це впровадження залежностей на основі методів.

Наприклад, цей клас може бути ще простіше:
class OrderController extends BaseController {   public function getIndex(Order $orders)   {     $all = $orders->all();     return View::make('orders', compact('all'));   } }
Ви можете додати стільки залежностей на основі класів або методів, скільки забажаєте, а IoC-контейнер витягне їх для вас.

Оскільки все в Laravel внедряемо, ви легко можете підмінити що-небудь в ядрі фреймворку.

Слайд 33

Запити формУ Laravel є ця чудова

Запити форм
У Laravel є ця чудова можливість, яка

називається запитами форм. Це перевірка запитів для ваших контролерів. Це не просто перевірка даних, а повна обробка запиту.

Запити форм комбінуються з функціональністю впровадження методів, щоб додати безшаблонний спосіб перевірки користувальницького введення. Наприклад, клас RegisterRequest:
 'required|email|unique:users',       'password' => 'required|confirmed|min:8',     ];   }   public function authorize()   {     return true;   } }

Слайд 34 У цього запиту є правила для перевірки даних

У цього запиту є правила для перевірки даних і функціональність авторизації,

і функціональність авторизації, яка визначає, хто може використовувати цей

запит. У цьому прикладі це може бути хто завгодно, тому будь-хто може зареєструватися, використовуючи поля email і password.

Щоб використовувати цей запит, вам треба тільки натякнути на об'єкт запиту в вашому контролері, і ви отримаєте перевірку запиту дуже простим шляхом:

Слайд 35 public function __construct(Guard $auth)   {     $this->auth = $auth;   }   public function register(RegisterRequest $request)   {     // Форма регистрации прошла проверку, создать пользователя...     $this->auth->login($user);     return redirect('/');   } }

Ви бачите, що в цьому контролері немає будь-якого

public function __construct(Guard $auth)   {     $this->auth = $auth;   }   public function register(RegisterRequest $request)   {     // Форма регистрации прошла проверку, создать пользователя...     $this->auth->login($user);     return redirect('/');   } }Ви

сполучного коду або коду перевірки, все зроблено окремо і

чисто.

У запитів форм є функціональність перенаправлення для випадків помилок перевірки введення, повідомлень для уявлень і т.д.

Слайд 36

EloquentEloquent ORM, включена в Laravel,

Eloquent
Eloquent ORM, включена в Laravel,

- найбільш потужна реалізація шаблону ActiveRecord в PHP. Крім звичайних CRUD-операцій в ній є м'яке видалення, області запитів, відносини, методи доступу і мутатори, мутатори дат, спостерігачі моделі і багато іншого.

Вам навіть не потрібен Laravel, щоб її використовувати. Ви легко можете додати шар БД Laravel з Eloquent в ваш PHP-проект, зроблений не так на Laravel. Перейдіть по посиланню database, щоб налаштувати її в вашому проекті.

Не кажучи вже про сотні розширень Eloquent, таких як вкладений набір Baum, Translatable, перевірка моделей Ardent, Database Backup Manager, MongoDB і багатьох інших.

Слайд 37

Цикл версій У Laravel дуже передбачуваний

Цикл версій
У Laravel дуже передбачуваний цикл версій.

Через кожні шість місяців можна чекати чергової версії. Laravel виходить через один місяць після виходу Symfony.

Ви отримуєте або версію з новими функціями, або версію з абсолютно новим номером. Версії з виправленнями помилок виходять кожні кілька місяців. Це добре, тому що фреймворк розробляється дуже швидко, і ви можете розраховувати на отримання поліпшень безпеки та інших поліпшень так швидко, як тільки можливо.

На основні версії особливо легко переходити, і у вас, ймовірно, не виникне питань при оновленні. Але оскільки Laravel є відмінною основою для чого б то не було, ви можете навіть залишатися на одній версії протягом всього року і виявите, що для цієї версії, як і раніше виходять виправлення і поліпшення.

Слайд 38

SSH задачіУ Laravel є простий

SSH задачі
У Laravel є простий спосіб

для SSH-підключень до віддалених серверів і запуску команд, що дозволяє вам легко створювати завдання, які працюють на віддалених серверах. За допомогою невеликої настройки ви зможете запускати ваші завдання ось так:

SSH::into('production')->run(array(   'cd /var/www',   'git pull origin master', ));

Слайд 39
Або ви можете використовувати підключення до іншого сервера:

SSH::into('staging')->run(array(   'cd /var/www',   'git pull origin master', ));

Ви

Або ви можете використовувати підключення до іншого сервера:SSH::into('staging')->run(array(   'cd /var/www',   'git pull origin master', ));Ви також можете завантажувати файли:SSH::into('staging')->get($remotePath, $localPath); $contents = SSH::into('staging')->getString($remotePath);

також можете завантажувати файли:

SSH::into('staging')->get($remotePath, $localPath); $contents = SSH::into('staging')->getString($remotePath);


Слайд 40
Або загружати:

SSH::into('staging')->put($localFile, $remotePath); SSH::into('staging')->putString($remotePath, 'Foo');

Отже, ви побачили, що ви можете створювати

Або загружати:SSH::into('staging')->put($localFile, $remotePath); SSH::into('staging')->putString($remotePath, 'Foo');Отже, ви побачили, що ви можете створювати за допомогою

за допомогою цього інструменту. Ви можете автоматизувати кілька завдань,

які потрібні вам для розгортання або обслуговування вашого сервера, або для чогось ще.

Слайд 41

FlysystemFlysystem - чудовий пакет з Ліги

Flysystem
Flysystem - чудовий пакет з Ліги видатних

пакетів для управління файловими системами. Це файлова система, яка використовує коннектори, за допомогою якої ви легко можете взаємодіяти з local, awss3, dropbox, rackspace і іншими файловими системами в хмарі.

Ось так просто:

// Запись файлів File::put('filename.txt', 'contents'); // Зчитування файлів $contents = File::get('filename.txt');


Слайд 42
// Створення каталогу File::makeDirectory('nested/directory'); // Видалення каталогу File::deleteDirectory('path/to/directory');

І ви можете використовувати цей же

// Створення каталогу File::makeDirectory('nested/directory'); // Видалення каталогу File::deleteDirectory('path/to/directory');І ви можете використовувати цей же

API для будь-якої файлової системи, яку хочете використовувати. Flysystem

поставляється вбудованим в Laravel, і ви можете використовувати клас File.

Слайд 43

ElixirЯкщо ви користувалися

Elixir
Якщо ви

користувалися новітніми технологіями для фронтенда останні кілька років, то, ймовірно, ви використовували препроцесор для ваших файлів CSS і JavaScript. Але якщо немає, то Laravel про це подбає.

Вам потрібна максимально оптимізована онлайн-версія вашої програми. Це означає, що вам треба зменшувати і комбінувати ваші файли CSS і JavaScript.

Замість використання для цього будь-яких PHP-пакетів Laravel пропонує пакет Elixir для виконавця завдань NodeJS Gulp. Тому ви можете використовувати всі ті переваги NodeJS і Gulp, які вам подобаються.


Слайд 44
Ви запускаєте Gulp-завдання watch, і Elixir подбає про

Ви запускаєте Gulp-завдання watch, і Elixir подбає про все для вас.

все для вас. Якщо ви використовуєте LESS і CoffeeScript,

то ваші налаштування можуть бути такими:

var elixir = require('laravel-elixir'); elixir(function(mix) {   mix.less()      .coffee()      .routes()      .events()      .phpUnit(); });

Слайд 45 Ця конфігурація скомпілює ваші файли less і coffee,

Ця конфігурація скомпілює ваші файли less і coffee, а також просканує

а також просканує маршрути і події в вашому додатку.

Ще вона буде запускати юніт-тести після кожної зміни PHP-файлів.

Це так просто налаштувати. Вам треба тільки помістити ваші файли less і coffee в папку / resources / assets. Для less - / resources / assets / less, а для coffee - / resources / assets / coffee. Тепер все налаштовано.

Далі ви можете посилатися на створені файли в ваших уявленнях і створювати файли пізніше для робочого оточення. Насправді Elixir надає навіть більше можливостей, ніж показано в прикладі.

Слайд 46

compiled.phpБудь-який повнофункціональний фреймворк завантажується з тисячею

compiled.php
Будь-який повнофункціональний фреймворк завантажується з тисячею файлів і

оголошень. Здебільшого всі вони обробляються автозавантаженням Composer, але для найбільш використовуваних файлів Artisan може створити файл compiled.php, який завантажується при кожному запиті і об'єднує всі класи, які використовуються в вашому додатку.

Найбільш використовувані файли і класи компілюються в один єдиний файл, який значно зменшує час завантаження програми. Якщо у вас є файли, які потрібно завантажувати при кожному запиті, ви також можете вказати, які файли компілювати в compiled.php.

Потім цей файл оптимізується виконуючим середовищем PHP, тому ви можете уникнути зниження продуктивності при завантаженні тисяч файлів в ваше робоче оточення.

Слайд 47

HHVMКоли ви захочете

HHVM
Коли ви

захочете підвищити продуктивність вашого PHP-коду, ви можете змінити PHP-оточення на високооптимізоване оточення виконання для PHP від Facebook - HHVM.

Laravel - один з перших фреймворків, що підтримують HHVM, і він проходить 100% юніт-тестів на HHVM. Тому ви можете бути впевнені, що легко можете переключити ваше додаток з PHP на HHVM і отримати ще більше продуктивності.

Слайд 48

HomesteadLaravel Homestead - офіційна упакована

Homestead
Laravel Homestead - офіційна упакована Vagrant-

"коробка", що надає вам дивовижне середовище розробки, не вимагаючи установки PHP, HHVM, веб-сервера і будь-якого іншого ПО на вашу локальну машину.

Це віртуальна машина з встановленим ПО, в яке входять:
- Ubuntu 14.04
- PHP 5.6
- HHVM
- Nginx
- MySQL
- Postgres
- Node (з Bower, Grunt і Gulp)
- Redis
- Memcached
- Beanstalkd
- Laravel Envoy
- Fabric + розширення HipChat

Слайд 49 Ви просто запускаєте vagrant up, заходите на locahost:

Ви просто запускаєте vagrant up, заходите на locahost: 8000 і бачите

8000 і бачите ваше запущене застосування. Ваш код локально

«розшарено» для віртуальної машини, і вам взагалі не треба встановлювати все перераховане ПО, а потрібен лише Laravel і ваш редактор коду.

Пізніше, коли ви захочете створити VPS-сервер, ви можете використовувати проект Laravel Settler для створення точно такого ж сервера, як ваше оточення Homestead.

Це просто чудово і економить так багато часу, позбавляючи вас від тужних налаштувань локального оточення для розробки.

Слайд 50 Проміжне

Проміжне ПО StackLaravel використовує реалізацію Symfony HttpKernel

ПО Stack
Laravel використовує реалізацію Symfony HttpKernel від StackPHP. Це

означає, ми можемо додати наше власне проміжне ПО в HTTP-шар!

Проміжне ПО запитує обробники, за допомогою яких ви можете додати функціональність в HTTP-запити - до, після і навіть змінюючи запити і відповіді.

Наприклад, подивимося на MaintenanceMiddleware:


Слайд 51 class MaintenanceMiddleware implements Middleware {   /**    * Реализация приложения.    *    * @var Application    */   protected $app;   /**    * Создание нового экземпляра фильтра.    *    * @param  Application  $app    * @return void    */   public function __construct(Application $app)   {     $this->app = $app;   }   /**    * Обработка входящего запроса.    *    * @param  \Illuminate\Http\Request  $request    * @param  \Closure  $next    * @return mixed    */   public function handle($request, Closure $next)   {     if ($this->app->isDownForMaintenance())     {       return new Response('Be right back!', 503);     }     return $next($request);   } }

class MaintenanceMiddleware implements Middleware {   /**    * Реализация приложения.    *    * @var Application    */   protected $app;   /**    * Создание нового экземпляра фильтра.    *    * @param  Application  $app

Слайд 52 Ви бачите, що функціональність службової перевірки додана в

Ви бачите, що функціональність службової перевірки додана в кожен запит всередині

кожен запит всередині методу handle. Бачите цей рядок $

next ($ request)? Це те, як запит передається наступного класу проміжного програмного забезпечення і в кінці самому фреймворку.

Ви можете використовувати проміжне ПО для додавання будь-якої необхідної функціональності в ваш HTTP-шар.

За замовчуванням в Laravel є AuthMiddleware, GuestMiddleware, MaintenanceMiddleware, CsrfMiddleware, і ви легко можете додати ваше власне проміжне ПО або використовувати одне з доступних тут, таке як HttpCache, Geoip, CORS, OAuth, Turbolinks і інше.

Слайд 53

CashierLaravel Cashier забезпечує виразний, гнучкий

Cashier
Laravel Cashier забезпечує виразний, гнучкий інтерфейс

для послуг білінгових підписок Stripe. Він обробляє майже всі шаблонні коди білінгових підписок, які ви боїтеся написати.

На додаток до основного управління підписками Cashier може обробляти купони, підміну підписок, «кількість» підписок, періоди знижок, і навіть генерувати PDF-файли рахунків.

Це офіційний пакет від розробників Laravel, що не включений за замовчуванням. Подивіться, як просто використовувати Cashier для підписки користувача:

Слайд 54 $user = User::find(1); $user->subscription('monthly')->create($creditCardToken); // з купоном $user->subscription('monthly')      ->withCoupon('code')      ->create($creditCardToken); // конец пробного періоду $user->trial_ends_at = Carbon::now()->addDays(14); $user->save(); // Відміна $user->subscription()->cancel(); // Підсумок $user->subscription('monthly')->resume($creditCardToken); // Перевірка статусу if ($user->subscribed()) {   // }

$user = User::find(1); $user->subscription('monthly')->create($creditCardToken); // з купоном $user->subscription('monthly')      ->withCoupon('code')      ->create($creditCardToken); // конец пробного періоду $user->trial_ends_at = Carbon::now()->addDays(14); $user->save(); // Відміна $user->subscription()->cancel();

Слайд 55 // На випробному періоді if ($user->onTrial()) {   // } // Відмінений if ($user->cancelled()) {   // } // В період скидок if ($user->onGracePeriod()) {   // } // Був колись підписаний if ($user->everSubscribed()) {   // } // Проверка тарифу користувача if ($user->onPlan('monthly')) {   // }

Ви можете використовувати рахунки

// На випробному періоді if ($user->onTrial()) {   // } // Відмінений if ($user->cancelled()) {   // }

і багато інших функцій Stripe.


Слайд 56

RocketeerRocketeer - швидкий і легко розгортається

Rocketeer
Rocketeer - швидкий і легко розгортається інструмент

для сучасних розробників. Він натхненний Laravel і може бути використаний в Laravel, а також в будь-якому PHP-проекті.

Він може розгорнути будь-який проект від маленького HTML / CSS веб-сайту до великого PHP-додатки, або будь-який додаток на будь-якій мові програмування.

За допомогою Rocketeer ви легко можете розгортати останнім, поточний або проміжне оточення і відкочуватися до старих версій при необхідності.

Після невеликої настройки запустити Rocketeer так само легко, як запустити artisan і одну з цих команд:

Слайд 57 deploy   deploy:check                  Перевірка готовності сервера отримати додаток   deploy:cleanup                Видалити старі версії з

deploy   deploy:check                 	Перевірка готовності сервера отримати додаток   deploy:cleanup               	Видалити старі версії з сервера

сервера   deploy:current               Вивести поточну версію   deploy:deploy                 Розгорнути веб-сайт   deploy:flush                  Очистити кеш повноважень Rocketeer   deploy:ignite                 Створити конфігурацію Rocketeer   deploy:plugin-config       Опублікувати

конфігурацію плагіна   deploy:plugin-install         Встановити плагін   deploy:plugin-list            Перегляд списку поточних включених плагінів   deploy:rollback               Відкат до попередньої версії, або до конкретної   deploy:setup                  Встановити віддалений сервер для розгортання   deploy:strategies            Перегляд списку доступних варіантів для кожної стратегії   deploy:teardown             Видалити віддалене додаток і існуючий кеш   deploy:test                   Запустити тести на сервері і вивести результати   deploy:update                 Оновити віддалений сервер не створюючи нову версію

Зручно використовувати такий надійний і продуманий процес розгортання.

Слайд 58 Об'єднуючи PHP
Laravel дійсно

Об'єднуючи PHPLaravel дійсно об'єднує PHP-співтовариство, використовуючи більше 23

об'єднує PHP-співтовариство, використовуючи більше 23 пакетів від всієї PHP-спільноти.

Використання «кращих з кращих» PHP-пакетів сприяє більш тісній взаємодії Laravel і всієї PHP-спільноти. Серед включених в Laravel пакетів присутні:

Dotenv: PHP-версія оригінального dotenv з Ruby, завантажує змінні середовища.

Carbon: значна бібліотека для роботи з датами від Брайана Несбіта (Brian Nesbitt).

Слайд 59 Predis: надійний Redis-клієнт, створений Даніелем Алесандро (Daniele Alessandri).

Phenstalk:

Predis: надійний Redis-клієнт, створений Даніелем Алесандро (Daniele Alessandri).Phenstalk: повнофункціональний PHP-клієнт для

повнофункціональний PHP-клієнт для черги Beanstalked.

SuperClosure: написана Джеремі Ліндблумом (Jeremy

Lindblom), ця потужна бібліотека дозволяє вам серіалізувати і десеріалізувати функції-замикання в PHP.

Whoops: виводить красиві сторінки помилок і трасування стека поки Laravel в режимі розробки.

Monolog: стандарт де-факто серед PHP-бібліотек для ведення логів.

Слайд 60 Boris: дійсно відмінний PHP REPL, який підтримує чудову

Boris: дійсно відмінний PHP REPL, який підтримує чудову консольную команду

консольную команду "tinker".

PasswordCompat: забезпечує захищене хешування Bcrypt, яке використовується

в Laravel за замовчуванням.

Symfony HttpFoundation: абсолютно надійна HTTP-абстракція. Протестована і перевірена в багатьох великих реальних додатках.

Symfony Routing: цей пакет забезпечує компіляцію маршрутів Laravel в регулярні вирази.

Слайд 61 Symfony HttpKernel: містить HttpKernelInterface, який використовується як абстракція

Symfony HttpKernel: містить HttpKernelInterface, який використовується як абстракція нижнього рівня в

нижнього рівня в додатках Laravel.

Symfony BrowserKit: відмінне функціональне тестування.

StackPHP:

цей проект описує структуру для побудови багаторазового незалежного від фреймворків проміжного програмного забезпечення на рівні HTTP-шару.

Слайд 62 Laracasts - Джефрі Вей (Jeffery Way)
Laracasts - це

Laracasts - Джефрі Вей (Jeffery Way)Laracasts - це ресурс не тільки

ресурс не тільки для Laravel-розробників, але і для сучасних

PHP-розробників в цілому. Він надає більше 300 відео для вирішення будь-якої задачі або реалізації практично чого завгодно за допомогою Laravel.

Майже все, що згадано в цій статті, можна дізнатися на Laracasts. Це дивовижний навчальний ресурс, який створив Джефрі Вей. Джефрі Вей - дуже шанований учасник PHP-спільноти і відмінний учитель.

З Laracasts співтовариство Laravel дійсно виділяється з екосистеми PHP, так як немає нічого подібного для інших PHP-фреймворків.

Слайд 63

LiferaftСтворення запитів на GitHub -

Liferaft
Створення запитів на GitHub - кращий

спосіб повідомити про проблему і отримати рішення. Але що ви робите, коли не можете пояснити свою проблему? Що якщо ви стикаєтеся з цією проблемою тільки в коді вашої програми?

Liferaft (рятувальний пліт - прим. Пер.) - Інструмент з інтерфейсом командного рядка, який встановлюється з Composer, який забезпечує кращий спосіб сприяти Laravel чи повідомляти про проблеми.

Слайд 64 Ви просто запускаєте одну з команд Liferaft, і

Ви просто запускаєте одну з команд Liferaft, і вона створює додаток

вона створює додаток Laravel. І ви просто ставите свій

код, який відтворює вашу проблему, і запускаєте іншу команду Liferaft для створення запиту на Github.

наприклад:

liferaft new my-bug-fix
І програвайте проблему в цьому додатку. Єдине, що від вас вимагається, це заповнити файл liferaft.md описом вашої проблеми, і ви можете надати юніт-тест, який показує, як це повинно працювати. І потім:

liferaft throw
Тоді розробник зможе запустити вашу програму і побачити вашу проблему. Це вирішує безліч проблем і займає набагато менше часу у розробників фреймворку на відповідь і рішення вашої проблеми.

Слайд 65

SocialiteУ Laravel 5.0 з'явився

Socialite
У Laravel 5.0 з'явився

чудовий інструмент для авторизації через соціальні мережі - Socialite, але на офсайті наведено приклад налаштування тільки для GitHub.

Для початку нам необхідно встановити даний пакет
$ composer require laravel/socialite
Після установки Socialite зареєструйте сервіс-провайдер Laravel \ Socialite \ SocialiteServiceProvider в файлі конфігурації config / app.php
'providers' => [ ... Laravel\Socialite\SocialiteServiceProvider::class, ],
Також додайте фасад Socialite в масив aliases конфігурації:
Установка на цьому закінчена. Приступимо до конфігурації.


Слайд 66
В прикладах будуть показані чотири сервіси (GitHub, Google,

В прикладах будуть показані чотири сервіси (GitHub, Google, Facebook і Twitter)Для

Facebook і Twitter)

Для початку створимо два маршрути в app

\ Http \ routes.php
Route::get(
'/socialite/{provider}',
[
‘as’ => ‘socialite.auth’,
function ( $provider ) {
return \Socialite::driver( $provider )->redirect();
}
]
);

Route::get('/socialite/{provider}/callback', function ($provider) {
$user = \Socialite::driver($provider)->user();
dd($user);
});
Перший маршрут призначений для переходу на сервіс для авторизації. Другий приймає перехід з сервісу і відображає дані користувача при позитивному результаті авторизації.

Слайд 67 Спільнота і документація
Сьогодні кожен фреймворк має велике і

Спільнота і документаціяСьогодні кожен фреймворк має велике і дружнє співтовариство, і

дружнє співтовариство, і Laravel - не виняток. Люди, що

підтримують і розробляють Laravel-пакети, дуже доброзичливі, і ви легко можете брати участь у створенні будь-якого пакета, і ваші правки будуть прийняті дуже скоро.

Це сприяє розширенню спільноти, і вам варто знати, що Laravel був внесений до списку найпопулярніших PHP-фреймворків в 2013 році, випередивши Phalcon, Symfony2 і CodeIgniter. А в серпні 2014 року Laravel став найпопулярнішим PHP-проектом на GitHub.

Слайд 68 Висновок

Висновок

Слайд 69 Laravel є найпопулярнішим фреймворком на сьогоднішній день і

Laravel є найпопулярнішим фреймворком на сьогоднішній день і продовжує стрімко розвиватися.

продовжує стрімко розвиватися. Зараз Laravel - це величезна екосистема,

що включає хостинг та платформу для розгортання додатків. Сьогодні найбільше проектів, що розробляються за допомогою фреймворків, створюються саме з використанням Laravel. При розміщенні вакансій PHP-розробників, веб-студії все частіше включать знання фреймворка Laravel як обов'язково умова. Тому, якщо ви до сих пір не знайомі з цим чудовим фреймворком, то зараз саме час почати його вивчення.


  • Имя файла: laravel.pptx
  • Количество просмотров: 268
  • Количество скачиваний: 0