The clean stack for Artisans and agents.
Laravel is batteries-included so everyone can build and ship web apps at ridiculous speed.
Laravel is batteries-included so everyone can build and ship web apps at ridiculous speed.
Saya anggap teman-teman sudah menginstall Composer, maka kita dapat melanjutkan ke proses pembuatan file Project Laravel.
Silahkan buka composer lalu masuk kedalam folder dimana teman-teman akan membuat projectnya dan jalankan perintah dibawah ini.
shellphp artisan make:model NamaModel -m
Gantilah "NamaModel" dengan nama model yang sesuai dengan objek yang akan Anda kelola dalam aplikasi Anda.
phppublic function up()
{
Schema::create('namatable', function (Blueprint $table) {
$table->id();
$table->string('nama_kolom');
$table->text('deskripsi');
$table->timestamps();
});
}
shellphp artisan migrate
shellphp artisan make:controller NamaController
phpRoute::resource('nama-rute', 'NamaController');
Laravel adalah salah satu framework PHP yang paling populer dan kuat yang digunakan oleh banyak pengembang web di seluruh dunia. Dikenal dengan sintaks yang jelas dan berbagai fitur canggih, Laravel memudahkan pengembangan aplikasi web secara cepat dan efisien. Jika Anda seorang pemula dalam pengembangan web atau baru mengenal Laravel, artikel ini akan membantu Anda memulai dengan langkah-langkah dasar.
Laravel adalah sebuah framework PHP yang dikembangkan oleh Taylor Otwell. Ini memungkinkan pengembang untuk membangun aplikasi web dengan cepat dengan menyediakan berbagai fitur yang sudah siap pakai. Beberapa fitur utama Laravel termasuk sistem routing yang kuat, ORM (Object-Relational Mapping) yang disebut Eloquent, dan sistem templating Blade yang elegan.
Sebelum Anda dapat memulai pengembangan dengan Laravel, pastikan Anda memiliki lingkungan pengembangan yang sesuai. Anda akan memerlukan:
1. PHP: Pastikan Anda memiliki PHP versi 7.4 atau lebih tinggi diinstal di komputer Anda.
2. Composer: Composer adalah manajer paket PHP yang akan membantu Anda mengelola dependensi proyek Laravel. Unduh dan instal Composer jika Anda belum melakukannya.
3. Laragon, XAMPP, atau Lingkungan Sejenis: Anda memerlukan server web lokal untuk menjalankan aplikasi Laravel. Laragon dan XAMPP adalah beberapa pilihan yang populer.
4. Editor Kode: Pilih editor kode yang Anda sukai, seperti Visual Studio Code, PHPStorm, atau Sublime Text.
Langkah pertama adalah menginstal Laravel di komputer Anda. Buka terminal atau command prompt, dan jalankan perintah berikut:
composer global require laravel/installer
Setelah instalasi selesai, Anda dapat membuat proyek Laravel baru dengan perintah:
laravel new nama-proyek-anda
Proyek Laravel baru Anda siap untuk dijalankan. Masuk ke direktori proyek dengan menggunakan terminal:
cd nama-proyek-anda
Selanjutnya, jalankan server pengembangan Laravel dengan perintah:
php artisan serve
Anda akan melihat pesan bahwa server berjalan di alamat http://localhost:8000. Buka browser Anda dan kunjungi alamat ini. Anda akan melihat halaman selamat datang bawaan Laravel.
Laravel memiliki struktur direktori yang terorganisir dengan baik. Anda akan menemukan berbagai direktori penting seperti `app`, `routes`, dan `resources`. Direktori `app` berisi logika bisnis Anda, `routes` adalah tempat Anda mendefinisikan rute aplikasi, dan `resources` adalah tempat untuk tampilan dan aset Anda.
Ini adalah langkah-langkah dasar untuk memulai dengan Laravel. Framework ini memiliki kurva pembelajaran yang terjangkau, bahkan untuk pemula, dan Anda akan menemukan banyak sumber daya dan komunitas online yang dapat membantu Anda dalam perjalanan pengembangan Anda.
Dalam artikel selanjutnya, kita akan menjelajahi lebih dalam tentang fitur-fitur Laravel yang kuat, seperti routing, penggunaan Eloquent, dan banyak lagi. Tetap semangat dalam perjalanan Anda menjadi seorang pengembang Laravel yang mahir!
Pada tanggal 20 Maret 2023, kami dengan bangga memperkenalkan Pest 2.0, menandainya sebagai rilis kami yang paling signifikan hingga saat ini, dengan lebih dari 7 juta unduhan pada saat penulisan. Versi ini memamerkan plugin arsitektur yang luar biasa, peningkatan kecepatan 80% dalam pengujian paralel, opsi pembuatan profil, dan banyak fitur lainnya.
Saat kami mendekati musim panas, kami sangat senang mengumumkan rilis kami yang akan datang: rilis "Spicy Summer" yang sangat dinantikan. Rilis ini menghadirkan serangkaian fitur menarik yang akan membuatnya terasa seperti versi utama tanpa benar-benar menjadi versi utama - ini adalah Pest v2.9.0 - jadi ini hanya berjarak "pembaruan komposer" dari Anda. Tanpa penundaan lebih lanjut, mari selami apa yang kami miliki untuk Anda musim panas ini:
Pengujian Snapshot Bawaan, untuk menguji keluaran panjang kode Anda dengan mudah
Jelaskan Blok, untuk mengelompokkan tes dan berbagi logika penyiapan dan teardown
Pengujian Arsitektur ++, pengujian arsitektur yang lebih kuat
Type Coverage Plugin, untuk mengukur persentase kode yang dicakup oleh deklarasi tipe
Plugin Drift, untuk mengonversi tes PHPUnit Anda secara otomatis ke Pest
Pengujian snapshot adalah teknik pengujian yang memungkinkan Anda untuk menegaskan bahwa output dari suatu fungsi atau metode tidak berubah. Ini cara yang bagus untuk menguji basis kode Anda dan memastikan bahwa kode Anda tidak berubah secara tiba-tiba.
Dan sekarang, kami dengan bangga mengumumkan bahwa Pest akan memiliki dukungan pengujian snapshot bawaan. Sebagai contoh, misalkan titik akhir "kontak" Anda menghasilkan HTML tertentu setiap kali dijalankan. Anda mungkin akan menulis tes seperti ini:
it('has a contact page', function () { $response = $this->get('/contact'); expect($response)->toMatchSnapshot();});Pertama kali Anda menjalankan pengujian ini, ini akan membuat file snapshot - di test/.pest/snapshots - dengan konten respons. Lain kali Anda menjalankan tes, itu akan membandingkan respons dengan file snapshot. Jika responsnya berbeda, pengujian akan gagal. Jika jawabannya sama, tes akan lulus.
Selain itu, nilai ekspektasi yang diberikan tidak harus berupa respons; itu bisa apa saja. Misalnya, Anda dapat memotret array:
$array = /** Fetch array somewhere */; expect($array)->toMatchSnapshot();Dan tentu saja, Anda dapat "membangun kembali" snapshot kapan saja dengan menggunakan opsi --update-snapshots :
./vendor/bin/pest --update-snapshotsSejak kami merilis Pest, deskripsikan blok telah menjadi salah satu fitur yang paling banyak diminta. Ini adalah dasar untuk kerangka kerja pengujian "fungsional" apa pun, karena memungkinkan Anda untuk mengelompokkan pengujian dan berbagi logika penyiapan dan penghancuran.
beforeEach(fn () => $this->user = User::factory()->create()); describe('auth', function () { beforeEach(fn () => $this->actingAs($this->user)); test('cannot login when already logged in', function () { // ... }); test('can logout', function () { // ... });})->skip(/* Skip the entire describe block */); describe('guest', function () { test('can login', function () { // ... }); // ...});Pest selalu tentang membuat pengujian lebih menyenangkan. Rilis terakhir, kami memperkenalkan ekspektasi arsitektural, yang memungkinkan Anda menguji arsitektur basis kode Anda. Rilis ini, dengan bangga kami umumkan bahwa Pest meningkatkan ekspektasi arsitektural dengan menambahkan yang baru.
test('controllers') ->expect('App\Http\Controllers') ->toUseStrictTypes() ->toHaveSuffix('Controller') // or toHavePreffix, ... ->toBeReadonly() ->toBeClasses() // or toBeInterfaces, toBeTraits, ... ->classes->not->toBeFinal() // 🌶 ->classes->toExtendNothing() // or toExtend(Controller::class), ->classes->toImplementNothing() // or toImplement(ShouldQueue::class),Seperti yang mungkin Anda ketahui, Pest menawarkan flag --coverage yang memungkinkan Anda menghasilkan laporan cakupan yang bagus di terminal. Laporan ini menunjukkan baris kode mana yang dicakup oleh pengujian Anda. Ini adalah cara yang bagus untuk memastikan bahwa pengujian Anda mencakup semua kode Anda.
Selain itu, kami dengan bangga mengumumkan bahwa Pest sekarang akan memiliki dukungan cakupan tipe bawaan. Ini berarti Anda sekarang dapat melihat apakah kode sumber Anda menggunakan "types" di setiap tempat yang memungkinkan. Misalnya, Anda memiliki repositori yang memiliki metode berikut:
public function find($id){ return User::find($id);}Metode ini tidak memiliki tipe parameter dan tipe pengembalian. Jadi, jika Anda menjalankan pest --type-coverage, Anda akan melihat output berikut dan mengetahui bahwa Anda perlu menambahkan tipe ke metode ini:
...app/Models\User.php .......................................... 100%app/Repositories/UserRepository.php .................. pa8, rt8 33%───────────────────────────────────────────────────────────────────Total: 91.6 % In addition, just like regular coverage, you may enforce --min type coverage percentage. For example, if you run --type-coverage --min=100, you will see the following output: ...app/Models\User.php .......................................................... 100%app/Repositories/UserRepository.php .................................. pa8, rt8 33%─────────────────────────────────────────────────────────────────────────────────── Total: 91.6 % ERROR Type coverage below expected: 91.6%. Minimum: 100.0%Ya, Anda membacanya dengan benar. Kami dengan bangga mengumumkan bahwa Pest sekarang akan memiliki alat seperti pergeseran Laravel yang disebut Drift. Drift akan memungkinkan Anda untuk memutakhirkan tes PHPUnit Anda ke tes Pest dalam hitungan detik.
Jadi, jika Anda memiliki tes seperti ini:
<?php namespace Tests\Unit; use PHPUnit\Framework\TestCase; class ExampleTest extends TestCase{ public function test_that_true_is_true(): void { $this->assertTrue(true); }}Kamu dapat menjalankan ./vendor/bin/pest --drift and Pest akan automatis mengkonversi ke PHPUnit test kamu ke Pest test:
test('true is true', function () { expect(true)->toBeTrue();});Terima kasih sudah membaca tentang fitur baru Pest 2.9!
© Laravel Indonesia - All Rights Reserved