SlideShare a Scribd company logo
1 of 24
Download to read offline
Presents By : Sayed-Farshad Kazemi
For : Software Free Day
Fall 2016
Introduction of Laravel and creating a
customized framework out of its packages
@farshadfeli
x
@s.farshad.k
@farshad92
s.farshad.k@gmail.co
m
Headlines
 Why should we use frameworks?
 Why Laravel?
 How to install
A. FIRST THING FIRST: XAMPP
B. WHAT IS DEPENDENCY MANAGER?
C. INSTALL COMPOSER
D. INSTALL LARAVEL
 HOW TO KEEP WHAT WE NEED?
A. HOW TO USE WHAT WE NEED?
B. WHAT MAY WE REALLY NEED?
C. LET’S TRY IT OUT!
D. DISCUSSION : IS IT BETTER TO WRITE A
FRAMEWORK FROM SCRATCH
 CONCLUSION
2
Headlines
 Why should we use frameworks?
 Why Laravel?
 How to install
A. FIRST THING FIRST: XAMPP
B. WHAT IS DEPENDENCY MANAGER?
C. INSTALL COMPOSER
D. INSTALL LARAVEL
 HOW TO KEEP WHAT WE NEED?
A. HOW TO USE WHAT WE NEED?
B. WHAT MAY WE REALLY NEED?
C. LET’S TRY IT OUT!
D. DISCUSSION : IS IT BETTER TO WRITE A
FRAMEWORK FROM SCRATCH
 CONCLUSION
3
Why should we use frameworks?
 Reinventing the wheel?
 Can get a great wheel, for free!
 No time will be put on inventing wheel
 You get a reliable wheel, in terms of privacy, security, performance and etc.
 Security matters
 Time is Gold
 Performance Talks
 Standard coding style
4
Headlines
 Why should we use frameworks?
 Why Laravel?
 How to install
A. FIRST THING FIRST: XAMPP
B. WHAT IS DEPENDENCY MANAGER?
C. INSTALL COMPOSER
D. INSTALL LARAVEL
 HOW TO KEEP WHAT WE NEED?
A. HOW TO USE WHAT WE NEED?
B. WHAT MAY WE REALLY NEED?
C. LET’S TRY IT OUT!
D. DISCUSSION : IS IT BETTER TO WRITE A
FRAMEWORK FROM SCRATCH
 CONCLUSION
5
Why Laravel?
 Ease of Use
 Great community
 So many tutorials out there in the web
 Easy to install
 MVC based framework, yet easy to understand
 Uses separable packages to form a framework
 Can use whatever you wanted, wherever you wanted
 Very good performance
 REST routing
 …
6
Headlines
 Why should we use frameworks?
 Why Laravel?
 How to install
A. FIRST THING FIRST: XAMPP
B. WHAT IS DEPENDENCY MANAGER?
C. INSTALL COMPOSER
D. INSTALL LARAVEL
 HOW TO KEEP WHAT WE NEED?
A. HOW TO USE WHAT WE NEED?
B. WHAT MAY WE REALLY NEED?
C. LET’S TRY IT OUT!
D. DISCUSSION : IS IT BETTER TO WRITE A
FRAMEWORK FROM SCRATCH
 CONCLUSION
7
First thing first: Xampp
 Couple of things you need to have:
1. Php : As a server side scripting language
2. Mysql (or any other preferred DB) : As a database
 Can find both of them wrapped up in a nice package with other in Xampp
8
First thing first: Xampp
 Proper download link can be found:
 https://www.apachefriends.org/download.h
tml
 Hit “Next” several times, till it says
finished you are done installing
 Open control panel, will end up seeing
something like this:
9
Figure 1 – xampp, up and running
What is dependency manager?
 As a easy-to-understand explanation is that it refers to a tool gathers
proper packages per project.
 In PHP world, it is composer who does that!
 How to use:
 Initial composer.json
 Insert dependencies (namespace and version)
 Run composer update/install
 Have a coffee till it gets ready (personally prefer chocolate milk)
 Include vendor/autoload.php and that it!
10
Install Composer
 To install this magical tools we
have couple of ways, you can
use binary version for windows
or use command in figure 2 in
PHP folder and install it using
command line:
11
Figure 2 – install composer using command line
Install Laravel
 Laravel is easy to install and it can be installed using several methods
 Preferred method is using composer dependency manager
 Installation may take 1 up to 20 minutes depending on your internet speed!
 Install Laravel with composer :
 composer create-project --prefer-dist laravel/laravel folderName
 Notes:
 If you get any error regarding turning on SSL in any of these step, go to php.ini
file where you installed xampp and omit the “;” at the beginning of
“extension=php_openssl.dll”
 Creating a Laravel project must be accomplished in htdocs folder, if you want to
see the result in you localhost
12
Headlines
 Why should we use frameworks?
 Why Laravel?
 HOW TO INSTALL
A. FIRST THING FIRST: XAMPP
B. WHAT IS DEPENDENCY MANAGER?
C. INSTALL COMPOSER
D. INSTALL LARAVEL
 HOW TO KEEP WHAT WE NEED?
A. HOW TO USE WHAT WE NEED?
B. WHAT MAY WE REALLY NEED?
C. LET’S TRY IT OUT!
D. DISCUSSION : IS IT BETTER TO WRITE A
FRAMEWORK FROM SCRATCH
 CONCLUSION
13
HOW TO KEEP WHAT WE NEED?
 Remember when we said, Laravel is built using ready? It help us now!
 Fetch necessary packages and put them together to create your own custom made
framework
 All packages can be found in https://packagist.org/ under illuminate/*
14
WHAT MAY WE REALLY NEED?
 Recommended:
1. illuminate/support : This package offer us many great
features such as helper functions, ClassLoader, Collections and more
2. illuminate/container : Contain the application class, which
is used to connect components
15
Figure 3 –reference for
more information about
support package
WHAT MAY WE REALLY NEED?
3. illuminate/database : The Illuminate Database
component is a full database toolkit for PHP, providing an
expressive query builder, ActiveRecord style ORM, and schema
builder. It currently supports MySQL, Postgres, SQL Server, and
SQLite.
4. illuminate/routing : This package helps us to have
a REST routing system without having so much trouble. It
needs a proper .htaccess file (copy it from Laravel).
16
Figure 4 –reference for
more information about
database package
WHAT MAY WE REALLY NEED?
5. illuminate/events : We add this package because
Laravel route needs this package but does not state it directly as a
dependency.
6. philo/laravel-blade : Instead of view package I prefer this
one because it is easier to deal with as a standalone package.
However, if you do not like it, feel free to use any other package
you want for template engine.
17
Figure 5 – reference for
more information about
Laravel-blade package
Let’s try it out!
It is time to get our feet wet! Let check what we talked about
18
Discussion : is it better to write a
framework from scratch
o Some may say create your own framework for your projects. They claim:
1. You do not have to worry about the updates and you and your team members update it every
once in a while when you need
2. They say you know what’s going on inside your framework so you have absolute control over
your application
19
Discussion : is it better to write a
framework from scratch
o Some may say use existing frameworks such as Laravel or symphony for big projects
and Lumen and codeIgniter for smaller projects. They claim:
o Creating a framework is like reinventing the wheel, it is so probable that you do not end up
with a good wheel!
o Popular frameworks has showed their reliability in action. They are more secure and so can be
more trusted with more sensitive works
20
Headlines
 Why should we use frameworks?
 Why Laravel?
 HOW TO INSTALL
A. FIRST THING FIRST: XAMPP
B. WHAT IS DEPENDENCY MANAGER?
C. INSTALL COMPOSER
D. INSTALL LARAVEL
 HOW TO KEEP WHAT WE NEED?
A. HOW TO USE WHAT WE NEED?
B. WHAT MAY WE REALLY NEED?
C. LET’S TRY IT OUT!
D. DISCUSSION : IS IT BETTER TO WRITE A
FRAMEWORK FROM SCRATCH
 CONCLUSION
21
22
CONCLUSION
 Laravel shows a great flexibility because of packages it uses. You can use them with
the default binding of Laravel or you can choose you favorable packages and create
your own personal framework in less than an hour!
TO READ MORE:
1. http://www.richardbagshaw.co.uk/using-illuminate-components/
2. http://www.gufran.me/tag/Laravel/
23
QUESTIONS?
Thanks for being patience :)
24

More Related Content

What's hot

One Click Deployment with Jenkins
One Click Deployment with JenkinsOne Click Deployment with Jenkins
One Click Deployment with Jenkins
Mayflower GmbH
 

What's hot (20)

Article laravel 8
Article laravel 8Article laravel 8
Article laravel 8
 
Laravel Code Generators and Packages
Laravel Code Generators and PackagesLaravel Code Generators and Packages
Laravel Code Generators and Packages
 
Phalcon
PhalconPhalcon
Phalcon
 
Maven, Eclipse And OSGi Working Together
Maven, Eclipse And OSGi Working TogetherMaven, Eclipse And OSGi Working Together
Maven, Eclipse And OSGi Working Together
 
Q4E and Eclipse IAM, Maven integration for Eclipse
Q4E and Eclipse IAM, Maven integration for EclipseQ4E and Eclipse IAM, Maven integration for Eclipse
Q4E and Eclipse IAM, Maven integration for Eclipse
 
Laravel 5.4
Laravel 5.4 Laravel 5.4
Laravel 5.4
 
Paragraphs at drupal 8.
Paragraphs at drupal 8.Paragraphs at drupal 8.
Paragraphs at drupal 8.
 
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)
 
One Click Deployment with Jenkins
One Click Deployment with JenkinsOne Click Deployment with Jenkins
One Click Deployment with Jenkins
 
WordPress London Developer Operations For Beginners
WordPress London Developer Operations For BeginnersWordPress London Developer Operations For Beginners
WordPress London Developer Operations For Beginners
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New Features
 
Google Glass Mirror API Setup
Google Glass Mirror API SetupGoogle Glass Mirror API Setup
Google Glass Mirror API Setup
 
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"
 
All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$
 
Ansible for the Impatient Devops
Ansible for the Impatient DevopsAnsible for the Impatient Devops
Ansible for the Impatient Devops
 
Php framework at BarCampPP
Php framework at BarCampPPPhp framework at BarCampPP
Php framework at BarCampPP
 
Professional Workflow from Development to Deployment
Professional Workflow from Development to DeploymentProfessional Workflow from Development to Deployment
Professional Workflow from Development to Deployment
 
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by DefaultJS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
 
Tomcat Maven Plugin
Tomcat Maven PluginTomcat Maven Plugin
Tomcat Maven Plugin
 

Similar to معرفی و ساخت یک فریم‌ورک شخصی به کمک لاراول

Similar to معرفی و ساخت یک فریم‌ورک شخصی به کمک لاراول (20)

Laravel 9 is now out – how is an improvement over its predecessors
Laravel 9 is now out – how is an improvement over its predecessorsLaravel 9 is now out – how is an improvement over its predecessors
Laravel 9 is now out – how is an improvement over its predecessors
 
The Ultimate Guide to Laravel Performance Optimization in 2022.pdf
The Ultimate Guide to Laravel Performance Optimization in 2022.pdfThe Ultimate Guide to Laravel Performance Optimization in 2022.pdf
The Ultimate Guide to Laravel Performance Optimization in 2022.pdf
 
Hidden things uncovered about laravel development
Hidden things uncovered about laravel developmentHidden things uncovered about laravel development
Hidden things uncovered about laravel development
 
The trend of laravel application development will never end!
The trend of laravel application development will never end!The trend of laravel application development will never end!
The trend of laravel application development will never end!
 
Latest Laravel Practice 2023 Experts Guidance.pdf
Latest Laravel Practice 2023 Experts Guidance.pdfLatest Laravel Practice 2023 Experts Guidance.pdf
Latest Laravel Practice 2023 Experts Guidance.pdf
 
PHP Frameworks That Will Woo-Trick Your Web Application Development in 2019
PHP Frameworks That Will Woo-Trick Your Web Application Development in 2019PHP Frameworks That Will Woo-Trick Your Web Application Development in 2019
PHP Frameworks That Will Woo-Trick Your Web Application Development in 2019
 
Laravel 9_ Unlock the Exciting Features Here!.pptx
Laravel 9_ Unlock the Exciting Features Here!.pptxLaravel 9_ Unlock the Exciting Features Here!.pptx
Laravel 9_ Unlock the Exciting Features Here!.pptx
 
Laravel Presentation
Laravel PresentationLaravel Presentation
Laravel Presentation
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Laravel - A Trending PHP Framework
Laravel - A Trending PHP FrameworkLaravel - A Trending PHP Framework
Laravel - A Trending PHP Framework
 
Top laravel packages to install handpicked list from expert
Top laravel packages to install handpicked list from expertTop laravel packages to install handpicked list from expert
Top laravel packages to install handpicked list from expert
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
A Good PHP Framework For Beginners Like Me!
A Good PHP Framework For Beginners Like Me!A Good PHP Framework For Beginners Like Me!
A Good PHP Framework For Beginners Like Me!
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
 
How to Install Laravel 5.7
How to Install Laravel 5.7How to Install Laravel 5.7
How to Install Laravel 5.7
 
10 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 202210 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 2022
 
10 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 202210 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 2022
 
What is Laravel and Why Should You Choose it for Your Next Project?
What is Laravel and Why Should You Choose it for Your Next Project?What is Laravel and Why Should You Choose it for Your Next Project?
What is Laravel and Why Should You Choose it for Your Next Project?
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?
 

More from جشنوارهٔ روز آزادی نرم‌افزار تهران

چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آنحرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعهخلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
برنامهٔ آموزشی ویکی‌پدیا
برنامهٔ آموزشی ویکی‌پدیابرنامهٔ آموزشی ویکی‌پدیا
برنامهٔ آموزشی ویکی‌پدیا
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
آزادی و محرمانگی در رایانش همراه
آزادی و محرمانگی در رایانش همراهآزادی و محرمانگی در رایانش همراه
آزادی و محرمانگی در رایانش همراه
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزادچرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
چگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wiresharkچگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wireshark
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
چگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wiresharkچگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wireshark
جشنوارهٔ روز آزادی نرم‌افزار تهران
 
آموزش کار با GIT
آموزش کار با GITآموزش کار با GIT

More from جشنوارهٔ روز آزادی نرم‌افزار تهران (20)

Rights in CopyLeft
Rights in CopyLeftRights in CopyLeft
Rights in CopyLeft
 
Jekyll
JekyllJekyll
Jekyll
 
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
 
StarCalendar
StarCalendarStarCalendar
StarCalendar
 
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آنحرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
 
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعهخلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
 
برنامهٔ آموزشی ویکی‌پدیا
برنامهٔ آموزشی ویکی‌پدیابرنامهٔ آموزشی ویکی‌پدیا
برنامهٔ آموزشی ویکی‌پدیا
 
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
 
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
 
آزادی و محرمانگی در رایانش همراه
آزادی و محرمانگی در رایانش همراهآزادی و محرمانگی در رایانش همراه
آزادی و محرمانگی در رایانش همراه
 
سیاست‌های کمتر شناخته‌شده ویکی‌پدیا
سیاست‌های کمتر شناخته‌شده ویکی‌پدیاسیاست‌های کمتر شناخته‌شده ویکی‌پدیا
سیاست‌های کمتر شناخته‌شده ویکی‌پدیا
 
معرفی بنیاد ویکی‌مدیا و پروژه‌هایش (به جز ویکی‌پدیا)
معرفی بنیاد ویکی‌مدیا و پروژه‌هایش (به جز ویکی‌پدیا)معرفی بنیاد ویکی‌مدیا و پروژه‌هایش (به جز ویکی‌پدیا)
معرفی بنیاد ویکی‌مدیا و پروژه‌هایش (به جز ویکی‌پدیا)
 
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزادچرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
 
چگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wiresharkچگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wireshark
 
چگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wiresharkچگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wireshark
 
کار با اوپن‌استریت‌مپ (OSM) از مبتدی تا پیشرفته
کار با اوپن‌استریت‌مپ (OSM) از مبتدی تا پیشرفتهکار با اوپن‌استریت‌مپ (OSM) از مبتدی تا پیشرفته
کار با اوپن‌استریت‌مپ (OSM) از مبتدی تا پیشرفته
 
متاپست (MetaPost)
متاپست (MetaPost)متاپست (MetaPost)
متاپست (MetaPost)
 
داده‌کاوی و زبان برنامه‌نویسی R
داده‌کاوی و زبان برنامه‌نویسی Rداده‌کاوی و زبان برنامه‌نویسی R
داده‌کاوی و زبان برنامه‌نویسی R
 
آموزش کار با GIT
آموزش کار با GITآموزش کار با GIT
آموزش کار با GIT
 
یادگیری هک کلاه سفید و تست نفوذ به شبکه
یادگیری هک کلاه سفید و تست نفوذ به شبکهیادگیری هک کلاه سفید و تست نفوذ به شبکه
یادگیری هک کلاه سفید و تست نفوذ به شبکه
 

Recently uploaded

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 

Recently uploaded (20)

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 

معرفی و ساخت یک فریم‌ورک شخصی به کمک لاراول

  • 1. Presents By : Sayed-Farshad Kazemi For : Software Free Day Fall 2016 Introduction of Laravel and creating a customized framework out of its packages @farshadfeli x @s.farshad.k @farshad92 s.farshad.k@gmail.co m
  • 2. Headlines  Why should we use frameworks?  Why Laravel?  How to install A. FIRST THING FIRST: XAMPP B. WHAT IS DEPENDENCY MANAGER? C. INSTALL COMPOSER D. INSTALL LARAVEL  HOW TO KEEP WHAT WE NEED? A. HOW TO USE WHAT WE NEED? B. WHAT MAY WE REALLY NEED? C. LET’S TRY IT OUT! D. DISCUSSION : IS IT BETTER TO WRITE A FRAMEWORK FROM SCRATCH  CONCLUSION 2
  • 3. Headlines  Why should we use frameworks?  Why Laravel?  How to install A. FIRST THING FIRST: XAMPP B. WHAT IS DEPENDENCY MANAGER? C. INSTALL COMPOSER D. INSTALL LARAVEL  HOW TO KEEP WHAT WE NEED? A. HOW TO USE WHAT WE NEED? B. WHAT MAY WE REALLY NEED? C. LET’S TRY IT OUT! D. DISCUSSION : IS IT BETTER TO WRITE A FRAMEWORK FROM SCRATCH  CONCLUSION 3
  • 4. Why should we use frameworks?  Reinventing the wheel?  Can get a great wheel, for free!  No time will be put on inventing wheel  You get a reliable wheel, in terms of privacy, security, performance and etc.  Security matters  Time is Gold  Performance Talks  Standard coding style 4
  • 5. Headlines  Why should we use frameworks?  Why Laravel?  How to install A. FIRST THING FIRST: XAMPP B. WHAT IS DEPENDENCY MANAGER? C. INSTALL COMPOSER D. INSTALL LARAVEL  HOW TO KEEP WHAT WE NEED? A. HOW TO USE WHAT WE NEED? B. WHAT MAY WE REALLY NEED? C. LET’S TRY IT OUT! D. DISCUSSION : IS IT BETTER TO WRITE A FRAMEWORK FROM SCRATCH  CONCLUSION 5
  • 6. Why Laravel?  Ease of Use  Great community  So many tutorials out there in the web  Easy to install  MVC based framework, yet easy to understand  Uses separable packages to form a framework  Can use whatever you wanted, wherever you wanted  Very good performance  REST routing  … 6
  • 7. Headlines  Why should we use frameworks?  Why Laravel?  How to install A. FIRST THING FIRST: XAMPP B. WHAT IS DEPENDENCY MANAGER? C. INSTALL COMPOSER D. INSTALL LARAVEL  HOW TO KEEP WHAT WE NEED? A. HOW TO USE WHAT WE NEED? B. WHAT MAY WE REALLY NEED? C. LET’S TRY IT OUT! D. DISCUSSION : IS IT BETTER TO WRITE A FRAMEWORK FROM SCRATCH  CONCLUSION 7
  • 8. First thing first: Xampp  Couple of things you need to have: 1. Php : As a server side scripting language 2. Mysql (or any other preferred DB) : As a database  Can find both of them wrapped up in a nice package with other in Xampp 8
  • 9. First thing first: Xampp  Proper download link can be found:  https://www.apachefriends.org/download.h tml  Hit “Next” several times, till it says finished you are done installing  Open control panel, will end up seeing something like this: 9 Figure 1 – xampp, up and running
  • 10. What is dependency manager?  As a easy-to-understand explanation is that it refers to a tool gathers proper packages per project.  In PHP world, it is composer who does that!  How to use:  Initial composer.json  Insert dependencies (namespace and version)  Run composer update/install  Have a coffee till it gets ready (personally prefer chocolate milk)  Include vendor/autoload.php and that it! 10
  • 11. Install Composer  To install this magical tools we have couple of ways, you can use binary version for windows or use command in figure 2 in PHP folder and install it using command line: 11 Figure 2 – install composer using command line
  • 12. Install Laravel  Laravel is easy to install and it can be installed using several methods  Preferred method is using composer dependency manager  Installation may take 1 up to 20 minutes depending on your internet speed!  Install Laravel with composer :  composer create-project --prefer-dist laravel/laravel folderName  Notes:  If you get any error regarding turning on SSL in any of these step, go to php.ini file where you installed xampp and omit the “;” at the beginning of “extension=php_openssl.dll”  Creating a Laravel project must be accomplished in htdocs folder, if you want to see the result in you localhost 12
  • 13. Headlines  Why should we use frameworks?  Why Laravel?  HOW TO INSTALL A. FIRST THING FIRST: XAMPP B. WHAT IS DEPENDENCY MANAGER? C. INSTALL COMPOSER D. INSTALL LARAVEL  HOW TO KEEP WHAT WE NEED? A. HOW TO USE WHAT WE NEED? B. WHAT MAY WE REALLY NEED? C. LET’S TRY IT OUT! D. DISCUSSION : IS IT BETTER TO WRITE A FRAMEWORK FROM SCRATCH  CONCLUSION 13
  • 14. HOW TO KEEP WHAT WE NEED?  Remember when we said, Laravel is built using ready? It help us now!  Fetch necessary packages and put them together to create your own custom made framework  All packages can be found in https://packagist.org/ under illuminate/* 14
  • 15. WHAT MAY WE REALLY NEED?  Recommended: 1. illuminate/support : This package offer us many great features such as helper functions, ClassLoader, Collections and more 2. illuminate/container : Contain the application class, which is used to connect components 15 Figure 3 –reference for more information about support package
  • 16. WHAT MAY WE REALLY NEED? 3. illuminate/database : The Illuminate Database component is a full database toolkit for PHP, providing an expressive query builder, ActiveRecord style ORM, and schema builder. It currently supports MySQL, Postgres, SQL Server, and SQLite. 4. illuminate/routing : This package helps us to have a REST routing system without having so much trouble. It needs a proper .htaccess file (copy it from Laravel). 16 Figure 4 –reference for more information about database package
  • 17. WHAT MAY WE REALLY NEED? 5. illuminate/events : We add this package because Laravel route needs this package but does not state it directly as a dependency. 6. philo/laravel-blade : Instead of view package I prefer this one because it is easier to deal with as a standalone package. However, if you do not like it, feel free to use any other package you want for template engine. 17 Figure 5 – reference for more information about Laravel-blade package
  • 18. Let’s try it out! It is time to get our feet wet! Let check what we talked about 18
  • 19. Discussion : is it better to write a framework from scratch o Some may say create your own framework for your projects. They claim: 1. You do not have to worry about the updates and you and your team members update it every once in a while when you need 2. They say you know what’s going on inside your framework so you have absolute control over your application 19
  • 20. Discussion : is it better to write a framework from scratch o Some may say use existing frameworks such as Laravel or symphony for big projects and Lumen and codeIgniter for smaller projects. They claim: o Creating a framework is like reinventing the wheel, it is so probable that you do not end up with a good wheel! o Popular frameworks has showed their reliability in action. They are more secure and so can be more trusted with more sensitive works 20
  • 21. Headlines  Why should we use frameworks?  Why Laravel?  HOW TO INSTALL A. FIRST THING FIRST: XAMPP B. WHAT IS DEPENDENCY MANAGER? C. INSTALL COMPOSER D. INSTALL LARAVEL  HOW TO KEEP WHAT WE NEED? A. HOW TO USE WHAT WE NEED? B. WHAT MAY WE REALLY NEED? C. LET’S TRY IT OUT! D. DISCUSSION : IS IT BETTER TO WRITE A FRAMEWORK FROM SCRATCH  CONCLUSION 21
  • 22. 22 CONCLUSION  Laravel shows a great flexibility because of packages it uses. You can use them with the default binding of Laravel or you can choose you favorable packages and create your own personal framework in less than an hour!
  • 23. TO READ MORE: 1. http://www.richardbagshaw.co.uk/using-illuminate-components/ 2. http://www.gufran.me/tag/Laravel/ 23
  • 24. QUESTIONS? Thanks for being patience :) 24