PENGENALAN MODEL VIEW DAN CONTROLLER (MVC) LARAVEL BAGIAN 2


Pada Tutorial cara membuat blog bagian pertama kita telah belajar bagaimana membuat database dan beberapa penambahan File untuk membuat Blog,berikut adalah kelanjutan dari bagian 1.
tahapan selanjutnya membuat controller karena saya menggunakan Laravel 5.5 maka folder controller berada pada app/Http , pada command lagi ketikan

php artisan make:controller BlogController –resource

maka jika benar pada folder app/Http sudah ada file baru dengan nama BlogController


setelah kita selesai membuat root jangan lupa untuk mendaftarkannya di rooutes dan kita akan membuat route baru dalam middleware group

nah setelahkita simpan dengan tambahan route baru seperti gambar diatas setelahnya kita akan membuat models,kembali pada Command line untuk menggenerate model baru ketikan perintah berikut
php artisan make:model Blog
nah jika benar kita memiliki file baru dengan nama blog letaknya di App/Blog.php



kita kembali ke controller dengan nama BlogController.php jadi pada file BlogController kita ketikan tambahan dibawah function index sebagai berikut


        $blogs = Blog::all();
        return view('blog.index',['blogs' =>
        $blogs]);
Dan kalua benar maka tampilannya akan seperti ini



Next, guna menampilkannya di browser, kita membutuhkan view baru yang akan kita simpan di resources\views\, lebih mudah kita buat saja folder baru dengan nama blog dalam folder resources\views\ tersebut. Jadi kita membuat view baru dengan nama index.blade.php dan akan tersimpan di resources\views\blog\index.blade.php
Kta ketikan kode berikut di file index.blade.php

<h1>HALAMAN BLOG PERTAMA SAYA</center></h1>

<form id="FORM_1">
    <input type="text" placeholder="Username" id="INPUT_2" />
    <input type="password" placeholder="Password" id="INPUT_3" /> <span id="SPAN_4"><input type="checkbox" id="INPUT_5" />Remember me</span> <span id="SPAN_6"><a href="#" id="A_7">Forgot password?</a></span>
    <div id="DIV_8">
    </div>
    <button type="submit" id="BUTTON_9">
        Sign in
    </button>
    <p id="P_10">
        OR
    </p> <a id="A_11"><i id="I_12"></i>Login with Facebook</a> <a id="A_13"><i id="I_14"></i>Login with Twitter</a>
    <p id="P_15">
        Dont have and account? <a href="signup.html" id="A_16">Signup here.</a>
    </p>
</form>

@foreach ($blogs as $blog)
<h2>{{ $blog->title }}</h2>
<p>{{ $blog->description }}</p>
<hr>
@endforeach


Insert Data, Validation, Redirect Page dan Flash Message
next kita  buat function baru di controller BlogController.php tambahkan beerapa tulisan seperti berikut


[code hl="1, 4, 7"] $blogs]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { //view buatan baru blog return view('blog.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // untuk blog $this->validate($request,[ 'title'=> 'required', 'description' => 'required', ]); $blog = new Blog; $blog->title = $request->title; $blog->description = $request->description; // simpan data $blog->save(); //redirect page setelah save data return redirect('blog')- >with('message','data hasbeen updated!'); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } } [/code]
Next buat view baru dengan nama create .blade.php didalam folder blog dan ketikan kode seperti ini

[code hl="1, 4, 7"] <!-- @if (count($errors) > 0) <ul> @foreach ($errors->all() as $error ) <li>{{ $error }}</li> @endforeach </ul> @endif --> <h2>add post baru</h2> <form class="" action="/blog" method="post"> <input type="text" name="title" value="" placeholder="this is title"><br> {{ ($errors->has('title')) ? $errors- >first('title') : '' }} <br> <textarea name="description" rows="8" cols="40" placeholder="this is description"></textarea><br> {{ ($errors->has('description')) ? $errors- >first('description') : '' }} <br> <input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="submit" name="name" value="post"> </form> [/code]

Dan pada index.blade.php tambahkan session seperti ini

{{ Session::get('message') }}
Sehingga tampilannya akan seperti ini


selanjutnya kita bisa mengujinya dibrowser kita , jika benar maka Sobat akan mempunyai sebuah tampilan halaman login pada menu view kita


Bagimana ?,  sangat mudah kan membuat tampilannya.jika sobat mengalami kendala silahkan berkomentar di halaman bawah. sekian dulu pada pembahasan kali ini, semoga dapat membantu.

ARTIKEL TERKAIT  :

IDIARSO
IDIARSO

Menulis adalah kegiatan saya disela rutinitas kerja,silahkan berkomentar dibawah ini sebagai bahan masukan

Tidak ada komentar:

Posting Komentar