Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Laravel framework (1) (@Malang ...
Search
DOT Indonesia
January 26, 2018
0
110
Introduction to Laravel framework (1) (@Malang PHP User Group Meetup - October 2017)
DOT Indonesia
January 26, 2018
Tweet
Share
More Decks by DOT Indonesia
See All by DOT Indonesia
Agile Testing To Support Short Cycle Development (@DOT TechTalk, 18 Januari 2019)
dotindonesia
0
110
How to be Agile (@DOT TechTalk, 11 Januari 2019)
dotindonesia
1
44
Build an Awesome CI/CD with Jenkins - Samsul (@PHP User Group Meetup, 17 September 2018)
dotindonesia
0
130
Mockup API to IMPROVE Team Collaboration - Toni (@DOT TechTalk, 10 Agustus 2018)
dotindonesia
0
74
Investment & Financing - Arya (@DOT TechTalk, 20 April 2018)
dotindonesia
3
68
Introduction to Docker Container - Samsul Ma'arif (@DILO Malang - 12 March 2018)
dotindonesia
0
170
Company Overview - DOT Indonesia (@Study Excursie UNIDA Gontor - March 2018)
dotindonesia
0
120
How to be a Great Mobile Developer - Agus (@Study Excursie UNIDA Gontor - March 2018)
dotindonesia
0
55
Rapid mobile development with React Native - Fahmi (@Study Excursie UNIDA Gontor - March 2018)
dotindonesia
0
44
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
KATA
mclloyd
30
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Fireside Chat
paigeccino
37
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Rails Girls Zürich Keynote
gr2m
95
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
Introduction to Laravel framework “Love beautiful code? We do too.”
At Malang PHP User Group Meetup - October 2017
About Speaker Ahmad Fatoni [
[email protected]
] Web Developer at DOT Indonesia
(PT Distinction On Technology Indonesia)
Laravel (2011 ) V5.5 (2017 ) Taylor Otwell Laravel Horizon
| Laravel Dusk | Laravel Echo | Valet | Lumen | and more….
Today Topic Architecture Routing Controller Model Views Migration Query Builder
Eloquent Composer support
Architecture
Architecture
Routing Default route files : routes/web.php and routes/api.php Available method
: GET, POST, PUT, PATCH, DELETE, OPTIONS CSRF protection Using parameter(s) : Route::get('users/{id}', ['uses' => 'UserController@show]); Named route : Route::get('users/{id}', ['uses' =>UserController@show])->name(‘show’); Grouping
Controller Default folder : app/Http/Controllers Connecting model and view (see
the architecture) ‘Request’ handler : Illuminate\Http\Request ◦ all() ◦ only() ◦ except() ◦ json() ◦ And more (https://laravel.com/api/5.5/Illuminate/Http/Request.html)
Controller
Controller Return view response : return view('auth.login'); Compacting data to
view $data['member'] = [ 'fatoni', 'kennan' ]; return view('member.index', compact('data')); Redirect to route : return redirect()->route('member.index');
Model Default folder : app Connecting app with database Awesome
Eloquent
Model
Views Default folder : resources/views Blade templating (https://laravel.com/docs/5.5/blade)
Views Easy to organizing
Views Easy to organizing
Migrations Default folder : database/migrations Build database from application Easily
modify and share database schema Creating foreign key (relationship)
Migrations CreateRolesTable CreatePermissionRoleTable
Migrations
Query Builder Get Data Query Builder : ◦ $users =
DB::table('users')->get(); SQL Query ◦ $sql = "SELECT * FROM users”; Insert Data Query Builder : ◦ $result = DB::table('users')->insert([‘colum1’ => ‘values1’, ‘column2’ => ‘values2’]); ◦ $result = DB::table(users’)->insert($request->all()); SQL Query ◦ INSERT INTO users (column1, column2.) VALUES (value1, value2)
Query Builder Update Data Query Builder : ◦ $result =
DB::table('users')->where(‘id’, ‘=’, 1)->update([‘colum1’ => ‘values1’, ‘column2’ => ‘values2’]); ◦ $result = DB::table(users’)->where(‘id’, ‘=’, 1)->insert($request->all()); SQL Query ◦ UPDATE users SET column1=value, column2=value2 WHERE id=1
Eloquent Awesome collections ( all(), create(), update(), etc ) Accessors
& Mutators Easy managing and working with relationships Serializations
Eloquent Awesome collections ( all(), create(), update(), etc )
Eloquent Accessors & Mutators Accessor Mutator
Eloquent Easy managing and working with relationships ◦ One To
One ◦ One To Many ◦ Many To Many ◦ Has Many Through ◦ Polymorphic Relations ◦ Many To Many Polymorphic Relations
Eloquent Easy managing and working with relationships ◦ One To
One Call it : $phone = User::find(1)->phone;
Eloquent Serializations ◦ Serializing To Arrays ◦ Serializing To JSON
Composer support
None