• Главная
  • Карта сайта
Не найдено

Laravel фреймворк: 18 ключових особливостей

  1. Кому варто спробувати Laravel фреймворк?
  2. Laravel - це що?
  3. 18 ключових особливостей Laravel фреймворка
  4. Приклади Laravel сайтів
  5. Наостанок про Laravel PHP framework

Всім привіт Всім привіт!

Сьогоднішньої статті я відкриваю довгоочікуваний (для мене, перш за все) цикл статей, присвячений створенню сайту з нуля на Laravel 5, в якому будуть описуватися все основні конструкції даного веб-фреймворку, а в кінці ви отримаєте повнофункціональний ресурс.

Тому відразу рекомендую підписатися на оновлення , Щоб стежити за виходом нових публікацій.

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

Вас, до речі, це теж чекає, тому що кращий спосіб щось вивчити - це зробити це самостійно 🙂

Але, про це трохи згодом.

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

Кому варто спробувати Laravel фреймворк?

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

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

Якщо ж ви до таких не належите, то краще не витрачайте свій час, тому що багато речей вам все одно будуть незрозумілі.

Для web-developer ж даний матеріал, як і весь цикл наступних статей, буде просто необхідний, тому що вміння роботи з фреймворком must have, якщо ви дбаєте про своє професійному та кар'єрному зростанні.

Сподіваюся, я вас злегка мотивувати? Тоді поїхали 🙂

Laravel - це що?

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

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

Самі творці Laravel назвали його «framework for artisans», що в перекладі означає «фреймворк для ремісників», натякаючи на те, що дана платформа дає розробникам повну свободу творчості, не створюючи перед ними жодних перешкод в процесі розробки.

Уже в кінці 2013 року Laravel мав версію 4.1 і був названий «самим багатообіцяючим проектом на 2014 рік» за версією sitepoint.com.

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

А в 2015 і 2016 роках він був визнаний найпопулярнішим PHP фреймворком за версією того ж видання - sitepoint.com, яке щорічно проводить опитування серед тисяч розробників по всьому світу:

Отже, що ж у Laravel "під капотом" і чим він завоював таку беззастережну популярність серед розробників?

18 ключових особливостей Laravel фреймворка

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

Взагалі-то, це нормальна поведінка для PHP движків (Yii, Symfony, Zend), але, як відомо, бувають і винятки у вигляді Phalcon, у якого компоненти написані на C ++, а призначений для користувача код пишеться на PHP.

Тому-то я і вирішив звернути увагу на даний момент.

Отже, що ж цікавого дає розробнику Laravel?

інформативна документація

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

це документація Laravel , Яка, на мою думку, є дуже хорошою і структурованою.

Думаю, що це також додає популярності даного движку серед розробників. По крайней мере, в моєму випадку це правда 🙂

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

У Laravel документації таких проблем немає - кожної конструкції і процесу присвячена окрема стаття.

У Laravel документації таких проблем немає - кожної конструкції і процесу присвячена окрема стаття

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

Laravel документація російською існує навіть в декількох варіантах на сайтах laravel-doc.ru, laravel.ru і laravel.su.

MVC структура коду

Структура коду Laravel framework відповідає популярному паттерну проектування MVC, тобто в ньому можна виділити моделі (models), уявлення (views) і контролери (controllers).

Даний шаблон проектування зарекомендував себе як перевірене часом рішення ефективної структури додатків, в першу чергу, в ВЕБе, що дозволяє відокремити логіку додатки від його візуальної частини.

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

Artisan

Artisan - це консоль Laravel, в арсеналі команд якої є робота з міграціями, контролерами і моделями, авторизацією і іншими базовими компонентами фреймворка.

міграції

Свого роду, контроль версій для структури таблиць БД. Кожен файл міграції містить або структуру таблиць, які зміни її структури.

Тобто процес створення нових сутностей БД в Laravel фреймворку є створення міграції і запуск її за допомогою спеціальних консольних команд artisan.

Приклад створення таблиці користувачів сайту в відповідної міграції:

Schema :: create ( 'users', function (Blueprint $ table) {$ table-> increments ( 'id'); $ table-> string ( 'name'); $ table-> string ( 'email') -> unique (); $ table-> string ( 'password'); $ table-> rememberToken (); $ table-> timestamps ();});

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

Blade

Blade - це власний шаблонизатор з набором своїх директив. Принцип його роботи схожий на більшість своїх побратимів - Smarty, Twig і т.д. Так що якщо ви працювали з будь-яким з них, то в курсі, що це таке.

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

Twitter Bootstrap і jQuery з коробки

Поcле установки Laravel фреймворка в розпорядженні розробника знаходяться файли app.js і app.css, які представляють собою скомпоновані і мінімізовані jQuery і BootStrap найостанніших версій на момент виходу релізу Laravel.

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

Для роботи з ним в Laravel framework, до речі, є спеціальний інструмент.

Laravel Mix

Даний пакет являє собою надбудову над згаданим WebPack, що дозволяє розділяти css і js код на окремі модулі, конфігурувати їх використання, налаштовувати мініфікацію і використання css-препроцесорів (sass, less, stylus і т.д.).

Загалом, фронтенд-розробники оцінять 🙂

Реєстрація та аутентифікація

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

валідатори

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

По правді кажучи, спочатку, коли я тільки починав працювати з Laravel, я поступав так само, тому що не знав про існування і призначення валідаторів.

Laravel валідатори - це конструкції, що дозволяють проводити перевірку даних на підставі різних готових правил. Також Laravel дозволяє створювати власні правила, повідомлення про помилки і кастомниє валідатори в цілому.

Eloquent ORM

ORM - це технологія програмування, яка покликана полегшити програмістам роботу з БД шляхом надання методів API для типових операцій (вибірка, додавання, оновлення, видалення і т.д.).

Реалізацій ORM існує безліч, але творці Laravel і тут заморочили, вигадавши власну.

механізм черг

У Laravel з коробки доступні інструменти організації черг процесів (наприклад, для масової відправки email).

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

Інтерфейс для Cron завдань

Laravel надає набір методів для створення і управління завданнями, виконуваними за допомогою планувальника завдань Cron.

Приклад завдання з виконанням кожну годину в проміжку між 7 і 22 годинами дня:

$ Schedule-> command ( 'reminders: send') -> hourly () -> between ( '7:00', '22: 00 ');

Зручний дебаггінг коду і тестування

Реалізується наявністю debug panel, спеціальної функції dd () для виведення даних на екран (аналог PHP-конструкції echo '<pre>'; print_r ($ var); die ();) і докладним балкою додатки.

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

Крім того, в процесі тестування працездатності ресурсів в Laravel фреймворку є можливості емуляції відвідування сторінок сайту і різних дій (натискання на посилання, кнопки, введення тексту і т.д.) завдяки використанню компонентів Symfony.

Можливість розширення базового функціоналу

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

Кешування з коробки

Ще одна корисна фіча, без якої неможлива розробка повноцінного HighLoad-ресурсу. Причому, кешування в Laravel доступно за допомогою різних технологій: Redis, MemCached і т.д. за допомогою відповідних драйверів і пакетів. За замовчуванням доступний драйвер кешування file, завдяки якому закешовану інформація буде зберігатися в файлової системі.

Зручний механізм роутінга

Маніпуляції з URL, доступними на сайті, в Laravel неймовірно прості і зручні. Все, що потрібно зробити, для додавання Laravel 5 routes - це відредагувати файл routes / web.php. Найпростіше додавання нового роута виглядає наступним чином:

Route :: get ( '/', function () {return view ( 'welcome');});

Дане правило буде виводити на екран вміст файлу resources / views / welcome.blade.php при переході в корінь сайту.

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

Робота з сесіями різними способами

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

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

  • файлове сховище на сервері - стандартні об'єкти сесій;
  • cookie;
  • Memcached;
  • Redis;
  • збереження даних в БД;
  • тимчасовий PHP масив.

Laracon

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

Laracon - це тематична конференція, метою якої є об'єднання любителів Laravel з усього світу для обміну досвідом.

Вона проводиться кілька разів на рік, починаючи з 2013 року, причому, в різних куточках Земної кулі. А в цьому, 2017 році, вона вперше буде проводитися у форматі online.

Приклади Laravel сайтів

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

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

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

  1. ambassadorpark.be - багатомовний Лендінгем
  2. stichoza.com - Лендінгем з голосовим управлінням
  3. phaser.io - сайт-візитка ігрового фреймворка Phaser
  4. laracasts.com - портал, присвячений Laravel, що має власний форум
  5. www.exploregeorgia.org - сайт-візитка
  6. fox47.com - новинний портал

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

Тим часом, можливість розробки нестандартних рішень - це головна фішка Laravel і фреймворків в цілому, яка вигідно відрізняє їх від CMS .

Тому далі пропоную вашій увазі список Laravel проектів, які не мають аналогів серед існуючих сайтів:

  1. www.bonappetour.com
  2. quebec.yulair.com
  3. www.startups.co
  4. toyotahalloffame.com
  5. rv.campingworld.com

Наостанок про Laravel PHP framework

Звичайно ж, наведений мною список особливостей Laravel далеко не повний. Але, сподіваюся, його вистачило, щоб пробудити у вас інтерес до вивчення даного фреймворка 🙂

Якщо ж аргументів вам здалося недостатньо, то досить згадати про популярність Laravel framework, що, в свою чергу, веде до зростання затребуваності відповідних фахівців.

І, як показало моє недавнє міні-дослідження ринку послуг PHP розробників , Ця тенденція вже спостерігається як в СНД, так і в усьому світі.

Так що вивчення Laravel фреймворка - це перспективне заняття з усіх точок зору: як з позицій професійного зростання, так і кар'єрного.

Про себе скажу, що я мотивувати з перших днів роботи з ним - настільки мені даний framework припав до душі.

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

Отже, ми розглянули найбільш цікаві та значущі плюшки Laravel 5.

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

Сподіваюся, що вона вийшла і не дала вам занудьгувати.

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

На цьому все! До скорої зустрічі 🙂

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

Більше 5 років досвіду професійної розробки сайтів. Робота з PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular і іншими технологіями web-розробки.

Досвід розробки проектів різного рівня: Лендінзі, корпоративні сайти, Інтернет-магазини, CRM, портали. У тому числі підтримка і розробка HighLoad проектів. Надсилайте ваші заявки на email [email protected] .

І з друзями не забудьте поділитися 😉

Кому варто спробувати Laravel фреймворк?
Laravel - це що?
Кому варто спробувати Laravel фреймворк?
Сподіваюся, я вас злегка мотивувати?
Отже, що ж цікавого дає розробнику Laravel?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью