
Laravel MVC framework
Laravel is a free, open-source PHP MVC framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller architectural pattern and based on Symfony
Build simple to advanced web applications using PHP’s most popular web framework.
Why Laravel?
- Secure authorization and authentication systems
- Completely customizable
- Integration with mail services.
- Clean documentation and Model View Controller (MVC) support
- Fast development time
- Expandable requirements for future
- Cost-effective
How to Install?
Useful resources for download and installation:
Your First Laravel Project
Before creating your first Laravel project, you should ensure that your local machine has PHP and Composer installed.
After you have installed PHP and Composer, you may create a new Laravel project via the Composer create-project command:
composer create-project laravel/laravel example-app
Or, you may create new Laravel projects by globally installing the Laravel installer via Composer:
composer global require laravel/installer laravel new example-app
After the project has been created, start Laravel’s local development server using the Laravel’s Artisan CLI serve command:
cd example-app php artisan serve
Laravel MVC framework: Artisan commands
Artisan is the name of the command-line interface included with Laravel. It provides a number of helpful commands for your use while developing your application. It is driven by the powerful Symfony Console component.
php artisan serve
php artisan serve --port 8080
Laravel MVC Framework: Introduction to views
Laravel is the MVC (Model View Controller) framework. The view part deals with presenting the data to the user. This is usually in the form of HTML pages.
Q: Where are views stored in a Laravel project?
A: The resources/views folder
Routing
The most basic Laravel routes accept a URI and a Closure, providing a very simple and expressive method of defining routes:
Route::get('/', function () { return view('welcome'); });
Route::get('about', 'AboutController@index');
Introducing controllers
MVC Controllers are responsible for controlling the flow of the application execution. Controllers are simple PHP classes in the MVC framework. We will create a controller using the artisan command in Laravel:
php artisan make:controller AboutController
Introducing migrations and models
The model represents domain-specific data and business logic in MVC architecture. It maintains the data of the application. Model objects retrieve and store model states in the persistence store like a database.
php artisan make:model About
Database connection in Laravel
Migrations are like version control for your database, allowing your team to easily modify and share the application’s database schema. Migrations are typically paired with Laravel’s schema builder to easily build your application’s database schema. If you have ever had to tell a teammate to manually add a column to their local database schema, you’ve faced the problem that database migrations solve.
php artisan make:migration create_about_table
php artisan migrate
Laravel Migration Error Solution:
According to the official documentation, you can solve this quite easily.
According to the official documentation, you can solve this quite easily.
Add following code to AppServiceProvider.php (/app/Providers/AppServiceProvider.php)
use Illuminate\Support\Facades\Schema; //NEW: Import Schema function boot() { Schema::defaultStringLength(191); //NEW: Increase StringLength }
php artisan migrate:rollback
rollback command will execute down function in migration table
public function down() { Schema::dropIfExists('about'); }
php artisan migrate:refresh