SlideShare a Scribd company logo
To My Presentation on
Laravel Development
Introduction
Muhammad Mahdi Hasan
 B.Sc. in Computer Science & Engineering
from International University of Business
Agriculture & Technology
 Currently working as a laravel developer in
Creative Software Ltd.
1st part
I. Laravel History, Environment Setup & Laravel
Installation
II. MVC architecture, Basic Authentication & Routing
III. Laravel Template Mastering & CRUD Operation
IV. Laravel Role Implementation, File storage &
Middleware
V. Eloquent ORM & Query Builder, Cart, Session &
Others
Content
 Implement laravel project & database connection
 Know how MCV architecture pattern works
 Know how to create, read, update & delete data
from MySql database with laravel project
 Basic authentication & role implementation
 Laravel project upload online demo
Our Goals
Laravel History,
Environment Setup
&
Laravel Installation
Laravel is a free, open-source PHP web
framework, created by Taylor Otwell and
intended for the development of web
applications following the model–view–
controller (MVC) architectural pattern.
What Is Laravel ?
Developer(s) Taylor Otwell
Initial release June 2011; 8 years ago
[1]
Stable release 6.9.0
[2]
/ 2019-12-19[±]
Written in PHP
Type Web framework
License MIT License
Website laravel.com
• The source code of Laravel is hosted on
GitHub and licensed under the terms of MIT
License.
History
Taylor Otwell created Laravel as an attempt to
provide a more advanced alternative to the
CodeIgniter framework, which did not provide certain
features such as built-in support for user
authentication and authorization. Laravel's first beta
release was made available on June 9, 2011,
followed by the Laravel 1 release later in the same
month.
Why Should We Choose
Laravel?
 Authorization Technique
 Object-Oriented Libraries
 Artisan
 MVC Support
 Security
 Database Migration
 Great Tutorials (Laracasts)
 Blade Templating Engine
 Responsible Interface
 Automatic Package Discovery
Installing
Laravel
Installation
Server Requirements
Install Composer
Install Laravel
Configuration
 PHP >= 7.2.0
 BCMath PHP Extension
 Ctype PHP Extension
 JSON PHP Extension
 Mbstring PHP Extension
 OpenSSL PHP Extension
 PDO PHP Extension
 Tokenizer PHP Extension
 XML PHP Extension
Server Requirements
Installing Composer
Laravel utilizes Composer to manage its
dependencies. So, before using Laravel,
make sure you have Composer installed
on your machine.
Installing Laravel
There Are 2 ways to install laravel project:
• Via Laravel Installer
• Via Composer Create-Project
• Via Laravel Installer
First, download the Laravel installer using Composer
than :
composer global require laravel/installer
laravel new blog
• Via Composer Create-Project
Alternatively, you may also install Laravel by issuing
the Composer create-project command in your
terminal:
composer create-project --prefer-dist laravel/laravel blog
• Note
Above commands will install the latest versions of laravel so if
you want to specify a version, you can use composer:
composer create-project laravel/laravel=5.8 myapp
Configuration
Public Directory
Configuration Files
Directory Permissions
Application Key
Additional Configuration
1st part End
2nd part
MVC architecture,
Basic Authentication
&
Routing
What Is MVC ?
The Model-View-Controller (MVC) is an
architectural pattern that separates an
application into three main logical
components: the model, the view, and the
controller. Each of these components are
built to handle specific development aspects
of an application. MVC is one of the most
frequently used industry-standard web
development framework to create scalable
and extensible projects.
Basic Authentication
Install the laravel/ui Composer package and run
php artisan ui vue --auth in a fresh Laravel
application. After migrating your database, navigate
your browser to http://your-app.test/register or any
other URL that is assigned to your application.
These commands will take care of scaffolding your
entire authentication system!
In laravel, there are 2 routes file web.php and api.php.
 web.php file is used for registering all the web
routes like -
mywebsite.com/about
or
mywebsite.com/contact
 api.php is used for registering all the routes related
to an api. We are only using web routes so don’t
worry about any api routes.
Routing
 Route:
Route::get('/', function () { return view('welcome'); });
Route::post('/product-create', 'ProductController@create')
->name('productcreate');
Route::get('/product-index','ProductController@index')->name('productindex');
Route::post('/product-update', 'ProductController@update')
->name('productupdate');
Route::get('/product-edit', 'ProductController@edit')->name('productedit');
Route::get('/product-delete', 'ProductController@delete')
->name('productdelete');
Laravel Project
Structure
app −This directory contains the core code of the
application.
bootstrap −This directory contains the application
bootstrapping script.
config −This directory contains configuration files of
application.
database −This folder contains your database migration and
seeds.
public −This is the application’s document root. It starts the
Laravel application. It also contains the assets of the
application like JavaScript, CSS, Images, etc.
resources −This directory contains raw assets such as the
LESS & Sass files, localization and language files, and
Templates that are rendered as HTML.
storage −This directory contains App storage, like file
uploads etc. Framework storage (cache), and
application-generated logs.
test −This directory contains various test cases.
vendor −This directory contains composer dependencies.
2nd part End
3rd part
Template Mastering
&
CRUD Operation
Template Mastering
The Blade Master Template is where we can place all the
boilerplate that all pages will typically make use of. Most times
you can name this file something like master.blade.php. All
view files that you would like to have make use of your master
page can now use the @extends keyword to do so. Since our
master page has the name of master.blade.php, in our view
files we will use @extends('master'). You can name the
master page something else if you want to, you’ll just need to
make sure to extend the other name. For example if your
master page is default.blade.php, you can use
@extends(‘default‘) in your view files.
CRUD Operation
$ php artisan make:model Product
protected $fillable = [ 'field_1', 'field_2', ‘field_3‘ ];
Migration :
Schema::create('products', function (Blueprint $table)
{
$table->increments('id');
$table->string('field_1');
$table->text('field_2');
$table->integer(field_3');
$table->timestamps();
});
$ php artisan migrate
$ php artisan make:migration create_products_table
Model :
$ php artisan make:controller ProductController
public function index()
{
return view('product_index');
}
public function create()
{
$data = new Product ();
$data->field_1 = $request->field_1;
$data->field_2 = $request->field_2;
$data->field_3 = $request->field_3;
$data->save();
return redirect('/products');
}
Controllers :
public function edit($id)
{
$product = Product::find($id);
return response()->json($product);
}
public function update()
{
$data = Product::find($request->id);
$data->field_1 = $request->field_1;
$data->field_2 = $request->field_2;
$data->field_3 = $request->field_3;
$data->save();
return redirect()->back();
}
Controllers :
Controllers :
public function delete($id)
{
$product = Product::find($id);
$product->delete();
return redirect()->back();
}
3rd part End
4th part
Role
Implementation,
File storage
& Middleware
In many web projects, we have different user roles
interacting with the system. Each role has its own
permission. Every feature of the system can be enabled
or disabled for these roles. We can define users
permissions in our codes and check if they are
authorized to do the requested action or not. A better
way, mostly in more flexible systems, is to create a role
and authorization management system. I’ll explain how
to implement a Laravel authorization system and define
users permission based on their roles.
Implementing User Roles into a Laravel Application. User
Roles allow us to control access to a page or feature within
an application.
Role Implementation
Gate:
Gates are Closures that determine if a user is authorized to
perform a given action and are typically defined in the App
Providers AuthServiceProvider class using the Gate facade.
public function boot(GateContract $gate)
{
$this->registerPolicies($gate);
$gate->define('isAdmin', function($user)
{
return $user->user_type == '0';
});
$gate->define('isCompany', function($user)
{
return $user->user_type == '3';
});
$gate->define('isUser', function($user)
{
return $user->user_type == '1';
});
}
Store a File
$this->validate($request,[ 'image'=> 'required|image|mimes:jpeg,png,jpg|' ]);
if ($request->hasFile('image'))
{
$image = $request->file('image');
$imagename = uniqid().$image->getClientOriginalName();
$uploadPath = 'public/Product/';
$image->move($uploadPath,$imagename);
$imageUrl = $uploadPath.$imagename;
}
else { $imageUrl = null; }
$post = new Product();
$post->title = $request->name;
$post->image = $imageUrl;
$post->save();
return redirect()->back();
Middleware provide a convenient mechanism for
filtering HTTP requests entering your application.
For example, Laravel includes a middleware that
verifies the user of your application is authenticated.
If the user is not authenticated, the middleware will
redirect the user to the login screen. However, if the
user is authenticated, the middleware will allow the
request to proceed further into the application.
Middleware
4th part End
5th part
Eloquent ORM
&
Query Builder
The Eloquent ORM included with Laravel
provides a beautiful, simple Active Record
implementation for working with your
database. Each database table has a
corresponding "Model" which is used to
interact with that table. Models allow you to
query for data in your tables, as well as
insert new records into the table.
Eloquent ORM
Laravel's database query builder provides a
convenient, fluent interface to creating and
running database queries. It can be used to
perform most database operations in your
application and works on all supported
database systems.
Query Builder
Cart, Session
&
Others
Laravel Shopping cart
Run the Composer require command from the Terminal:
composer require gloudemans/shoppingcart
GloudemansShoppingcartShoppingcartServiceProvider::class
'Cart' => GloudemansShoppingcartFacadesCart::class,
Check & and optionally add a new line to the aliases array:
Check & add a new line to the providers array:
Gloudemans Shoppingcart is a simple shoppingcart
implementation for Laravel.
public function addtocart(Request $request)
{
$products=Product::find($request->id);
Cart::add([
'id'=>$request->id,
'qty'=>$request->qty,
'name'=>$products->productname,
'price'=>$products->price,
'options' =>
[ 'image' => $products->image ]
]);
return back()->withInput();
}
public function cartshow()
{ $cartProduct = Cart::content();
$cartCount = Cart::count();
return view(‘ViewPage',compact(‘cartProduct’,‘cartCount’);
}
public function update(Request $request)
{
Cart::update($request->rowId, $request->qty);
return redirect()->back();
}
public function delete($id)
{
Cart::remove($id);
return redirect()->back();
}
Cart::destroy();
Cart::total();
Cart::subtotal();
Cart::count();
Session
Since HTTP driven applications are stateless, sessions provide a way to
store information about the user across multiple requests. Laravel ships
with a variety of session backends that are accessed through an
expressive, unified API. Support for popular backends such as
Memcached, Redis, and databases is included out of the box.
The session configuration file is stored at config/session.php. Be sure to
review the options available to you in this file.
@if(session(‘message'))
<div class="alert alert-dismissible alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{{ session(‘message') }}</strong>
</div>
@endif
5th part End
References :
 https://laravel.com/
 https://en.wikipedia.org/wiki/Laravel/
 https://laracasts.com/
 https://medium.com/techcompose/
 https://github.com/Crinsane/LaravelShoppingcart
 https://blog.pusher.com/laravel-mvc-use/
 https://getcomposer.org/download/
 https://laravel.com/docs/5.8/authentication
 https://www.tutorialspoint.com/laravel/index.htm
Laravel development (Laravel History, Environment Setup & Laravel Installation MVC architecture, Basic Authentication)
Laravel development (Laravel History, Environment Setup & Laravel Installation MVC architecture, Basic Authentication)

More Related Content

What's hot

Laravel presentation
Laravel presentationLaravel presentation
Laravel presentationToufiq Mahmud
 
Laravel - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web ArtisansLaravel - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web ArtisansWindzoon Technologies
 
Laravel tutorial
Laravel tutorialLaravel tutorial
Laravel tutorialBroker IG
 
Projects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsProjects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsSam Dias
 
Lecture 2_ Intro to laravel.pptx
Lecture 2_ Intro to laravel.pptxLecture 2_ Intro to laravel.pptx
Lecture 2_ Intro to laravel.pptxSaziaRahman
 
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)ssuser337865
 
Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introductionRasheed Waraich
 
An Introduction to Vuejs
An Introduction to VuejsAn Introduction to Vuejs
An Introduction to VuejsPaddy Lock
 
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafSpring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafThymeleaf
 

What's hot (20)

Laravel
LaravelLaravel
Laravel
 
Laravel presentation
Laravel presentationLaravel presentation
Laravel presentation
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
laravel.pptx
laravel.pptxlaravel.pptx
laravel.pptx
 
Laravel Presentation
Laravel PresentationLaravel Presentation
Laravel Presentation
 
Laravel - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web ArtisansLaravel - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web Artisans
 
Laravel tutorial
Laravel tutorialLaravel tutorial
Laravel tutorial
 
Projects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsProjects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 Projects
 
Laravel
LaravelLaravel
Laravel
 
Lecture 2_ Intro to laravel.pptx
Lecture 2_ Intro to laravel.pptxLecture 2_ Intro to laravel.pptx
Lecture 2_ Intro to laravel.pptx
 
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
 
Laravel Eloquent ORM
Laravel Eloquent ORMLaravel Eloquent ORM
Laravel Eloquent ORM
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring boot
Spring bootSpring boot
Spring boot
 
An Introduction to Vuejs
An Introduction to VuejsAn Introduction to Vuejs
An Introduction to Vuejs
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Angular 14.pptx
Angular 14.pptxAngular 14.pptx
Angular 14.pptx
 
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafSpring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
 

Similar to Laravel development (Laravel History, Environment Setup & Laravel Installation MVC architecture, Basic Authentication)

MidwestPHP 2016 - Adventures in Laravel 5
MidwestPHP 2016 - Adventures in Laravel 5 MidwestPHP 2016 - Adventures in Laravel 5
MidwestPHP 2016 - Adventures in Laravel 5 Joe Ferguson
 
laravel-interview-questions.pdf
laravel-interview-questions.pdflaravel-interview-questions.pdf
laravel-interview-questions.pdfAnuragMourya8
 
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialAdventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialJoe Ferguson
 
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Lorvent56
 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravelConfiz
 
Laravel & Composer presentation - extended
Laravel & Composer presentation - extendedLaravel & Composer presentation - extended
Laravel & Composer presentation - extendedCvetomir Denchev
 
Web service with Laravel
Web service with LaravelWeb service with Laravel
Web service with LaravelAbuzer Firdousi
 
RESTful API development in Laravel 4 - Christopher Pecoraro
RESTful API development in Laravel 4 - Christopher PecoraroRESTful API development in Laravel 4 - Christopher Pecoraro
RESTful API development in Laravel 4 - Christopher PecoraroChristopher Pecoraro
 
Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace Cvetomir Denchev
 
Building Scalable Applications with Laravel
Building Scalable Applications with LaravelBuilding Scalable Applications with Laravel
Building Scalable Applications with LaravelMuhammad Shakeel
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
A introduction to Laravel framework
A introduction to Laravel frameworkA introduction to Laravel framework
A introduction to Laravel frameworkPhu Luong Trong
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New FeaturesJoe Ferguson
 
Create Home Directories on Storage Using WFA and ServiceNow integration
Create Home Directories on Storage Using WFA and ServiceNow integrationCreate Home Directories on Storage Using WFA and ServiceNow integration
Create Home Directories on Storage Using WFA and ServiceNow integrationRutul Shah
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's CodeWildan Maulana
 

Similar to Laravel development (Laravel History, Environment Setup & Laravel Installation MVC architecture, Basic Authentication) (20)

MidwestPHP 2016 - Adventures in Laravel 5
MidwestPHP 2016 - Adventures in Laravel 5 MidwestPHP 2016 - Adventures in Laravel 5
MidwestPHP 2016 - Adventures in Laravel 5
 
Laravel 5
Laravel 5Laravel 5
Laravel 5
 
laravel-interview-questions.pdf
laravel-interview-questions.pdflaravel-interview-questions.pdf
laravel-interview-questions.pdf
 
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialAdventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
 
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravel
 
Intro to Laravel 4
Intro to Laravel 4Intro to Laravel 4
Intro to Laravel 4
 
Laravel & Composer presentation - extended
Laravel & Composer presentation - extendedLaravel & Composer presentation - extended
Laravel & Composer presentation - extended
 
Workshop Laravel 5.2
Workshop Laravel 5.2Workshop Laravel 5.2
Workshop Laravel 5.2
 
Web service with Laravel
Web service with LaravelWeb service with Laravel
Web service with Laravel
 
RESTful API development in Laravel 4 - Christopher Pecoraro
RESTful API development in Laravel 4 - Christopher PecoraroRESTful API development in Laravel 4 - Christopher Pecoraro
RESTful API development in Laravel 4 - Christopher Pecoraro
 
Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace
 
Building Scalable Applications with Laravel
Building Scalable Applications with LaravelBuilding Scalable Applications with Laravel
Building Scalable Applications with Laravel
 
Laravel tips-2019-04
Laravel tips-2019-04Laravel tips-2019-04
Laravel tips-2019-04
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
A introduction to Laravel framework
A introduction to Laravel frameworkA introduction to Laravel framework
A introduction to Laravel framework
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New Features
 
Laravel 5.3 - Web Development Php framework
Laravel 5.3 - Web Development Php frameworkLaravel 5.3 - Web Development Php framework
Laravel 5.3 - Web Development Php framework
 
Create Home Directories on Storage Using WFA and ServiceNow integration
Create Home Directories on Storage Using WFA and ServiceNow integrationCreate Home Directories on Storage Using WFA and ServiceNow integration
Create Home Directories on Storage Using WFA and ServiceNow integration
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's Code
 

More from Dilouar Hossain

Digital Marketing Trainer Interview Overview.pptx
Digital Marketing Trainer Interview Overview.pptxDigital Marketing Trainer Interview Overview.pptx
Digital Marketing Trainer Interview Overview.pptxDilouar Hossain
 
Future lab institute plan
Future lab institute planFuture lab institute plan
Future lab institute planDilouar Hossain
 
Welcome to our presentation
Welcome to our presentationWelcome to our presentation
Welcome to our presentationDilouar Hossain
 
Pharmacy management software presentation overview
Pharmacy management software presentation overviewPharmacy management software presentation overview
Pharmacy management software presentation overviewDilouar Hossain
 
Training overview on digital marketing
Training overview on digital marketingTraining overview on digital marketing
Training overview on digital marketingDilouar Hossain
 
How to work zoom meeting apps | zoom cloud meetings
How to work zoom meeting apps | zoom cloud meetingsHow to work zoom meeting apps | zoom cloud meetings
How to work zoom meeting apps | zoom cloud meetingsDilouar Hossain
 
Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)
Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)
Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)Dilouar Hossain
 
Web development (Wordpress)
Web development (Wordpress)Web development (Wordpress)
Web development (Wordpress)Dilouar Hossain
 
Internship Training overview
Internship Training overviewInternship Training overview
Internship Training overviewDilouar Hossain
 
My life style of Dilouar Hossain
My life style of Dilouar HossainMy life style of Dilouar Hossain
My life style of Dilouar HossainDilouar Hossain
 
Career guideline for freelancers By Dilouar Hossain
Career guideline for freelancers By Dilouar HossainCareer guideline for freelancers By Dilouar Hossain
Career guideline for freelancers By Dilouar HossainDilouar Hossain
 
Welcome to creative Software in Bangladesh
Welcome to creative Software in BangladeshWelcome to creative Software in Bangladesh
Welcome to creative Software in BangladeshDilouar Hossain
 
Regular expressions and languages pdf
Regular expressions and languages pdfRegular expressions and languages pdf
Regular expressions and languages pdfDilouar Hossain
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbmsDilouar Hossain
 
High pass filter with analog electronic
High pass filter with analog electronicHigh pass filter with analog electronic
High pass filter with analog electronicDilouar Hossain
 
Dc generator with machine 2
Dc generator with machine 2Dc generator with machine 2
Dc generator with machine 2Dilouar Hossain
 
Dc generator with machine 2
Dc generator with machine 2Dc generator with machine 2
Dc generator with machine 2Dilouar Hossain
 

More from Dilouar Hossain (20)

Digital Marketing Trainer Interview Overview.pptx
Digital Marketing Trainer Interview Overview.pptxDigital Marketing Trainer Interview Overview.pptx
Digital Marketing Trainer Interview Overview.pptx
 
Future lab institute plan
Future lab institute planFuture lab institute plan
Future lab institute plan
 
Welcome to our presentation
Welcome to our presentationWelcome to our presentation
Welcome to our presentation
 
Pharmacy management software presentation overview
Pharmacy management software presentation overviewPharmacy management software presentation overview
Pharmacy management software presentation overview
 
Training overview on digital marketing
Training overview on digital marketingTraining overview on digital marketing
Training overview on digital marketing
 
How to work zoom meeting apps | zoom cloud meetings
How to work zoom meeting apps | zoom cloud meetingsHow to work zoom meeting apps | zoom cloud meetings
How to work zoom meeting apps | zoom cloud meetings
 
Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)
Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)
Digital marketing Tips (Facebook, Linkedin, Twitter Marketing)
 
Web development (Wordpress)
Web development (Wordpress)Web development (Wordpress)
Web development (Wordpress)
 
Internship Training overview
Internship Training overviewInternship Training overview
Internship Training overview
 
My life style of Dilouar Hossain
My life style of Dilouar HossainMy life style of Dilouar Hossain
My life style of Dilouar Hossain
 
Career guideline for freelancers By Dilouar Hossain
Career guideline for freelancers By Dilouar HossainCareer guideline for freelancers By Dilouar Hossain
Career guideline for freelancers By Dilouar Hossain
 
Welcome to creative pos
Welcome to creative posWelcome to creative pos
Welcome to creative pos
 
Welcome to creative Software in Bangladesh
Welcome to creative Software in BangladeshWelcome to creative Software in Bangladesh
Welcome to creative Software in Bangladesh
 
Regular expressions and languages pdf
Regular expressions and languages pdfRegular expressions and languages pdf
Regular expressions and languages pdf
 
Theory of computing pdf
Theory of computing pdfTheory of computing pdf
Theory of computing pdf
 
Batch operating system
Batch operating system Batch operating system
Batch operating system
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbms
 
High pass filter with analog electronic
High pass filter with analog electronicHigh pass filter with analog electronic
High pass filter with analog electronic
 
Dc generator with machine 2
Dc generator with machine 2Dc generator with machine 2
Dc generator with machine 2
 
Dc generator with machine 2
Dc generator with machine 2Dc generator with machine 2
Dc generator with machine 2
 

Recently uploaded

Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chipsGeoBlogs
 
plant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsplant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsparmarsneha2
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptSourabh Kumar
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxRaedMohamed3
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345beazzy04
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfTamralipta Mahavidyalaya
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismDeeptiGupta154
 
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...SachinKumar945617
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...Sayali Powar
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPCeline George
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersPedroFerreira53928
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxbennyroshan06
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsCol Mukteshwar Prasad
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfThiyagu K
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasiemaillard
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchVikramjit Singh
 

Recently uploaded (20)

Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
plant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsplant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated crops
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 

Laravel development (Laravel History, Environment Setup & Laravel Installation MVC architecture, Basic Authentication)

  • 1. To My Presentation on Laravel Development
  • 2. Introduction Muhammad Mahdi Hasan  B.Sc. in Computer Science & Engineering from International University of Business Agriculture & Technology  Currently working as a laravel developer in Creative Software Ltd.
  • 4. I. Laravel History, Environment Setup & Laravel Installation II. MVC architecture, Basic Authentication & Routing III. Laravel Template Mastering & CRUD Operation IV. Laravel Role Implementation, File storage & Middleware V. Eloquent ORM & Query Builder, Cart, Session & Others Content
  • 5.  Implement laravel project & database connection  Know how MCV architecture pattern works  Know how to create, read, update & delete data from MySql database with laravel project  Basic authentication & role implementation  Laravel project upload online demo Our Goals
  • 7. Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view– controller (MVC) architectural pattern. What Is Laravel ?
  • 8. Developer(s) Taylor Otwell Initial release June 2011; 8 years ago [1] Stable release 6.9.0 [2] / 2019-12-19[±] Written in PHP Type Web framework License MIT License Website laravel.com • The source code of Laravel is hosted on GitHub and licensed under the terms of MIT License.
  • 9. History Taylor Otwell created Laravel as an attempt to provide a more advanced alternative to the CodeIgniter framework, which did not provide certain features such as built-in support for user authentication and authorization. Laravel's first beta release was made available on June 9, 2011, followed by the Laravel 1 release later in the same month.
  • 10.
  • 11. Why Should We Choose Laravel?  Authorization Technique  Object-Oriented Libraries  Artisan  MVC Support  Security  Database Migration  Great Tutorials (Laracasts)  Blade Templating Engine  Responsible Interface  Automatic Package Discovery
  • 14.  PHP >= 7.2.0  BCMath PHP Extension  Ctype PHP Extension  JSON PHP Extension  Mbstring PHP Extension  OpenSSL PHP Extension  PDO PHP Extension  Tokenizer PHP Extension  XML PHP Extension Server Requirements
  • 15. Installing Composer Laravel utilizes Composer to manage its dependencies. So, before using Laravel, make sure you have Composer installed on your machine.
  • 16. Installing Laravel There Are 2 ways to install laravel project: • Via Laravel Installer • Via Composer Create-Project
  • 17. • Via Laravel Installer First, download the Laravel installer using Composer than : composer global require laravel/installer laravel new blog • Via Composer Create-Project Alternatively, you may also install Laravel by issuing the Composer create-project command in your terminal: composer create-project --prefer-dist laravel/laravel blog • Note Above commands will install the latest versions of laravel so if you want to specify a version, you can use composer: composer create-project laravel/laravel=5.8 myapp
  • 18. Configuration Public Directory Configuration Files Directory Permissions Application Key Additional Configuration
  • 23. The Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application. MVC is one of the most frequently used industry-standard web development framework to create scalable and extensible projects.
  • 24.
  • 25. Basic Authentication Install the laravel/ui Composer package and run php artisan ui vue --auth in a fresh Laravel application. After migrating your database, navigate your browser to http://your-app.test/register or any other URL that is assigned to your application. These commands will take care of scaffolding your entire authentication system!
  • 26. In laravel, there are 2 routes file web.php and api.php.  web.php file is used for registering all the web routes like - mywebsite.com/about or mywebsite.com/contact  api.php is used for registering all the routes related to an api. We are only using web routes so don’t worry about any api routes. Routing
  • 27.  Route: Route::get('/', function () { return view('welcome'); }); Route::post('/product-create', 'ProductController@create') ->name('productcreate'); Route::get('/product-index','ProductController@index')->name('productindex'); Route::post('/product-update', 'ProductController@update') ->name('productupdate'); Route::get('/product-edit', 'ProductController@edit')->name('productedit'); Route::get('/product-delete', 'ProductController@delete') ->name('productdelete');
  • 29. app −This directory contains the core code of the application. bootstrap −This directory contains the application bootstrapping script. config −This directory contains configuration files of application. database −This folder contains your database migration and seeds. public −This is the application’s document root. It starts the Laravel application. It also contains the assets of the application like JavaScript, CSS, Images, etc.
  • 30. resources −This directory contains raw assets such as the LESS & Sass files, localization and language files, and Templates that are rendered as HTML. storage −This directory contains App storage, like file uploads etc. Framework storage (cache), and application-generated logs. test −This directory contains various test cases. vendor −This directory contains composer dependencies.
  • 34. Template Mastering The Blade Master Template is where we can place all the boilerplate that all pages will typically make use of. Most times you can name this file something like master.blade.php. All view files that you would like to have make use of your master page can now use the @extends keyword to do so. Since our master page has the name of master.blade.php, in our view files we will use @extends('master'). You can name the master page something else if you want to, you’ll just need to make sure to extend the other name. For example if your master page is default.blade.php, you can use @extends(‘default‘) in your view files.
  • 36. $ php artisan make:model Product protected $fillable = [ 'field_1', 'field_2', ‘field_3‘ ]; Migration : Schema::create('products', function (Blueprint $table) { $table->increments('id'); $table->string('field_1'); $table->text('field_2'); $table->integer(field_3'); $table->timestamps(); }); $ php artisan migrate $ php artisan make:migration create_products_table Model :
  • 37. $ php artisan make:controller ProductController public function index() { return view('product_index'); } public function create() { $data = new Product (); $data->field_1 = $request->field_1; $data->field_2 = $request->field_2; $data->field_3 = $request->field_3; $data->save(); return redirect('/products'); } Controllers :
  • 38. public function edit($id) { $product = Product::find($id); return response()->json($product); } public function update() { $data = Product::find($request->id); $data->field_1 = $request->field_1; $data->field_2 = $request->field_2; $data->field_3 = $request->field_3; $data->save(); return redirect()->back(); } Controllers :
  • 39. Controllers : public function delete($id) { $product = Product::find($id); $product->delete(); return redirect()->back(); }
  • 43. In many web projects, we have different user roles interacting with the system. Each role has its own permission. Every feature of the system can be enabled or disabled for these roles. We can define users permissions in our codes and check if they are authorized to do the requested action or not. A better way, mostly in more flexible systems, is to create a role and authorization management system. I’ll explain how to implement a Laravel authorization system and define users permission based on their roles. Implementing User Roles into a Laravel Application. User Roles allow us to control access to a page or feature within an application. Role Implementation
  • 44. Gate: Gates are Closures that determine if a user is authorized to perform a given action and are typically defined in the App Providers AuthServiceProvider class using the Gate facade. public function boot(GateContract $gate) { $this->registerPolicies($gate); $gate->define('isAdmin', function($user) { return $user->user_type == '0'; }); $gate->define('isCompany', function($user) { return $user->user_type == '3'; }); $gate->define('isUser', function($user) { return $user->user_type == '1'; }); }
  • 45. Store a File $this->validate($request,[ 'image'=> 'required|image|mimes:jpeg,png,jpg|' ]); if ($request->hasFile('image')) { $image = $request->file('image'); $imagename = uniqid().$image->getClientOriginalName(); $uploadPath = 'public/Product/'; $image->move($uploadPath,$imagename); $imageUrl = $uploadPath.$imagename; } else { $imageUrl = null; } $post = new Product(); $post->title = $request->name; $post->image = $imageUrl; $post->save(); return redirect()->back();
  • 46. Middleware provide a convenient mechanism for filtering HTTP requests entering your application. For example, Laravel includes a middleware that verifies the user of your application is authenticated. If the user is not authenticated, the middleware will redirect the user to the login screen. However, if the user is authenticated, the middleware will allow the request to proceed further into the application. Middleware
  • 50. The Eloquent ORM included with Laravel provides a beautiful, simple Active Record implementation for working with your database. Each database table has a corresponding "Model" which is used to interact with that table. Models allow you to query for data in your tables, as well as insert new records into the table. Eloquent ORM
  • 51. Laravel's database query builder provides a convenient, fluent interface to creating and running database queries. It can be used to perform most database operations in your application and works on all supported database systems. Query Builder
  • 53. Laravel Shopping cart Run the Composer require command from the Terminal: composer require gloudemans/shoppingcart GloudemansShoppingcartShoppingcartServiceProvider::class 'Cart' => GloudemansShoppingcartFacadesCart::class, Check & and optionally add a new line to the aliases array: Check & add a new line to the providers array: Gloudemans Shoppingcart is a simple shoppingcart implementation for Laravel.
  • 54. public function addtocart(Request $request) { $products=Product::find($request->id); Cart::add([ 'id'=>$request->id, 'qty'=>$request->qty, 'name'=>$products->productname, 'price'=>$products->price, 'options' => [ 'image' => $products->image ] ]); return back()->withInput(); } public function cartshow() { $cartProduct = Cart::content(); $cartCount = Cart::count(); return view(‘ViewPage',compact(‘cartProduct’,‘cartCount’); }
  • 55. public function update(Request $request) { Cart::update($request->rowId, $request->qty); return redirect()->back(); } public function delete($id) { Cart::remove($id); return redirect()->back(); } Cart::destroy(); Cart::total(); Cart::subtotal(); Cart::count();
  • 56. Session Since HTTP driven applications are stateless, sessions provide a way to store information about the user across multiple requests. Laravel ships with a variety of session backends that are accessed through an expressive, unified API. Support for popular backends such as Memcached, Redis, and databases is included out of the box. The session configuration file is stored at config/session.php. Be sure to review the options available to you in this file. @if(session(‘message')) <div class="alert alert-dismissible alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>{{ session(‘message') }}</strong> </div> @endif
  • 58. References :  https://laravel.com/  https://en.wikipedia.org/wiki/Laravel/  https://laracasts.com/  https://medium.com/techcompose/  https://github.com/Crinsane/LaravelShoppingcart  https://blog.pusher.com/laravel-mvc-use/  https://getcomposer.org/download/  https://laravel.com/docs/5.8/authentication  https://www.tutorialspoint.com/laravel/index.htm