SlideShare a Scribd company logo
Laravel Level 0
The Introduction to Laravel
By Spicydog (31-10-2016)
Agenda
● Lecturer introduce
● PHP in Brief
○ PHP Basic (Variable, Controls, Function)
○ PHP Intermediate (OOP)
● Web Application Development World
○ CMS (Content Management System)
○ Application Frameworks
● Introduction to Laravel
○ What is Laravel?
○ Why Laravel?
○ Prerequisites
● Development Environment
● Workshop & Assignments
● Simply a full stack developer since high school
● Graduated MS from CPE@KMUTT
● Do research but still love application developments
● Dev everything from web to Android to iOS
● Feel free to discuss with me, I love knowledge sharing!
Hello! it’s me, Spicydog!
A Quick Review for PHP
● Established in 1995
● Zend Technologies and PHP communities
● Most popular version: 5.6
● Most recent version: 7.1 (recommend 7.0)
● PHP is a SCRIPT Language
● Designed for web development (I am good at string things)
● Almost dominate the internet,
supported by most hosting,
has so many CMS and frameworks
PHP is everywhere and now here!
Let’s Rock with PHP Variable
$ for variable
$a = “1” // string(1) "1"
$b = ’1’ // string(1) "1"
$c = 1 // int(1)
$d = 1.0 // float(1)
var_dump() for variable information
var_dump($a+$b); // int(2)
var_dump($a.$b); // string(2) "11"
var_dump($a+$c); // int(2)
var_dump($c.$d); // string(2) "11"
var_dump($c+$d); // float(2)
So becareful!
PHP is dynamic type, it works most of the times but it always.
You must cast types with intval(), floatval(), and friends.. sometimes
'string' and "string" are NOT the same!
$a = 1;
$b = 2;
$c = 3;
echo '$a
$b
$c
';
echo '$an$bn$cn';
echo "$a
$b
$c
";
echo "$an$bn$cn";
$a
$b
$c
$an$bn$cn1
2
3
1
2
3
Controls in PHP are similar to C and Java
If..Else
if ($a) {}
else {}
For
for($i=0; $i<10; $i++;) {}
While
$i=0; while($i<10) {$i++;}
Do..While
$i=0; do{$i++;} while($i<10);
Switch
switch ($i) {
case 0: break;
default: break;
}
Functions in PHP are also similar to C and Java
function name($param1, $param2) {
return $param1 . $param2;
}
name(‘1’,’2’); // string(2) "12"
Class in PHP <?php
class Foo
{
public static $my_static = 'foo';
public function staticValue() {
return self::$my_static;
}
}
class Bar extends Foo
{
public function fooStatic() {
return parent::$my_static;
}
}
print Foo::$my_static . "n";
$foo = new Foo();
print $foo->staticValue() . "n";
print $foo->my_static . "n"; // Undefined "Property" my_static
print $foo::$my_static . "n";
$classname = 'Foo';
print $classname::$my_static . "n"; // As of PHP 5.3.0
print Bar::$my_static . "n";
$bar = new Bar();
print $bar->fooStatic() . "n";
?>
self for static
$this for object
:: call to static
-> call to object
http://php.net/manual/en/language.oop5.static.php
Web Application Development World
In web application development world, we..
Do it easy
Do it quick
Do it simple
Do it readable
Do it secure
Do it extendable
We try to use less money and time to have things done!
So we go for CMS and Frameworks
● CMS (Content Management System)
○ A web application for content management
○ Install and ready to go!
○ Work on most simple tasks
○ Not very flexible
● Application Framework
○ A template for application development
○ Pattern the code
○ Avoid reinvent the wheel
○ Easy and dev on top and flexible for most tasks
○ Require programming skills
Getting Started with Laravel
Laravel, a super productive PHP framework
● Laravel first launched in 2011
● Current version is 5.3
● Developed on top of Symfony
● Aims: fun, productive, clean, extendable
● Relatively bad in performance (but not that bad!)
Why Laravel?
● Easy to learn! (hopefully)
● Full of tools, ready for dev, tons of libraries
● We want our application to finish as fast as possible
● We want to work least
● We want our application easy to develop
● Our application is not user intensive
● Save time, save money, and done more things!
Say all of these in one word..
PRODUCTIVITY
But wait!! You have to know..
PHP Basic
PHP with DBMS
PHP OOP
PHP CLI
MVC
Composer
Artisan CLI
OMG
Don’t Worry!
I’m here to help you out :)
PHP CLI
CLI stands for Command Line Interface
Similar to Command Prompt and whatever Shell but this is PHP
Try this on your terminal! php -a
Are you using Windows? Good luck, help yourself! GOOGLE
Model-View-Controller
A primitive flow for software development
Client (Request) => Controller (Logic) => Model (Data Logic) =>
Controller (Login Again) => View (Display) => Client (Response)
Partitioning codes
by its functionality
Easy to maintain
This is a must-known
thing in any
software development
http://www.tutorialized.com/tutorial/Fundamentals-of-an-MVC-Framework/81946
Composer
The most popular dependency management tool in PHP
Get any libraries by typing in CLI
For example,
Install Laravel, we simply enter:
composer create-project --prefer-dist laravel/laravel blog
Add library to laravel we do:
composer require "laravelcollective/html":"^5.2.0"
Q: Where did I get these commands?
A: Google it man, they are on the website
https://getcomposer.org
Artisan CLI
Artisan is a PHP CLI Tool help you manage Laravel components
Simply go to Laravel root directory and type: php artisan
We are going to talk about this later since we are going to use it a lot!
Development Environment
Make sure you can run..
php from your command line
Otherwise, install PHP (we use PHP 5.6+)
composer from your command line
Otherwise, install Composer
Web Server on your computer
Recommend Apache for Rookie
You can use XAMPP for Windows or MAMP for Mac or LAMP for Linux
PHP IDE
I recommend PhpStorm, use your student status to claim a license
Git
We use Git here, you can use SourceTree if you want GUI client
Coding Style
In Laravel, we follow
PSR-2 Coding Style
Please follow this style =>
<?php
namespace VendorPackage;
use FooInterface;
use BarClass as Bar;
use OtherVendorOtherPackageBazClass;
class Foo extends Bar implements FooInterface
{
public function sampleMethod($a, $b = null)
{
if ($a === $b) {
bar();
} elseif ($a > $b) {
$foo->bar($arg1);
} else {
BazClass::bar($arg2, $arg3);
}
}
final public static function bar()
{
// method body
}
}
Workshop & Assignments
ROCK n’ LOAD
The most valuable skill is the skill to learn new things,
so here is your works have to make it done before next time
- Install development environment I have talked in last section
- Install your first Laravel Application
- Have a look at Directory Structure
- Try whatever you want
Extra!
- Wanna in advance? Go watch to Laracasts
- Free public cloud you can get from AWS Free Tier
Or claim free DigitalOcean credit from Github Student
Woo hoo!
No more slides, let’s rock!

More Related Content

PDF
Laravel Level 1 (The Basic)
PDF
Laravel level 2 (Let's Practical)
PDF
Introduction to Laravel
PDF
Laravel presentation
PDF
Getting to know Laravel 5
PDF
Why Laravel?
PDF
Web Development with Laravel 5
PPTX
Introduction to Laravel Framework (5.2)
Laravel Level 1 (The Basic)
Laravel level 2 (Let's Practical)
Introduction to Laravel
Laravel presentation
Getting to know Laravel 5
Why Laravel?
Web Development with Laravel 5
Introduction to Laravel Framework (5.2)

What's hot (20)

PDF
Laravel 5 In Depth
PPTX
Laravel ppt
ODP
Presentation laravel 5 4
PPTX
Intro to Laravel
PDF
Knowing Laravel 5 : The most popular PHP framework
PPTX
Workshop Laravel 5.2
PPTX
Laravel Webcon 2015
PPTX
Laravel Eloquent ORM
PPTX
Introduction to Laravel
PDF
What's New In Laravel 5
PPT
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
PPTX
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
ODP
Projects In Laravel : Learn Laravel Building 10 Projects
PDF
Laravel.IO A Use-Case Architecture
PDF
All Aboard for Laravel 5.1
PPTX
Introduction to laravel framework
PPTX
What's New in Laravel 5 (Laravel Meetup - 23th Apr 15, Yogyakarta, ID)
PDF
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
PPTX
Laravel overview
PDF
Laravel Introduction
Laravel 5 In Depth
Laravel ppt
Presentation laravel 5 4
Intro to Laravel
Knowing Laravel 5 : The most popular PHP framework
Workshop Laravel 5.2
Laravel Webcon 2015
Laravel Eloquent ORM
Introduction to Laravel
What's New In Laravel 5
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Projects In Laravel : Learn Laravel Building 10 Projects
Laravel.IO A Use-Case Architecture
All Aboard for Laravel 5.1
Introduction to laravel framework
What's New in Laravel 5 (Laravel Meetup - 23th Apr 15, Yogyakarta, ID)
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Laravel overview
Laravel Introduction
Ad

Similar to Laravel level 0 (introduction) (20)

PPTX
Laravel Tutorial PPT
PPTX
What-is-Laravel and introduciton to Laravel
PPTX
Laravel
PPTX
Lecture 2_ Intro to laravel.pptx
PPTX
What-is-Laravel-23-August-2017.pptx
PDF
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
PDF
Lecture11_LaravelGetStarted_SPring2023.pdf
PDF
Laravel 4 presentation
PPTX
Laravel 5
PPT
Phpwebdevelping
PDF
Laravel - A Trending PHP Framework
ODP
Laravel 5.3 - Web Development Php framework
PPT
Phpwebdev
PDF
Essential Guide To Php For All Levels O Adeolu
PDF
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
PPTX
Laravel session 1
PPTX
PHP Fundamentals: A Comprehensive Introduction
PDF
Memphis php 01 22-13 - laravel basics
DOCX
Laravel Interview Question
PPTX
object oriented programming in PHP & Functions
Laravel Tutorial PPT
What-is-Laravel and introduciton to Laravel
Laravel
Lecture 2_ Intro to laravel.pptx
What-is-Laravel-23-August-2017.pptx
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
Lecture11_LaravelGetStarted_SPring2023.pdf
Laravel 4 presentation
Laravel 5
Phpwebdevelping
Laravel - A Trending PHP Framework
Laravel 5.3 - Web Development Php framework
Phpwebdev
Essential Guide To Php For All Levels O Adeolu
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel session 1
PHP Fundamentals: A Comprehensive Introduction
Memphis php 01 22-13 - laravel basics
Laravel Interview Question
object oriented programming in PHP & Functions
Ad

Recently uploaded (20)

PPT
Introduction Database Management System for Course Database
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
medical staffing services at VALiNTRY
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Nekopoi APK 2025 free lastest update
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
assetexplorer- product-overview - presentation
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
history of c programming in notes for students .pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
top salesforce developer skills in 2025.pdf
PDF
System and Network Administraation Chapter 3
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Introduction Database Management System for Course Database
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Which alternative to Crystal Reports is best for small or large businesses.pdf
medical staffing services at VALiNTRY
VVF-Customer-Presentation2025-Ver1.9.pptx
Understanding Forklifts - TECH EHS Solution
Designing Intelligence for the Shop Floor.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Nekopoi APK 2025 free lastest update
Digital Systems & Binary Numbers (comprehensive )
wealthsignaloriginal-com-DS-text-... (1).pdf
assetexplorer- product-overview - presentation
CHAPTER 2 - PM Management and IT Context
2025 Textile ERP Trends: SAP, Odoo & Oracle
history of c programming in notes for students .pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
top salesforce developer skills in 2025.pdf
System and Network Administraation Chapter 3
Wondershare Filmora 15 Crack With Activation Key [2025
Embracing Complexity in Serverless! GOTO Serverless Bengaluru

Laravel level 0 (introduction)

  • 1. Laravel Level 0 The Introduction to Laravel By Spicydog (31-10-2016)
  • 2. Agenda ● Lecturer introduce ● PHP in Brief ○ PHP Basic (Variable, Controls, Function) ○ PHP Intermediate (OOP) ● Web Application Development World ○ CMS (Content Management System) ○ Application Frameworks ● Introduction to Laravel ○ What is Laravel? ○ Why Laravel? ○ Prerequisites ● Development Environment ● Workshop & Assignments
  • 3. ● Simply a full stack developer since high school ● Graduated MS from CPE@KMUTT ● Do research but still love application developments ● Dev everything from web to Android to iOS ● Feel free to discuss with me, I love knowledge sharing! Hello! it’s me, Spicydog!
  • 4. A Quick Review for PHP
  • 5. ● Established in 1995 ● Zend Technologies and PHP communities ● Most popular version: 5.6 ● Most recent version: 7.1 (recommend 7.0) ● PHP is a SCRIPT Language ● Designed for web development (I am good at string things) ● Almost dominate the internet, supported by most hosting, has so many CMS and frameworks PHP is everywhere and now here!
  • 6. Let’s Rock with PHP Variable $ for variable $a = “1” // string(1) "1" $b = ’1’ // string(1) "1" $c = 1 // int(1) $d = 1.0 // float(1) var_dump() for variable information var_dump($a+$b); // int(2) var_dump($a.$b); // string(2) "11" var_dump($a+$c); // int(2) var_dump($c.$d); // string(2) "11" var_dump($c+$d); // float(2) So becareful! PHP is dynamic type, it works most of the times but it always. You must cast types with intval(), floatval(), and friends.. sometimes
  • 7. 'string' and "string" are NOT the same! $a = 1; $b = 2; $c = 3; echo '$a $b $c '; echo '$an$bn$cn'; echo "$a $b $c "; echo "$an$bn$cn"; $a $b $c $an$bn$cn1 2 3 1 2 3
  • 8. Controls in PHP are similar to C and Java If..Else if ($a) {} else {} For for($i=0; $i<10; $i++;) {} While $i=0; while($i<10) {$i++;} Do..While $i=0; do{$i++;} while($i<10); Switch switch ($i) { case 0: break; default: break; }
  • 9. Functions in PHP are also similar to C and Java function name($param1, $param2) { return $param1 . $param2; } name(‘1’,’2’); // string(2) "12"
  • 10. Class in PHP <?php class Foo { public static $my_static = 'foo'; public function staticValue() { return self::$my_static; } } class Bar extends Foo { public function fooStatic() { return parent::$my_static; } } print Foo::$my_static . "n"; $foo = new Foo(); print $foo->staticValue() . "n"; print $foo->my_static . "n"; // Undefined "Property" my_static print $foo::$my_static . "n"; $classname = 'Foo'; print $classname::$my_static . "n"; // As of PHP 5.3.0 print Bar::$my_static . "n"; $bar = new Bar(); print $bar->fooStatic() . "n"; ?> self for static $this for object :: call to static -> call to object http://php.net/manual/en/language.oop5.static.php
  • 12. In web application development world, we.. Do it easy Do it quick Do it simple Do it readable Do it secure Do it extendable We try to use less money and time to have things done!
  • 13. So we go for CMS and Frameworks ● CMS (Content Management System) ○ A web application for content management ○ Install and ready to go! ○ Work on most simple tasks ○ Not very flexible ● Application Framework ○ A template for application development ○ Pattern the code ○ Avoid reinvent the wheel ○ Easy and dev on top and flexible for most tasks ○ Require programming skills
  • 15. Laravel, a super productive PHP framework ● Laravel first launched in 2011 ● Current version is 5.3 ● Developed on top of Symfony ● Aims: fun, productive, clean, extendable ● Relatively bad in performance (but not that bad!)
  • 16. Why Laravel? ● Easy to learn! (hopefully) ● Full of tools, ready for dev, tons of libraries ● We want our application to finish as fast as possible ● We want to work least ● We want our application easy to develop ● Our application is not user intensive ● Save time, save money, and done more things! Say all of these in one word.. PRODUCTIVITY
  • 17. But wait!! You have to know.. PHP Basic PHP with DBMS PHP OOP PHP CLI MVC Composer Artisan CLI OMG
  • 18. Don’t Worry! I’m here to help you out :)
  • 19. PHP CLI CLI stands for Command Line Interface Similar to Command Prompt and whatever Shell but this is PHP Try this on your terminal! php -a Are you using Windows? Good luck, help yourself! GOOGLE
  • 20. Model-View-Controller A primitive flow for software development Client (Request) => Controller (Logic) => Model (Data Logic) => Controller (Login Again) => View (Display) => Client (Response) Partitioning codes by its functionality Easy to maintain This is a must-known thing in any software development http://www.tutorialized.com/tutorial/Fundamentals-of-an-MVC-Framework/81946
  • 21. Composer The most popular dependency management tool in PHP Get any libraries by typing in CLI For example, Install Laravel, we simply enter: composer create-project --prefer-dist laravel/laravel blog Add library to laravel we do: composer require "laravelcollective/html":"^5.2.0" Q: Where did I get these commands? A: Google it man, they are on the website https://getcomposer.org
  • 22. Artisan CLI Artisan is a PHP CLI Tool help you manage Laravel components Simply go to Laravel root directory and type: php artisan We are going to talk about this later since we are going to use it a lot!
  • 24. Make sure you can run.. php from your command line Otherwise, install PHP (we use PHP 5.6+) composer from your command line Otherwise, install Composer Web Server on your computer Recommend Apache for Rookie You can use XAMPP for Windows or MAMP for Mac or LAMP for Linux PHP IDE I recommend PhpStorm, use your student status to claim a license Git We use Git here, you can use SourceTree if you want GUI client
  • 25. Coding Style In Laravel, we follow PSR-2 Coding Style Please follow this style => <?php namespace VendorPackage; use FooInterface; use BarClass as Bar; use OtherVendorOtherPackageBazClass; class Foo extends Bar implements FooInterface { public function sampleMethod($a, $b = null) { if ($a === $b) { bar(); } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } }
  • 27. ROCK n’ LOAD The most valuable skill is the skill to learn new things, so here is your works have to make it done before next time - Install development environment I have talked in last section - Install your first Laravel Application - Have a look at Directory Structure - Try whatever you want Extra! - Wanna in advance? Go watch to Laracasts - Free public cloud you can get from AWS Free Tier Or claim free DigitalOcean credit from Github Student
  • 28. Woo hoo! No more slides, let’s rock!