News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Laracon US 2026

Laracon US 2026 Diumumkan: Konferensi Laravel Terbesar Tahun Ini

Tim Laravel telah mengumumkan Laracon US 2026, konferensi tahunan terbesar untuk developer Laravel yang akan diadakan bulan depan. Ini adalah event yang sangat dinantikan oleh komunitas Laravel di seluruh dunia untuk belajar, networking, dan mendapatkan update terbaru tentang ekosistem Laravel.

Laracon US adalah tempat di mana kreator Laravel Taylor Otwell dan tim biasanya mengumumkan fitur-fitur terbaru framework. Tahun ini diharapkan akan ada pengumuman menarik terutama setelah rilis Laravel 13 yang baru saja released bulan lalu.

Konferensi ini biasanya menghadirkan talks dari berbagai speaker terkemuka di komunitas Laravel, termasuk contributors, maintainers popular packages, dan developer yang berbagi pengalaman mereka dalam membangun aplikasi dengan Laravel. Topics yang dibahas biasanya mencakup best practices, new features, performance optimization, dan masa depan Laravel.

Selain talks utama, Laracon juga biasanya menyertakan workshops yang lebih hands-on di mana peserta dapat langsung mempraktikkan apa yang mereka pelajari. Ini adalah kesempatan bagus untuk meningkatkan skill secara langsung dengan bimbingan dari expert.

Untuk yang tidak dapat menghadiri secara offline, Laracon biasanya juga menyediakan live streaming atau recording yang dapat diakses kemudian. Namun, attending in person jelas memberikan pengalaman yang lebih baik karena возможность untuk networking langsung dengan sesama developer.

Informasi lebih lanjut tentang Laracon US 2026 akan di-update di website resmi Laravel. Include date, location, dan ticket information akan tersedia soon. Stay tuned untuk pembaruan selanjutnya!

Mengenal Laravel: Framework PHP untuk "Web Artisans"

Laravel adalah framework PHP open-source yang diciptakan oleh Taylor Otwell dengan filosofi untuk mempermudah proses pengembangan web tanpa mengorbankan fungsionalitas aplikasi. Sejak kemunculannya, Laravel telah menjadi standar industri karena sintaksisnya yang ekspresif, elegan, dan dokumentasi yang sangat lengkap.



1. Formula dan Arsitektur: Pattern yang Digunakan

Laravel dibangun di atas fondasi yang kokoh dengan menggabungkan beberapa pola desain perangkat lunak modern:

  • Model-View-Controller (MVC): Ini adalah arsitektur inti Laravel.

    • Model: Mengelola logika data dan interaksi dengan database.

    • View: Mengelola tampilan atau antarmuka pengguna.

    • Controller: Penghubung antara Model dan View yang menangani logika permintaan pengguna.

  • Dependency Injection (DI) & Inversion of Control (IoC): Melalui Service Container, Laravel mengelola dependensi kelas secara otomatis. Hal ini membuat aplikasi lebih mudah diuji (testable) dan fleksibel.

  • Active Record Pattern: Digunakan pada Eloquent ORM, di mana setiap tabel dalam database dipetakan ke dalam sebuah Class (Model), memudahkan manipulasi data tanpa menulis query SQL manual yang panjang.



2. Rangkaian Komponen Framework

Untuk membangun aplikasi yang utuh, Laravel menyediakan ekosistem komponen yang bekerja secara harmonis:

  • Routing: Menentukan bagaimana aplikasi merespons URI tertentu.

  • Middleware: Lapisan filter untuk HTTP Request. Contohnya, mengecek apakah pengguna sudah login sebelum mengakses halaman tertentu.

  • Eloquent ORM: Sistem pemetaan database yang sangat intuitif untuk mengelola relasi antar tabel.

  • Blade Templating Engine: Engine untuk membuat tampilan web yang dinamis dengan sintaks sederhana tanpa harus mencampurkan banyak kode PHP di dalam HTML.

  • Migrations: Sistem kontrol versi untuk database, memungkinkan tim pengembang berbagi skema database dengan mudah.

  • Artisan CLI: Baris perintah (command line) bawaan yang membantu mengotomatiskan tugas-tugas repetitif seperti membuat controller atau menjalankan migrasi.



3. Struktur Best Practice

Agar aplikasi Laravel tetap rapi dan mudah dikembangkan dalam jangka panjang, berikut adalah beberapa praktik terbaik dalam menyusun struktur kodenya:

  1. Fat Models, Skinny Controllers: Hindari menulis logika bisnis yang panjang di Controller. Pindahkan logika tersebut ke dalam Model atau Service Classes.

  2. Validation Request: Gunakan Form Request untuk memisahkan logika validasi data dari Controller.

  3. Environment Variables: Simpan konfigurasi sensitif (seperti password database) di file .env, jangan pernah melakukan hardcode di dalam kode program.

  4. Resourceful Controllers: Gunakan standar penamaan method (index, create, store, show, edit, update, destroy) untuk menjaga konsistensi API atau routing.

  5. DRY (Don't Repeat Yourself): Manfaatkan Traits atau Service Providers jika ada logika yang digunakan berulang kali di berbagai bagian aplikasi.



4. Sejarah Rilis Laravel

Laravel terus berevolusi untuk mengikuti perkembangan teknologi web. Berikut adalah tonggak sejarah rilisnya:

VersiRilisCatatan Penting
Laravel 1Juni 2011Rilis pertama sebagai alternatif CodeIgniter yang lebih modern.
Laravel 3Feb 2012Memperkenalkan Artisan CLI dan dukungan database yang lebih luas.
Laravel 4Mei 2013Rewrite total menggunakan komponen Symfony dan manajer paket Composer.
Laravel 5Feb 2015Perubahan struktur direktori dan pengenalan fitur seperti Scheduler.
Laravel 6 - 8              2019 - 2020                Memperkenalkan Semantic Versioning, Laravel Jetstream, dan Tailwind CSS integration.
Laravel 9Feb 2022Versi pertama dengan siklus rilis 12 bulan dan dukungan PHP 8 ke atas.
Laravel 10Feb 2023Fokus pada type hinting yang lebih ketat dan penghapusan fitur lama.
Laravel 11Maret 2024Struktur aplikasi yang lebih ramping (minimalist structure) dan penghapusan banyak file boilerplate.

Kesimpulan

Laravel bukan sekadar framework, melainkan ekosistem yang membantu pengembang fokus pada inovasi daripada urusan teknis dasar. Dengan arsitektur yang bersih dan komunitas yang masif, Laravel tetap menjadi pilihan utama bagi developer dari level pemula hingga skala perusahaan besar.

Tutorial Laravel File Upload: Cara Mengupload dan Menyimpan File dengan Aman




Laravel menyediakan filesystem abstraction yang powerful untuk menghandle file uploads dengan mudah dan aman. Tutorial ini akan membahas lengkap cara mengupload file menggunakan Laravel Storage, validasi file, dan menyimpannya dengan benar.

Laravel Storage terletak di storage/app dan menyediakan berbagai driver seperti local, s3, ftp, sftp, dan rackspace. Untuk development, driver local sudah cukup. Untuk production, driver s3 sangat direkomendasikan karena lebih reli

able dan scalable.

Untuk membuat form upload, gunakan enctype="multipart/form-data" pada tag form. Contoh form sederhana adalah

. Tanpa enctype ini, file tidak akan terkirim ke server dengan benar.

Di controller, file yang diupload dapat diakses melalui $request->file('nama_field') atau $request->nama_field. Metode isValid() memastikan file terupload dengan benar. Untuk mendapatkan original filename, gunakan getClientOriginalName(). Untuk extension, gunakan getClientOriginalExtension().

Validasi file upload sangat penting untuk keamanan. Gunakan Laravel validation rules seperti required, file, mimes dengan daftar extension yang diperbolehkan, max untuk size dalam kilobytes. Contohnya adalah 'document' => 'required|file|mimes:pdf,doc,docx|max:2048' yang berarti file wajib ada, harus file, hanya pdf/doc/docx, maksimal 2MB.

Untuk menyimpan file ke local storage, gunakan metode store(). Metode ini menerima path tujuan dan nama file secara opsional. Contoh menyimpan file adalah $request->file('document')->store('documents', 'public'); yang menyimpan file ke storage/app/public/documents dengan nama unik.

Laravel juga menyediakan metode storeAs() untuk kontrol lebih atas nama file. Gunakan $request->file('document')->storeAs('documents', $filename); untuk menyimpan dengan nama spesifik. Untuk generate nama unik, gunakan Str::random() atau UUID.

Untuk mendownload file, gunakan metode download(). Contoh return response adalah return storage::download('documents/filename.pdf', 'nama-file.pdf', ['Content-Disposition' => 'attachment']);. Atau gunakan method route() untuk generate URL download.

Untuk menghapus file, gunakan metode delete(). Contohnya adalah storage::delete('documents/filename.pdf');. Pastikan untuk handle case dimana file tidak ada agar tidak terjadi error.

Untuk menggunakan S3, install package league/flysystem-aws-s3-v3 dengan composer, kemudian konfigurasi credentials di file .env. Setelah itu, Anda dapat menggunakan driver s3 dengan mengganti argument store dari public ke s3.

Image manipulation dapat dilakukan dengan intervention/image package. Install dengan composer require intervention/image, kemudian gunakan ImageManager untuk resize, crop, watermark, dan berbagai operasi图像 lain pada file gambar yang diupload.

UnitTest Attribute and More in Laravel 13.3.0

Laravel 13.3.0: Attribute #[UnitTest] dan Peningkatan Queue

Laravel telah merilis versi 13.3.0 yang membawa beberapa fitur menarik, terutama attribute PHP baru bernama #[UnitTest] yang memungkinkan developer untuk skip framework booting untuk individual test methods. Fitur ini sangat berguna ketika sebagian besar tests dalam sebuah class membutuhkan container namun beberapa test adalah pure unit test yang tidak memerlukan booting framework.

Attribute #[UnitTest] adalah inovasi yang sangat dibutuhkan oleh komunitas testing Laravel. Sebelumnya, semua test dalam TestCase yang extends Laravel's base test case akan secara otomatis melakukan framework booting完整. Hal ini tentu saja memperlambat execution time untuk unit test yang sebenarnya hanya membutuhkan PHP logic sederhana tanpa memerlukan seluruh Laravel framework.

Dengan attribute ini, developer dapat dengan mudah menandai method test tertentu untuk di-skip dari framework booting hanya dengan menambahkan #[UnitTest] attribute di atas method test. Laravel akan mendeteksi attribute ini dan menghindari proses booting framework hanya untuk method test tersebut, sehingga execution time menjadi lebih cepat.

另一个 fitur baru yang menarik dalam rilis ini adalah event BatchStarted baru untuk job batching lifecycle monitoring. Event baru ini akan di-trigger ketika job pertama dalam sebuah batch diproses, baik job tersebut berhasil atau gagal. Fitur ini melengkapi event-event existing untuk job batching dan memberikan developer visibilitas lebih baik terhadap proses batch job.

Laravel 13.3.0 juga menambahkan memory usage reporting dalam verbose output dari queue worker. Dengan fitur ini, developer dapat dengan mudah memantau memory usage dari queue worker mereka saat running dalam mode verbose. Informasi ini sangat berguna untuk optimize performa aplikasi yang menggunakan queue secara intensif.

Selain itu, rilis ini juga memperkenalkan variadic support untuk model attributes seperti #[Fillable] dan #[Hidden]. Sebelumnya, developer harus mendefinisikan attribute ini satu per satu dalam array. Dengan variadic support, developer dapat mendefinisikan multiple attribute dalam satu declaration, membuat kode menjadi lebih clean dan mudah dibaca.

Tidak ada breaking changes yang diharapkan untuk aplikasi pada umumnya. Tim Laravel menyediakan changelog lengkap untuk detail lebih lanjut, termasuk official changelog dan full comparison dengan versi sebelumnya. Developer dapat melihat GitHub release untuk melihat semua perubahan yang telah dilakukan.

Membuat Project Laravel 10


Membuat Project Laravel 10

        Halo teman-teman. Selamat datang di Laravel Indonesia, pada artikel ini kita semua akan belajar membuat sebuah Project Laravel. Mari kita mulai.


Membuat Project Baru Laravel

Pastikan teman-teman sudah menginstall Composer.

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.


Perintah di atas akan membuat project Laravel baru dan pastikan teman-teman harus terhubung dengan internet, karena semua data laravel akan di unduh secara online.


Menjalankan Project Laravel

Setelah proses instalasi selesai, kita bisa coba menjalankan Project Laravel kita. Silahkan jalankan perintah dibawah ini untuk masuk ke folder project.


Perintah "cd" digunakan untuk masuk kedalam folder Project Laravel kita. Dan jalankan perintah dibawah.



Perintah "php artisan serve" digunakan untuk menjalankan Project.

Jika sudah di jalankan silahkan buka browser teman-teman dan buka alamat berikut :


Jika teman-teman sudah membuka alamat tersebut maka akan melihat tampilan seperti dibawah.


Selamat. Teman-teman telah berhasil membuat Project baru di Laravel


 



Aplikasi Contoh cara membuat CRUD dengan Laravel


Membangun Aplikasi CRUD dengan Laravel


Dalam pengembangan web, operasi CRUD (Create, Read, Update, Delete) adalah salah satu yang paling umum. Laravel, dengan kekuatan dan kemudahan penggunaannya, adalah pilihan yang luar biasa untuk membangun aplikasi CRUD. Artikel ini akan membimbing Anda langkah demi langkah dalam pembuatan aplikasi sederhana dengan fungsi CRUD menggunakan Laravel.

Langkah 1: Persiapan


Sebelum kita mulai, pastikan Anda sudah menginstal Laravel dan memiliki proyek yang ada. Jika belum, ikuti langkah-langkah di artikel sebelumnya tentang "Memulai dengan Laravel: Panduan Pemula."

Langkah 2: Membuat Model, Migrasi, dan Controller


Dalam Laravel, model merepresentasikan tabel di database kita, migrasi digunakan untuk membuat tabel tersebut, dan controller mengendalikan logika bisnis kita. Untuk membuatnya, jalankan perintah berikut di terminal:

shell
php artisan make:model NamaModel -m

Gantilah "NamaModel" dengan nama model yang sesuai dengan objek yang akan Anda kelola dalam aplikasi Anda.

Langkah 3: Edit Migrasi


Dalam berkas migrasi yang baru saja dibuat di direktori database/migrations, Anda dapat menentukan skema tabel. Definisikan kolom yang diperlukan untuk objek Anda dalam metode up(). Contohnya:

php
public function up() { Schema::create('namatable', function (Blueprint $table) { $table->id(); $table->string('nama_kolom'); $table->text('deskripsi'); $table->timestamps(); }); }

Setelah itu, jalankan migrasi:

shell
php artisan migrate

Langkah 4: Membuat Controller


Buat controller CRUD Anda dengan perintah:

shell
php artisan make:controller NamaController


Di dalam controller ini, Anda akan menentukan logika CRUD untuk objek Anda.

Langkah 5: Routing


Anda perlu mendefinisikan rute untuk aplikasi CRUD Anda. Buka berkas routes/web.php dan tambahkan rute Anda seperti ini:

php
Route::resource('nama-rute', 'NamaController');


Pastikan Anda mengganti "nama-rute" dengan nama rute yang Anda inginkan.

Langkah 6: Membuat Tampilan


Buat tampilan Anda dalam direktori resources/views. Anda akan memiliki tampilan untuk menampilkan, membuat, mengedit, dan menghapus objek Anda.

Langkah 7: Logika CRUD di Controller

Dalam controller yang telah Anda buat, Anda akan menambahkan metode untuk setiap operasi CRUD (create, read, update, delete) sesuai dengan kebutuhan aplikasi Anda.

Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membangun aplikasi CRUD sederhana dengan Laravel. Anda dapat memperluas aplikasi ini sesuai kebutuhan Anda dengan menambahkan validasi, otorisasi, dan fitur lainnya. Laravel memudahkan pengembangan aplikasi web dengan cepat dan efisien, dan ini adalah langkah pertama menuju proyek yang lebih besar dan kompleks. Semoga panduan ini bermanfaat dalam perjalanan Anda sebagai pengembang Laravel. Selamat mengoding!

Laravel Pemula : Instalasi


Memulai dengan Laravel: Panduan Pemula


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.


Apa Itu Laravel?


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.


Persiapan Awal


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.


Menginstal Laravel


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



Menjalankan Aplikasi Pertama 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.


Struktur Proyek 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.


Kesimpulan


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!

Rilis "Spicy Summer" dari Pest


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 Bawaan

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-snapshots

Describe Blocks

Sejak 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 () {
// ...
});
 
// ...
});

Architectural Testing++

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),

Type Coverage Plugin

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%

Drift Plugin

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!

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...