Clever Geek Handbook
📜 ⬆️ ⬇️

Laravel

Laravel is a free, open source web framework designed for development using the MVC architecture model ( Model View Controller - Model View Controller ). Laravel is released under the MIT license .

Laravel
LaravelLogo.png
Type ofSoftware framework for creating web applications
DeveloperTaylor otwell
Written onPhp
operating systemCross platform
First edition2011-06-11
Latest version5.8.22 ( 2019-06-12 )
conditionActual
LicenseMIT
Sitelaravel.com

The source code of the project is hosted on GitHub [1] . As a result of a sitepoint.com survey in December 2013 about the most popular PHP frameworks, Laravel took the place of the most promising project for 2014 [2] .

In 2015, as a result of a sitepoint.com survey on the use of PHP frameworks among programmers, it took first place in the nominations:

  • Enterprise Level Framework
  • Personal Projects Framework

Content

History

Laravel was created by Taylor Otwell as a more functional alternative to CodeIgniter , which did not include various additional functions. The first beta release of Laravel became available on June 9, 2011, and Laravel 1 was released the same month. Laravel 1 includes built-in support for authentication, localization, model, presentation, sessions, routing, and other mechanisms.

Laravel 2 was released in September 2011. Key new features include controller support, which made the framework fully MVC compliant, built-in support for inversion control, and the Blade pattern system.

Laravel 3 was released in February 2012 with a set of new features, including a command line interface (CLI) under the name "Artisan", built-in support for several database management systems , database migration in the form of version control, event handling. The release of Laravel 3 received a significant increase in the number of users, which affected its popularity.

Laravel 4 was released in May 2013. Substantial changes were made to the Laravel structure, transferring its layout to a set of individual packages distributed through Composer. This layout improved the extensibility of Laravel 4, which was combined with the official regular release schedule covering six months between minor releases. Other new features in the Laravel 4 release include uploading database tables for the initial population, support for message queues, built-in support for sending various types of email, and support for soft deletion of database records.

Laravel 5 was released in February 2015 as a result of internal changes that resulted in the re-numbering of the release of Laravel 4.3 in the future. New features in the Laravel 5 release include support for scheduling recurring tasks through the Scheduler package, Flysystem abstraction layer, which allows remote storage to be used in the same way as local file systems, improved processing of package assets through Elixir, and simplified authentication from the outside through the optional Socialite package. . Laravel 5 also introduced a new internal directory tree structure for developed applications.

Laravel 5.1, released in June 2015. Is the first release of Laravel for long-term support (LTS) with the planned ability to correct errors for three years and security fixes for three years.

Laravel 5.3, released August 23, 2016. New features in 5.3 focus on improving development speed, adding additional enhancements for individual tasks.

Laravel 5.4, released January 24, 2017. There are many new features in this release, such as Laravel Dusk, Laravel Mix, Blade Components and Slots, Markdown Emails, automatic facades, route enhancements.

Laravel 5.5, released August 30, 2017. Returned Whoops package for debugging errors. From the innovations, the request processing method, new directives for the Blade template engine, a new command for database migration is migrate: fresh [3] .

Opportunities

Key features underlying the Laravel architecture [1] [4] :

  • Packages ( English packages ) - allow you to create and connect modules in Composer format to an application on Laravel. Many additional features are already available in the form of such modules.
  • Eloquent ORM - implementation of the ActiveRecord design pattern in PHP. Allows you to strictly define the relationship between database objects. Fluent's standard query builder for Laravel is supported by the Eloquent kernel.
  • The application logic is a part of the application being developed, declared either by using controllers or routes ( closure functions ). The syntax of ads is similar to the syntax used in the Sinatra framework .
  • Reverse routing links application-generated links and routes, allowing you to change the latter with automatic updating of related links. When linking using named routes, Laravel automatically generates the final URLs .
  • REST controllers are an extra layer to separate the processing logic of GET and POST HTTP requests.
  • Class autoloading is a mechanism for automatically loading PHP classes without the need to include their definition files in the include . Load on demand prevents the loading of unnecessary components; Only those that are actually used are loaded.
  • View composers are blocks of code that are executed when a view (template) is generated.
  • Inversion of Control ( English Inversion of Control ) - allows you to receive instances of objects on the principle of reverse control. It can also be used to create and retrieve single objects .
  • Migrations - version control system for databases . Allows you to associate changes in the application code with changes that are required in the database structure, which simplifies the deployment and updating of the application.
  • Unit testing ( unit tests ) - plays a very large role in Laravel, which itself contains a large number of tests to prevent regressions (errors due to code updates or fixes other errors).
  • Pagination ( pagination ) simplifies page generation by replacing various ways to solve this problem with a single mechanism built into Laravel.

Long-term support

In 2011, the framework followed, like many popular opensource projects, the mantra " release before, release more often ." With the historically growing popularity of the framework, it is time to focus on the demands of large organizations and mission-critical applications that need secure patches, without any quick updates. Laravel 5.1 includes 3 years of secure fixes.

Projects

In addition to the framework itself, the developers have released the following products:

  • Lumen [5] is a micro-framework based on Laravel components.
  • Spark [6] - a paid package for building SaaS services.
  • Horizon [7] is a package for tracking key queuing system metrics.

Conferences

Laracon is the common name for conferences dedicated to the Laravel framework. The first conference was held in Washington , USA , February 22–23, 2013. The second, in Amsterdam , the Netherlands , August 30–31, 2013, was the first European Laracon. The third conference was held in New York , USA , May 15–16, 2014. All these conferences are organized with the active participation of UserScape and with help from various sponsors [8] [9] [10] .

Laravel Release Schedule

Versionrelease dateNote
Laravel 5.1June 2015Corrections until June 2017, security fixes until June 2018.
Laravel 5.2December 2015The release implies the release of patches within 6 months, and security fixes within one year.
Laravel 5.3June 2016Corrections for 6 months, security fixes for one year. The release was released in late August 2016, two months later than the planned schedule.
Laravel 5.4December 2016Corrections for 6 months, security fixes for one year.
Laravel 5.5August 2017Current LTS release. Corrections for two years, security fixes - three years. Laravel 5.1 support is terminated, but security fixes will continue for a year.
Laravel 5.6February 7, 2018Corrections for 6 months, security fixes for one year.
Laravel 5.7September 4, 2018Corrections for 6 months, security fixes until August 2019
Laravel 5.8February 26, 2019The current stable version. Corrections for 6 months, security fixes until February 2020

See also

  • Codeigniter
  • Symfony
  • Sinatra
  • Yii

Notes

  1. ↑ 1 2 Daniel Gafitescu. Goodbye CodeIgniter, hello Laravel (Eng .) . sitepoint.com (June 6, 2013). The appeal date is December 21, 2013.
  2. ↑ Bruno Skvorc. Best PHP frameworks 2014 (Eng.) (Neopr.) . sitepoint.com (December 28, 2013). The appeal date is January 2, 2014.
  3. ↑ Laravel 5.5 LTS is Now Released (Eng.) , Laravel News (August 30, 2017). The appeal date is August 31, 2017.
  4. ↑ Jeffrey Way. Why Laravel captures the PHP community (English) (Neopr.) . tutsplus.com (November 29, 2012). The appeal date is December 21, 2013.
  5. ↑ Taylor Otwell. Lumen - PHP Micro-Framework By Laravel (Undefined) . lumen.laravel.com. The date of circulation is July 30, 2017.
  6. ↑ Spark (English) . spark.laravel.com. The date of circulation is July 30, 2017.
  7. ↑ Laravel Horizon - A Beautiful Dashboard For Your Redis Queue (English) . horizon.laravel.com. The date of circulation is July 30, 2017.
  8. ↑ Wiki Laravel (Eng.) (Unreferenced) (inaccessible link) . laravel.io. The date of circulation is January 2, 2014. Archived February 6, 2014.
  9. ↑ Laracon EU 2013 (Eng.) (Neopr.) . laracon.eu. The appeal date is January 2, 2014.
  10. Users Userscape site (Eng .) . userscape.com. The appeal date is January 2, 2014.

Literature

  • Shawn McCool. Laravel Starter. - Packt Publishing , 2012. - 64 p. - ISBN 978-1-78216-091-5 .

Links

  • Official site - Laravel.com (English)
  • Package Repository for Laravel (English)
  • Site of the Russian community Laravel
  • Laravel in Russian
  • Laravel 5.x Documentation
  • Laracon Conference (eng.)
  • Chat Telegram for Beginners Laravel Programmers - Laravel for Beginners (Rus.)
  • Laravel lessons in Russian
Source - https://ru.wikipedia.org/w/index.php?title=Laravel&oldid=100956474


More articles:

  • Stephanie, Ludolf Eduardovich
  • Catholic church of St. Ignatius of Loyola (Prague)
  • Krivoy Rog City Theater of Drama and Musical Comedy named after T. Shevchenko
  • Triple Nebula
  • Lee, Francois
  • Big Khorodno
  • Stylops cressoni
  • Kirchstein, Klaus-Dieter
  • Canon EOS 1200D
  • Pavlova, Alla Evgenievna

All articles

Clever Geek | 2019