0% found this document useful (0 votes)
31 views

WT Module 6

Uploaded by

Devansh Shukla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

WT Module 6

Uploaded by

Devansh Shukla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Mahatma Education Society’s

Pillai HOC College of Engineering and Technology, Rasayani


Department of Electronics and Computer Science

Module 6: Web Development Framework


(Sub: Web Technologies, Sem: V)

By Pooja Shukre-Kulkarni
Laravel Framework
• Laravel is an open-source PHP a web application.

• The web application thus designed is framework, which is robust and easy to
understand. It follows a model-view-controller design pattern.

• Laravel reuses the existing components of different frameworks which helps in


creating more structured and pragmatic.

• Laravel offers a rich set of functionalities which incorporates the basic features of
PHP frameworks like CodeIgniter, Yii and other programming languages like Ruby on
Rails.

• Laravel has a very rich set of features which will boost the speed of web
development.
• If you are familiar with Core PHP and Advanced PHP, Laravel will make your task
easier.

• It saves a lot time if you are planning to develop a website from scratch.

• Moreover, a website built in Laravel is secure and prevents several web attacks.
Features of Laravel
• Modularity: Laravel provides 20 built in libraries and modules which helps in
enhancement of the application. Every module is integrated with Composer
dependency manager which eases updates.

• Testability: Laravel includes features and helpers which helps in testing through
various test cases. This feature helps in maintaining the code as per the
requirements.

• Routing: Laravel provides a flexible approach to the user to define routes in the web
application. Routing helps to scale the application in a better way and increases its
performance.

• Configuration Management: A web application designed in Laravel will be running


on different environments, which means that there will be a constant change in its
configuration. Laravel provides a consistent approach to handle the configuration in
an efficient way.
• Query Builder and ORM: Laravel incorporates a query builder which helps in
querying databases using various simple chain methods. It provides ORM (Object
Relational Mapper) and ActiveRecord implementation called Eloquent.

• Schema Builder: Schema Builder maintains the database definitions and schema in
PHP code. It also maintains a track of changes with respect to database migrations.

• Template Engine: Laravel uses the Blade Template engine, a lightweight template
language used to design hierarchical blocks and layouts with predefined blocks that
include dynamic content.

• E-mail: Laravel includes a mail class which helps in sending mail with rich content
and attachments from the web application.
• Authentication: User authentication is a common feature in web applications.
Laravel eases designing authentication as it includes features such as register,
forgot password and send password reminders.

• Redis: Laravel uses Redis to connect to an existing session and general-purpose


cache. Redis interacts with session directly.

• Queues: Laravel includes queue services like emailing large number of users or a
specified Cron job. These queues help in completing tasks in an easier manner
without waiting for the previous task to be completed.

• Event and Command Bus: Laravel 5.1 includes Command Bus which helps in
executing commands and dispatch events in a simple way. The commands in Laravel
act as per the application’s lifecycle.
Model-View-Controller (MVC)
• The Model-View-Controller (MVC) framework is an architectural/design pattern
that separates an application into three main logical components Model, View,
and Controller.
• Each architectural component is built to handle specific development aspects of an
application.
• It isolates the business logic and presentation layer from each other. It was
traditionally used for desktop graphical user interfaces (GUIs).
• MVC is one of the most frequently used industry-standard web development
frameworks to create scalable and extensible projects.
• It is also used for designing mobile apps.
• MVC was created by Trygve Reenskaug.
• The main goal of this design pattern was to solve the problem of users controlling a
large and complex data set by splitting a large application into specific sections that
all have their own purpose.
Features of MVC
• It provides a clear separation of business logic, Ul logic, and input logic.

• It offers full control over your HTML and URLs which makes it easy to design web
application architecture.

• It is a powerful URL-mapping component using which we can build applications that


have comprehensible and searchable URLs.

• It supports Test Driven Development (TDD).


Components of MVC framework
The MVC framework includes the following 3 components:
• Controller
• Model
• View
1. Controller:
• The controller is the component that enables the interconnection between the views
and the model so it acts as an intermediary.
• The controller doesn’t have to worry about handling data logic, it just tells the model
what to do.
• It processes all the business logic and incoming requests, manipulates data using
the Model component, and interact with the View to render the final output.

2. View:
• The View component is used for all the UI logic of the application.
• It generates a user interface for the user.
• Views are created by the data which is collected by the model component but these
data aren’t taken directly but through the controller.
• It only interacts with the controller.
3. Model:

• The Model component corresponds to all the data-related logic that the user works
with.

• This can represent either the data that is being transferred between the View and
Controller components or any other business logic-related data.

• It can add or retrieve data from the database.

• It responds to the controller’s request because the controller can’t interact with the
database by itself.

• The model interacts with the database and gives the required data back to the
controller.
Working of the MVC framework with an
example
• Let’s imagine an end-user sends a request to a server to get a list of students
studying in a class.

• The server would then send that request to that particular controller that handles
students.

• That controller would then request the model that handles students to return a list
of all students studying in a class.

• The model would query the database for the list of all students and then return that
list back to the controller.

• If the response back from the model was successful, then the controller would ask
the view associated with students to return a presentation of the list of students.
• This view would take the list of students from the controller and render the list into
HTML that can be used by the browser.

• The controller would then take that presentation and returns it back to the user. Thus
ending the request.

• If earlier the model returned an error, the controller would handle that error by asking
the view that handles errors to render a presentation for that particular error.

• That error presentation would then be returned to the user instead of the student list
presentation.

• As we can see from the above example, the model handles all of the data.

• The view handles all of the presentations and the controller just tells the model and
view of what to do.

You might also like