Introduction to Laravel framework “Love beautiful code? We do too.”
About Speaker Ahmad Fatoni [fatoni@dot-indonesia.com] 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 : IlluminateHttpRequest ○ 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
Introduction to laravel framework

Introduction to laravel framework