Bagaimana cara memulai php di laravel?

Laravel adalah Framework PHP gratis dan open-source untuk Pengrajin Web berdasarkan Symfony yang membantu membuat Aplikasi Web mengikuti pola desain MVC (Model View Controller)

Ada dua cara untuk membuat aplikasi Laravel, salah satunya adalah dengan menggunakan installer Laravel. Yang lainnya membutuhkan paket Laravel dan bagi kita untuk menggunakan composer dan perintah create-project

Dalam tutorial ini, kita akan menggunakan yang terakhir

Panduan langkah demi langkah tentang cara membangun aplikasi Laravel (blog) pertama Anda

Di bawah ini adalah beberapa informasi tentang framework Laravel

  • Kerangka. Laravel
  • Pengarang. Taylor Otwell
  • Tanggal Rilis Awal. Juni 2011
  • Versi sekarang. 8 (8 September 2020)
  • Rilis Stabil. 8. 11. 2 (28 Oktober 2020)

Apa itu Laravel?

Versi singkatnya, Laravel adalah Framework PHP MVC. Versi panjangnya adalah, Laravel adalah Framework PHP gratis dan open-source untuk Pengrajin Web berdasarkan Symfony

Ini membantu membuat Aplikasi Web mengikuti pola desain MVC (Model View Controller). Agar kita lebih memahami Laravel, kita akan membangun aplikasi blog sederhana dengan Laravel dari awal

Persyaratan. Untuk membuat aplikasi Laravel, Anda memerlukan beberapa alat yang diinstal di komputer Anda

Alat-alat tersebut antara lain

  • PHP >= 7. 3
  • Basis data (MySql)
  • Server Web localhost – Dalam kasus kami, kami akan menggunakan WAMP (untuk Windows), LAMP (untuk Linux), atau MAMP (untuk MacOs). Server web localhost ini dilengkapi dengan database PHP dan MySQL terbaru sehingga Anda tidak perlu menginstalnya secara manual. Untuk menginstal MAMP, LAMP, atau WAMP, buka http. //ampps. com/downloads dan pilih perangkat lunak platform Anda
  • Komposer – Ini adalah perangkat lunak manajemen ketergantungan untuk PHP. Untuk menginstal komposer, kunjungi https. //getcomposer. org/ dan unduh di sana untuk platform Anda
  • Node. js – Ini adalah lingkungan runtime JavaScript gratis dan open source yang mengeksekusi JavaScript di luar browser. Kami tidak akan menulis Node.js apa pun. js tetapi akan digunakan di latar belakang oleh Laravel untuk merampingkan pengembangan kita
  • Editor kode – Editor kode akan diperlukan. Kami merekomendasikan untuk menggunakan Visual Studio Code. Ini gratis
  • Peramban – Google Chrome, Edge, Safari, atau Mozilla Firefox sudah cukup
  • Pengetahuan latar belakang tentang Bahasa Pemrograman PHP

Dengan penyiapan mesin kami selesai, saatnya untuk mulai mengembangkan

Membuat aplikasi Laravel baru

Seperti yang kami sebutkan sebelumnya, ada dua cara untuk membuat aplikasi Laravel;

Dalam tutorial ini kita akan menggunakan yang terakhir

  • Buka konsol Anda dan direktori cd to www di direktori instalasi MAMP, LAMP, atau WAMP Anda

  • Ketik perintah berikut

    composer create-project --prefer-dist laravel/laravel my-blog
    

Ini akan membuat direktori bernama

config('app.name', 'Default Name')
_4 dan memuat semua file Laravel utama di sana

Mengkonfigurasi aplikasi Laravel kita

Setelah menginstal aplikasi Laravel kami, kami perlu mengonfigurasi database kami agar berfungsi

  • Buka
    config('app.name', 'Default Name')
    
    _5
  • Buat Database baru dengan mengklik baru (ditampilkan di bawah dengan warna merah)

  • Beri nama
    config('app.name', 'Default Name')
    
    _6 dan klik Buat

Sekarang kita memiliki database, kita dapat melanjutkan untuk menyiapkan aplikasi agar bekerja dengan database

  • Buka file explorer Anda dan navigasikan ke folder
    config('app.name', 'Default Name')
    
    4
  • Buka file
    config('app.name', 'Default Name')
    
    _8 di editor kode Anda
  • Ubah yang berikut ini di file. -

config('app.name', 'Default Name')
_9 kunci nama blog anda i. e. "Blog saya"

env('KEY','default')
0 kunci untuk nama database i. e. blog saya

File terakhir akan terlihat seperti ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_

Dengan semua yang dikonfigurasi, saatnya untuk menjalankan aplikasi kita dan melihat seperti apa tampilannya

Untuk menjalankan aplikasi, ketikkan perintah berikut

php artisan serve
_

Ini akan memulai aplikasi dan memberi Anda URL,

env('KEY','default')
1, buka URL di browser Anda dan lihat aplikasinya (ditampilkan di bawah)

Bagaimana cara memulai php di laravel?

Memahami struktur file aplikasi Laravel

Sebelum kita mulai coding, mari kita pahami struktur file aplikasi Laravel

Misalnya, sebagian besar dari Anda mungkin tidak mengerti mengapa kami mengubah file

config('app.name', 'Default Name')
8

Di bawah ini adalah struktur file Aplikasi Laravel

Bagaimana cara memulai php di laravel?

env('KEY','default')
3 folder – Ini berisi semua logika dalam aplikasi kita, ini termasuk model, pengontrol, penyedia layanan dll

Bagaimana cara memulai php di laravel?

Sebagai pemula Anda akan menghabiskan sebagian besar waktu Anda di folder Model dan Controller, keduanya inilah yang akan kita bahas secara detail.

  • env('KEY','default')
    
    4 folder- Di sinilah logika bisnis Aplikasi Anda disimpan, model adalah representasi dari objek kehidupan nyata. Misalnya, posting blog

Model akan dihasilkan menggunakan perintah artisan php

env('KEY','default')
5 dan mengikuti konvensi kata-kata kasus judul tunggal. Misalnya, untuk model posting blog kita bisa menyebutnya BlogPost. php

Catatan. Laravel hadir dengan Pengguna. php Model di luar kotak yang mendefinisikan detail pengguna

  • env('KEY','default')
    
    6 folder – Ini akan berisi semua file pengontrol aplikasi Anda

Pengontrol membuat tautan antara Model dan Tampilan Anda. Ketika formulir posting blog baru dikirimkan oleh pengguna, data masuk ke pengontrol di mana itu dibersihkan dan kemudian diteruskan ke model untuk disimpan dalam database, kemudian pengontrol mengirimkan umpan balik ke tampilan yang mengatakan bahwa posting blog telah dibuat

Pengontrol akan dihasilkan menggunakan perintah php artisan

env('KEY','default')
7 dan mengikuti konvensi kata-kata judul tunggal dengan kata Pengontrol tertinggal. Untuk pengontrol posting blog kami, kami akan menyebutnya BlogPostController. php

Pengontrol memiliki 7 metode tanda tangan yang memungkinkan operasi kasar

  1. env('KEY','default')
    
    8 – untuk mengambil semua sumber daya e. g. semua posting blog tersedia
  2. env('KEY','default')
    
    9 – untuk mengambil satu sumber daya e. g. satu posting blog, katakanlah, posting 5
  3. php artisan make:model BlogPost
    
    _0 – menunjukkan formulir yang akan digunakan untuk membuat sumber daya (tidak tersedia untuk pengontrol API)
  4. php artisan make:model BlogPost
    
    _1 – untuk melakukan sumber daya ke database e. g. menyimpan posting blog
  5. env('KEY','default')
    
    8 – untuk menampilkan formulir untuk mengedit sumber daya (tidak tersedia untuk pengontrol API)
  6. php artisan make:model BlogPost
    
    _3 – untuk mengkomit sumber daya yang telah diedit ke database
  7. php artisan make:model BlogPost
    
    _4 – untuk menghapus sumber daya dari database

Sekarang kembali ke struktur file aplikasi Laravel kita

  • php artisan make:model BlogPost
    
    _5 folder – Ini berisi semua middleware, middleware adalah kode yang harus dijalankan sebelum permintaan sampai ke controller e. g. Mengautentikasi pengguna sebelum mengizinkan akses
  • php artisan make:model BlogPost
    
    _6 folder – Ini berisi semua penanganan Pengecualian di Aplikasi Anda, Anda juga dapat menambahkan pengecualian khusus di sini
  • php artisan make:model BlogPost
    
    _7 folder – Ini berisi semua perintah artisan PHP (PHP Artisan adalah alat baris perintah yang disertakan dengan Laravel untuk membantu kami merancang aplikasi kami lebih cepat). Perintah ini digunakan untuk membuat file aplikasi dan juga melakukan beberapa tindakan seperti memulai server pengembangan. Contoh perintah artisan adalah yang kami jalankan di awal setelah menginstal Laravel (php artisan serve)
  • php artisan make:model BlogPost
    
    _8 folder – Ini berisi semua penyedia layanan di Aplikasi Anda, penyedia layanan di Laravel adalah sekelompok kode yang melakukan tugas khusus di seluruh aplikasi kapan pun diperlukan. Misalnya, penyedia layanan penagihan akan dirancang untuk memungkinkan beberapa platform pembayaran tetapi yang harus Anda lakukan hanyalah menghubungi penyedia layanan dan penyedia layanan tersebut akan secara dinamis menyediakan platform pembayaran alih-alih menentukan platform di pengontrol

CATATAN. Penyedia Layanan adalah konsep yang sulit dipahami oleh pemula, tetapi begitu Anda terbiasa dengan mereka, mereka sangat berguna

  • php artisan make:model BlogPost
    
    _9 folder – Ini berisi file aplikasi yang mem-bootstrap framework dengan menginisialisasinya (menyiapkan jalur & lingkungan), juga berisi folder cache yang berisi file yang dihasilkan framework untuk optimalisasi aplikasi

CATATAN. folder bootstrap tidak ada hubungannya dengan Bootstrap CSS Framework

  • php artisan make:migration create_blog_posts_table
    
    0 folder – Ini berisi semua file konfigurasi Aplikasi. Untuk mendapatkan konfigurasi tertentu, Laravel menyediakan metode pembantu untuk melakukannya

Sebagai contoh

Mendapatkan nama Aplikasi yang akan kita gunakan

config('app.name', 'Default Name')
_

Dalam contoh itu, aplikasi adalah file konfigurasi yang kita cari, nama adalah kuncinya sedangkan 'Nama Default' adalah nama yang akan digunakan jika kunci atau file tidak ada

  • php artisan make:migration create_blog_posts_table
    
    1 folder – Folder ini berisi migrasi basis data, pabrik, dan benih. Migrasi adalah definisi tabel database seperti kolom dan tipe datanya, definisi kunci yang diperlukan, dll

Pabrik adalah cetak biru yang digunakan untuk membuat data sampel untuk database, sedangkan seed adalah data sampel untuk database kami. Mereka sebenarnya adalah perintah yang memicu pembuatan data sampel saat dijalankan

Anda juga dapat memilih untuk menyimpan file database SQLite di sini

Catatan. Laravel hadir dengan migrasi users_table dan UserFactory. php factory out of the box yang akan membantu membuat tabel pengguna dan menentukan data sampel untuk tabel pengguna kami

  • php artisan make:migration create_blog_posts_table
    
    2 folder – Folder ini berisi file indeks yang merupakan titik masuk aplikasi, setelah permintaan dibuat, itu menyentuh file itu dan kemudian diarahkan ke rute yang diperlukan. Kita akan belajar tentang rute nanti. Anda juga dapat menyimpan aset publik di sini seperti gambar publik, css, dan js

  • php artisan make:migration create_blog_posts_table
    
    3 folder – Folder ini berisi file sumber yang sesuai dengan aplikasi kami, ini termasuk tampilan, sass, dan JavaScript mentah (kebanyakan Node. js, atau dari file JS Frameworks). Tampilan dibuat menggunakan HTML dengan campuran mesin templating Laravel yang disebut blade, kita akan mempelajarinya lebih lanjut nanti

  • php artisan make:migration create_blog_posts_table
    
    4 folder – Folder ini berisi semua file rute ke aplikasi kami, file rute ini termasuk web. php, api. php, saluran. php, konsol. php. Setiap file berisi beberapa rute seperti yang ditentukan oleh pengguna. Rute hanyalah alamat web yang menunjuk ke fungsi tertentu baik di file rute atau di pengontrol

  • php artisan make:migration create_blog_posts_table
    
    5 folder – Ini berisi semua file pribadi, seperti gambar profil pelanggan. Tautan dinamis dapat dibuat dari sini ke publik. Semua log aplikasi juga disimpan di sini

  • php artisan make:migration create_blog_posts_table
    
    6 folder – Di sinilah pengujian aplikasi Anda disimpan

  • php artisan make:migration create_blog_posts_table
    
    7 folder – Di sinilah semua paket pihak ketiga yang dibawa oleh komposer disimpan

  • config('app.name', 'Default Name')
    
    _8 file - File ini berisi variabel lingkungan variabel-variabel ini dibawa masuk melalui file konfigurasi menggunakan metode helper
    php artisan make:migration create_blog_posts_table
    
    9

env('KEY','default')

CATATAN. Hindari menggunakan metode pembantu env() di dalam kode Anda, gunakan hanya di file konfigurasi. Ini karena, selama penerapan saat Anda melakukan cache lingkungan (Anda akan mempelajari caranya) semua variabel lingkungan akan dimuat ke konfigurasi dan. env file akan dijatuhkan

Memahami siklus proses permintaan

Laravel seperti platform sisi server lainnya, bekerja pada model respons permintaan, mis. e. pengguna mengirimkan permintaan dan mereka mendapat tanggapan sebagai balasannya

Sebagai contoh, misalkan pengguna ingin membaca posting blog 5, mereka akan mengirimkan permintaan untuk mengambil posting itu; . //blog saya. tes/blog/5

Pertama, permintaan akan pergi ke file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_0, aplikasi akan mendaftarkan permintaan baru dan memeriksa file
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
1 untuk melihat apakah rute terdaftar, jika tidak, itu melempar kesalahan 404, jika tidak, aplikasi memeriksa apakah ada middleware yang

Setelah semua middleware dieksekusi, permintaan diteruskan ke metode yang diperlukan, dalam hal ini, metode tersebut akan menjadi

env('KEY','default')
9 di
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3

Di dalam pengontrol, permintaan dijalankan i. e. posting diambil dari database kemudian objek BlogPost diteruskan ke tampilan dan pengguna menerima tampilan sebagai respons. Tampilan kemudian dirender di browser

Itu menyelesaikan proses permintaan

Ayo kode

Sekarang setelah kita lebih memahami cara kerja permintaan dan file dan folder berbeda apa yang diperlukan dari aplikasi Laravel, kita akan mulai mengembangkan blog kita sekarang

Membuat model BlogPost

Pertama kita akan membuat BlogPost Model, untuk membuat model kita menggunakan perintah php artisan

env('KEY','default')
5 diikuti dengan nama model

php artisan make:model BlogPost

Ini akan membuat file bernama

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_5 di dalam folder
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
6 kami, dan bapak ibu sekalian, hanya itu yang perlu Anda lakukan untuk membuat model

Membuat migrasi tabel
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_7 & memigrasi database

Sekarang, mari buat migrasi untuk model

Untuk membuat migrasi, kami menggunakan perintah php artisan

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
8 diikuti oleh
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
9 kata

Dalam kasus kami

php artisan make:migration create_blog_posts_table

TIP. Selalu pastikan nama tabel Anda dalam bentuk jamak dari nama model Anda dalam huruf kecil

Ini akan membuat file di dalam folder

php artisan migrate
0. File akan memiliki stempel waktu saat ini sebelum nama yang Anda berikan dalam perintah.
php artisan migrate
_1

Setelah Anda membuat migrasi, kami harus mengisinya dengan bidang yang kami butuhkan di dalam metode

php artisan migrate
2, file akhir kami akan terlihat seperti ini

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}

Tiga bidang yang saya tunjukkan dengan komentar blokir adalah semua yang saya tambahkan, sisanya sudah diisi sebelumnya

php artisan migrate
_3 - Membuat kolom ID yang juga merupakan kunci utama di tabel kita

php artisan migrate
_4 - Membuat dua kolom TIMESTAMP (
php artisan migrate
5 &
php artisan migrate
6)

Setelah membuat migrasi, yang harus kita lakukan adalah bermigrasi untuk membuat tabel di database kita. Untuk bermigrasi, jalankan perintah migrasi (di bawah)

Ini akan membuat tabel di database untuk kita

php artisan migrate

Membuat pabrik dan benih untuk meja ________53______7 kami

Sekarang kita telah membuat tabel kita, saatnya untuk mengisinya dengan data. Pabrik pengguna (

php artisan migrate
_8) sudah ada dan sekarang kami akan membuat pabrik untuk posting Blog kami

Untuk membuat pabrik kami menggunakan perintah

php artisan migrate
_9 diikuti dengan nama kelas, kami juga menambahkan bendera
php artisan make:factory BlogPostFactory –m BlogPost
0 diikuti dengan nama model untuk menetapkan pabrik ke model itu

php artisan make:factory BlogPostFactory –m BlogPost

Di dalam folder

php artisan make:factory BlogPostFactory –m BlogPost
1, sebuah file akan muncul dengan nama
php artisan make:factory BlogPostFactory –m BlogPost
2

Di dalam metode definisi, kami akan mengedit larik pengembalian untuk menentukan data posting blog kami, kami akan meletakkan yang berikut ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_0

Sekarang kita telah membuat pabrik kita, saatnya membuat seeder untuk menyemai database kita. Kami akan melakukan ini menggunakan tukang tinker PHP. Tinker adalah alat baris perintah yang disertakan dengan Laravel untuk mengaktifkan manipulasi data tanpa mengubah kode selama pengembangan, ini adalah alat yang bagus untuk melakukan penyemaian dan menguji hubungan

Untuk membuka tinker, ketik

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_1

Ini akan menjalankan baris perintah yang terlihat seperti ini

Bagaimana cara memulai php di laravel?

Mulailah mengetik kode Anda dan tekan enter untuk menjalankannya

Untuk menyemai, ketik

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_2

Ini akan menghasilkan 10 posting blog dan menyimpannya ke database dan menghasilkan 10 pengguna juga, setiap pengguna akan memiliki satu posting blog

Membuat pengontrol

Pengontrol membantu kami melakukan tindakan manipulasi sumber daya, seperti CRUD Ops. Untuk membuat pengontrol kami menggunakan perintah

env('KEY','default')
_7 diikuti dengan nama pengontrol, untuk mengaitkan pengontrol dengan model Anda menggunakan bendera
php artisan make:factory BlogPostFactory –m BlogPost
0 diikuti dengan nama model

Konvensi penamaan controller di Laravel adalah ModelName diikuti dengan nama Controller. Untuk model

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
5 controller akan menjadi
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3

Ini akan membuat file bernama

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 di folder
php artisan make:factory BlogPostFactory –m BlogPost
8

File akan terlihat seperti ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_3

File akan dibuat dengan semua metode manipulasi sumber daya yang tersedia dan Model BlogPost disuntikkan ke file secara default

Bekerja dengan rute

Sekarang kita telah membuat pengontrol kita, mari targetkan salah satu metode, katakanlah

env('KEY','default')
8 menggunakan rute

Semua rute web disimpan dalam file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
1

Buka file tersebut dan Anda akan melihat rute default (root) ke aplikasi kita, tepat di bawah rute root kita akan membuat rute blog yang akan membuka blog dan menampilkan semua postingan yang tersedia

Untuk menunjukkan bahwa kita akan menargetkan metode indeks di dalam kelas

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3

Ini akan menjadi rute

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_02 karena kami mengambil data

File

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_1 kita akan terlihat seperti ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_4

Jika Anda mengunjungi rute itu sekarang, itu akan menampilkan layar kosong. Di bagian selanjutnya kita akan membuat lebih banyak rute dan mengimplementasikan metode yang tersedia

Menerapkan metode pengontrol

1. Menampilkan semua posting blog dengan metode
env('KEY','default')
8

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_5

Jika kami menavigasi ke

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_05 Anda akan melihat dump JSON dari posting yang tersedia (10 posting)

Seperti ini

Bagaimana cara memulai php di laravel?

Saya telah menginstal ekstensi chrome yang disebut JSON Formatter untuk membantu saya memformat JSON yang dibuang, ini adalah plugin gratis, Anda tidak perlu menginstalnya jika tidak membutuhkannya

2. Menampilkan satu entri blog

Buat rute untuk menampilkan 1 postingan

Rutenya akan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_6

Di sini, kami telah memperkenalkan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
06 ini disebut wildcard. Ini berarti bahwa
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
06 akan diganti dengan apapun yang diketik setelah
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
08 dan nilai tersebut akan disimpan dalam variabel bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
09

Pada metode pertunjukan, kita akan memilikinya

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_7

Jika kita mengunjungi

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
10 secara otomatis akan mengambil BlogPost dengan ID 5 dan menyimpannya di
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
09 sebagai turunan dari Model BlogPost

Ini disebut pengikatan model-rute di Laravel. Anda menyediakan rute dengan wildcard yang diganti dengan nilai yang disediakan di URL, lalu Laravel menggunakan nilai tersebut untuk mencoba menemukan record yang terkait dengan nilai tersebut, terutama record dengan ID tersebut

Jika tidak ditemukan, Anda mendapatkan error 404

Ini adalah respons yang akan Anda lihat di browser Anda

Bagaimana cara memulai php di laravel?

PERINGATAN. Kunci yang kita gunakan pada wildcard harus memiliki nama yang sama dengan nama variabel di dalam metode show agar pengikatan model-rute terjadi. Misalnya, jika dalam rute wildcard adalah

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
06 nama variabel pada metode
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
13 harus
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
09

Bekerja dengan metode lain

Sejauh ini kami hanya bekerja dengan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_02 rute. Metode
php artisan make:model BlogPost
0 dan
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
17 seharusnya menunjukkan membuat dan mengedit formulir dengan hormat

Metode

php artisan make:model BlogPost
_1 akan menjadi
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
19 kata kerja http karena kami akan memposting formulir buat BlogPost untuk menyimpan data, metode
php artisan make:model BlogPost
3 akan membutuhkan
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
21 atau
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
22 kata kerja untuk memperbarui data dan metode
php artisan make:model BlogPost
4 akan membutuhkan
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_24 kata kerja untuk menghapus posting

TIP. Kata kerja HTTP juga disebut sebagai metode atau tindakan, biasanya digunakan untuk menentukan tindakan yang diambil di server

E. g. Kata kerja/tindakan/metode POST akan digunakan untuk mengirim data ke server, metode GET akan digunakan untuk mendapatkan data dari server, metode PATCH / PUT akan digunakan untuk memperbarui data dan metode DELETE akan digunakan untuk menghapus data dari server

Ada kata kerja lain tetapi Anda jarang menggunakannya bahkan di lingkungan pengembangan profesional

Kami akan mengimplementasikan ini setelah kami mempelajari cara membuat antarmuka pengguna, untuk saat ini, kami dapat membuat rutenya

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_8

Bekerja dengan tampilan dan merancang antarmuka pengguna

Laravel menggunakan mesin templating yang disebut blade yang disuntikkan ke dalam HTML dan akhirnya dievaluasi sebagai HTML

Pertama, kita akan mempelajari sintaks blade, yang akan membantu kita memulai

Kami akan membandingkan sintaks yang kami gunakan pada blade dengan tampilan dalam PHP biasa

TIP. Sintaks PHP masih diterima dalam tampilan Laravel tetapi seperti yang telah Anda lihat, itu kikuk. Menggunakan sintaks blade lebih baik

Blade memiliki lebih banyak istilah dan arahan yang perlu kita pahami

  • Lihat – file HTML di Laravel, seperti antarmuka pengguna
  • Layout – Ini adalah kerangka aplikasi, ini mendefinisikan elemen utama seperti header dan footer untuk konsistensi dan juga menyertakan skrip dan gaya utama
  • Komponen – Komponen adalah tampilan yang dapat digunakan kembali, mereka bisa menjadi tombol misalnya

Arahan pisau dan artinya

Inilah yang akan kami gunakan saat ini, Anda selalu dapat mempelajari lebih lanjut tentang dokumentasi Laravel [di sini}(https. //laravel. com/docs/8. x/)

Dengan pengetahuan ini, kami sekarang siap merancang aplikasi Laravel kami

1. Merancang tata letak aplikasi kami

Di dalam folder

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_25 buat folder baru dan beri nama layout kemudian buat file di folder dan beri nama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
26

Di bawah ini adalah kode akhir dari tampilan file

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_9

Dengan ini kami telah membuat tata letak kami, itu hanya halaman HTML dengan font Google dan Bootstrap di dalamnya

Pada judul

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_27 – Adalah metode pembantu aksesor konfigurasi Laravel untuk mengakses nama aplikasi kita yang muncul sebagai judul halaman kita

Di dalam isi,

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
28 – adalah arahan blade yang akan digunakan untuk membawa konten dari tampilan anak-anak ke tata letak

2. Merancang halaman selamat datang

Ini adalah halaman yang kami lihat saat membuat aplikasi pertama kami, kami akan mendesain ulang untuk menampilkan halaman selamat datang. Kami akan memperluas tata letak kami menggunakan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_29 direktif. Itu terletak di folder
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_30, bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
31

Kode terakhir di halaman akan terlihat seperti ini

php artisan serve
_0

Inilah yang seharusnya terlihat di browser. Tombol

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
32 akan menampilkan halaman blog yang akan kita desain selanjutnya

Bagaimana cara memulai php di laravel?

3. Mendesain halaman blog

Di halaman blog kami saat ini, kami mengembalikan data json mentah ke pengguna

Di bagian ini, kami akan mengembalikan tampilan ke pengguna, untuk melakukan ini, kami dapat menggunakan metode yang diberikan Laravel. Alih-alih mengatakan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_33 kita katakan
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
34 jadi, kita akan memodifikasi kode di
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3 dalam metode
env('KEY','default')
8 untuk mengembalikan tampilan alih-alih file json

Sebelum kita mengubah kode, pertama pergi ke folder

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
30 dan buat folder bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
38 dan di folder itu buat file tampilan bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
39, ini akan menjadi tampilan metode indeks kita atau tampilan untuk menampilkan semua posting blog

Kemudian ubah kode dalam metode

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 dalam
env('KEY','default')
8 Anda agar terlihat seperti ini

php artisan serve
_1

Dengan ini, kita akan memiliki akses ke variabel yang disebut

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
42 di dalam tampilan kita yang merupakan objek yang berisi banyak posting blog

Sekarang mari kita desain halaman posting blog kita

Kode akan terlihat seperti ini

php artisan serve
_2

Di halaman ini, bilah akan memutar melalui posting (jika bukan nol) dan meludahkan tautan ke posting tertentu dan dengan judul posting sebagai teks tautan

Itu akan melampirkan ID pos ke tautan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_43

  • ...
    
    APP_NAME="My Blog"
    ...
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=my_blog
    DB_USERNAME=root
    DB_PASSWORD=
    
    ...
    
    _44 – ID BlogPost dilampirkan ke URL sehingga contoh URL yang terbentuk untuk posting 5 adalah
    ...
    
    APP_NAME="My Blog"
    ...
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=my_blog
    DB_USERNAME=root
    DB_PASSWORD=
    
    ...
    
    10
  • ...
    
    APP_NAME="My Blog"
    ...
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=my_blog
    DB_USERNAME=root
    DB_PASSWORD=
    
    ...
    
    _46 – Judul posting diformat dengan setiap huruf pertama sebagai huruf kapital
  • Tombol Tambahkan Posting akan membantu kami membuat Posting baru

Halaman akan terlihat seperti ini di browser

Bagaimana cara memulai php di laravel?

4. Merancang halaman BlogPost (
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
10)

Di halaman posting blog kami saat ini, kami masih mengembalikan data json mentah ke pengguna, di bagian ini, kami akan mengembalikan tampilan ke pengguna

Kami akan mengubah kode dalam

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3 dalam metode
env('KEY','default')
9 untuk mengembalikan tampilan, bukan data json

Sebelum kita memodifikasi kode, pertama-tama kita harus masuk ke folder

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
50 untuk membuat file tampilan bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
51, ini akan menjadi tampilan metode pertunjukan atau tampilan untuk ditampilkan di posting blog tertentu

Kemudian ubah kode dalam metode

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 dalam
env('KEY','default')
9 Anda agar terlihat seperti ini

php artisan serve
_3

Dengan ini, kita akan memiliki akses ke variabel yang disebut

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
54 di dalam tampilan kita yang merupakan objek berisi postingan blog yang ingin kita tampilkan

Sekarang mari kita desain halaman posting blog kita

Kode akan terlihat seperti ini

php artisan serve
_4

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_55 – Kami telah menggunakan direktif ini untuk memastikan kami mengizinkan HTML di badan ditampilkan sebagai teks tebal

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_56 - Ini akan diklik untuk mengedit posting

php artisan serve
_5

Formulir ini akan digunakan untuk menghapus postingan. Arahan

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
57 membuat bidang yang akan menggantikan metode posting default ke metode
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
58. Hal yang sama akan terjadi untuk arahan
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_59

Seperti yang ditunjukkan di bawah ini

Bagaimana cara memulai php di laravel?

Tombol

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
60 akan membawa kita kembali ke halaman Blog

Beginilah tampilan halaman kita di browser sekarang

Bagaimana cara memulai php di laravel?

5. Buat halaman posting baru

Kami telah membuat rute untuk halaman ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
61

Kami pertama-tama akan mengubah kode dalam file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 dalam metode
php artisan make:model BlogPost
0 untuk mengembalikan tampilan

Sebelum kita memodifikasi kodenya, pertama buka folder

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
50 dan buat file view bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
65, ini akan menjadi view method create kita atau view untuk menampilkan form yang dibutuhkan untuk membuat postingan blog

Kode metode

php artisan make:model BlogPost
_0 akan terlihat seperti ini

php artisan serve
_6

Sekarang mari kita desain tampilan kita

Kode akan terlihat seperti ini

php artisan serve
_7

Formulir ini akan mengirimkan permintaan POST ke rute ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
61

Direktif

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
59 akan diperluas di browser untuk memberi kita bidang token dalam formulir

Halaman akan terlihat seperti ini di browser kita

Bagaimana cara memulai php di laravel?

6. Menerima dan menyimpan posting yang dikirimkan

Di dalam

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 kami dalam metode
php artisan make:model BlogPost
1 kami akan menerapkan kode untuk menyimpan posting ke database mengarahkan pengguna ke posting yang dibuat

Kode akan terlihat seperti ini

php artisan serve
_8

Di sini, kami menggunakan metode statis

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
71 yang menerima array asosiatif dengan kunci sebagai bidang tabel dan nilai sebagai data yang akan dimasukkan ke dalam tabel

Di sini, kami menugaskan pos kami ke

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
72 1. Anda dapat mempelajari tentang autentikasi Laravel nanti untuk mempelajari cara mengaitkan postingan dengan pengguna yang masuk, Laravel memiliki banyak teknik autentikasi. Anda dapat melihat mereka di sini

Nilai yang dikembalikan adalah pengalihan yang akan dialihkan ke rute pos tunggal kami dengan ID pos

Sekarang, sebelum kita selesai, kita harus memodifikasi model kita (

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
5) untuk menampilkan bidang yang dapat diisi untuk melindunginya dari entri yang tidak diinginkan

Model yang dimodifikasi akan terlihat seperti ini

php artisan serve
_9

Dengan itu, kita selesai menambahkan postingan

7. Mengedit postingan

Kami telah membuat rute untuk halaman ini

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
74

Kami pertama-tama akan mengubah kode dalam file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3 dalam metode
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
17 untuk mengembalikan tampilan

Sebelum kita memodifikasi kodenya, terlebih dahulu masuk ke folder

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
50 buat file view bernama
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
78, ini akan menjadi view method edit kita atau view untuk menampilkan form untuk mengedit postingan blog

Kemudian ubah kode di file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 Anda di metode
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
17 agar terlihat seperti ini

config('app.name', 'Default Name')
_0

Dengan ini, kita akan memiliki akses ke variabel yang disebut

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
54 di dalam tampilan kita yang merupakan objek yang berisi postingan blog yang ingin kita edit

Tampilan akan terlihat seperti ini

config('app.name', 'Default Name')
_1

Ini akan menampilkan formulir yang sudah diisi sebelumnya

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
_82 – Ini akan meluas ke bidang input yang akan digunakan untuk mengganti kata kerja POST default seperti yang kita lihat dengan
...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
83

8. Memperbarui pos

Di dalam file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
_3 kami dalam metode `update() kami, kami akan menerapkan kode untuk menyimpan posting ke database kemudian mengarahkan pengguna ke posting yang diedit

Kode akan terlihat seperti ini

config('app.name', 'Default Name')
_2

Di sini, kami menggunakan metode

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
85 yang menerima array asosiatif dengan kunci bidang tabel dan nilainya akan menjadi data yang akan kami perbarui

Hanya itu yang kami butuhkan untuk memperbarui pos kami

9. Menghapus postingan

Di dalam file

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBlogPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_posts', function (Blueprint $table) {
            $table->id();

          /* We started adding code here*/

            $table->text('title');  // Title of our blog post          
            $table->text('body');   // Body of our blog post                  
            $table->text('user_id'); // user_id of our blog post author

          /* We stopped adding code here*/

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_posts');
    }
}
3 kami di
php artisan make:model BlogPost
4 kami akan menerapkan kode untuk menyimpan posting ke database kemudian mengarahkan pengguna ke posting yang diedit

Kode akan terlihat seperti ini

config('app.name', 'Default Name')
_3

Di sini, kami menggunakan metode

...

APP_NAME="My Blog"
...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_blog
DB_USERNAME=root
DB_PASSWORD=

...
88 yang akan menghapus postingan dari database

Hanya itu yang diperlukan untuk menghapus postingan

Kesimpulan

Dengan artikel ini, kami telah mempelajari cara membuat proyek Laravel dari awal, kami menggunakan contoh blog fungsional

Ini adalah kursus pemula, jadi saya tidak ingin membanjiri Anda dengan banyak informasi. Tapi setidaknya kamu sudah mempelajari semua konsep inti Laravel mulai dari model, controller, view, route, migrasi, dan factory.

Anda telah mempelajari tindakan utama yang diperlukan untuk aplikasi apa pun, seperti Buat, Perbarui, Baca, dan Hapus data. Juga dikenal sebagai CRUD

Bagaimana cara menggunakan framework Laravel di PHP?

Memulai dengan PHP Laravel .
Langkah 2. Instal komposer, manajer ketergantungan, dan basis data. Setelah menginstal server web dan PHP, Anda memerlukan komposer, pengelola ketergantungan untuk PHP, dan database. .
Langkah 3. Instal Laravel

Bagaimana cara memulai proyek baru di Laravel?

Menginstal Laravel .
Melalui Penginstal Laravel. Pertama, unduh installer Laravel menggunakan Composer. .
Melalui Composer Create-Project. .
Server Pengembangan Lokal. .
Direktori Publik. .
File Konfigurasi. .
Izin Direktori. .
Kunci Aplikasi. .
Konfigurasi Tambahan

Perintah mana yang digunakan untuk menjalankan Laravel?

Laravel PHP artisan serve membantu menjalankan aplikasi di server pengembangan PHP. Sebagai pengembang, Anda dapat menggunakan Laravel artisan serve untuk mengembangkan dan menguji berbagai fungsi di dalam aplikasi.

Bagaimana cara menjalankan perintah server Laravel?

buka folder root tempat laravel diinstal menggunakan perintah cd. Di folder root, jalankan perintah php artisan di terminal .