Telah terjadi Gempa Bumi berkekuatan 4.4 Magnitudo, Kedalaman 6 km pada tanggal 07 Jul 2024 jam 14:35:24 WIB. Pusat gempa berada di darat 5 km timur laut Batang. Dirasakan: III Batang, III Pekalongan, II Kendal
Potensi: Gempa ini dirasakan untuk diteruskan pada masyarakat
Dengan cara di atas sudah berhasil membuat Main Content berada tetap dan tepat di tengah. Tanpa class yang di masukan pada tag-tag tadi maka akan terlihat seperti ini.
Secara bawaan Script dan Style Livewire disisipkan otomatis kedalam Layout *.blade.php bila ingin menyisipkannya secara manual bisa ikuti langkah berikut: Cara Disable Auto Inject Script dan Style Livewire
Saat di set ke false kita dapat memasukan @livewireStyles dan @livewireScripts kedalam layout sesuai keingin dimana aset tersebut akan di proses namun biasanya @livewireStyles diletakan diantara tag <head></head> sedangkan @livewireScripts diletakan diantara tag <body></body>.
Untuk melakukan upload file di Livewire Laravel sebenarnya cukup mudah, dengan hanya menambahkan module Livewire\WithFileUploads.
Ketika module tersebut ditambahkan, cukup menyeret file ke dalam input form file, maka secara otomatis berkas tersebut tersimpan dalam folder livewire-tmp.
Folder livewire-tmp dapat kita atur melalui konfigurasi livewire.
Lokasi 📁 tmp mengikuti jenis disk. Jika disk di set ke 🗄️ ‘local‘ maka lokasinya berada di 📁 ‘storage/app/liwewire-tmp‘ jika di set ke 🗄️ ‘public‘ maka 📁 ‘storage/app/public/livewire-tmp‘ atau 📁 ‘public/livewire-tmp‘.
Mengatur folder tmp ini berguna jika ingin melakukan pratinjau file yang di upload. Dengan menggunakan fungsi ⏳ temporaryUrl() pada html;
Baik kita mulai.
Pertama
Buat Class Component livewire baru. Disini saya membuat class component bernama upload dalam folder Demo.
Copy
php artisan make:livewire demo.upload
Dengan perintah di atas, dibuatkan 2 file baru berupa class component dan view.
Kedua
Modifikasi komponen yang tadi dibuat. Tambahkan dukungan upload file.
app/Livewire/Demo/Upload.phpCopy
<?phpnamespaceApp\Livewire\Demo;useLivewire\Component;useLivewire\WithFileUploads;// 1classUploadextendsComponent{useWithFileUploads;// 1.2public$file;// 3 model file mixedpublicfunctionrender(){returnview('livewire.demo.upload');}}
Disana saya menambahkan wire:loading supaya menampilkan indikator sejauh mana file diproses. Juga menambahkan wire:target agar lebih spesifikasi kapan aksi ini dieksekusi.
model="file" yang saya target. Sehigga ketika model tersebut terisi / menerima request. Otomatis indikator ini dijalankan.
Ya, dengan langkah pertama, kedua dan ketiga. Kita sudah berhasil dan dapat melakukan upload file di livewire.
Tetapi, bila ingin sesuatu yang lain ikuti langkah di bawah.
Kelima
Buat fungsi baru pada class component langkah kedua, penamaanya bisa disesuaikan dengan selera.
app/Livewire/Demo/Upload.phpCopy
<?phpnamespaceApp\Livewire\Demo;useLivewire\Component;useLivewire\WithFileUploads;classUploadextendsComponent{useWithFileUploads;public$file;/** fungsi upload.store */publicfunctionUploadStore(){$berkas =$this->file;/** Untuk mendapatkan nama file orsinil beserta ekstensinya */$name =$berkas->getClientOriginalName();/** Untuk mendapatkan nama file tanpa ekstensi */$filename =pathinfo($name)['filename'];/** Untuk mendapatkan extensi file */$ext =$berkas->getClientOriginalExtension();/** Untuk mendapatkan jenis mime file */$mime =$berkas->getMimeType();/** Untuk mendapatkan ukuran file dalam byte */$size =$berkas->getSize();/** * Upload file kedalam folder uploads * namai file tersebut sesuai nama asli dan ekstensinya * disk di set ke 'public' sehingga file akan diunggah * kedalam folder 'public/storage/uploads' */$this->file->storeAs(path:'uploads',name:$name);/** * Sesi atau pesan status setelah proses upload */session()->flash('upload_store',['name'=>$name,'judul'=>$filename,'ekstensi'=>$ext,'mime'=>$mime,'size'=>$size,'file'=>'/storage/uploads/'.$name]);/** * Mengarahkan ke halaman saat ini */returnback();}publicfunctionrender(){returnview('livewire.demo.upload');}}
Adakalanya kita ingin menyimpan berkas instalasi Laravel terpisah dengan berkas hasil unggahan baik itu berupa Gambar, Video atau format berkas lainnya.
Selain FTP laravel juga menyediakan jenis filesystems S3 (Simple Storage Service) atau lebih dikenal dengan AWS S3 atau Object Storage. Sebelum ke tahap installasi dan konfigurasi, berikut daftar Endpoint S3 di Indonesia:
Apabalia lokasi endpoint (atau yang disebutkan di atas) berada di wilayah Indonesia AWS_DEFAULT_REGION setel ke id. Sesuaikan dengan dokumentasi penyedia.
Ketika AWS_USE_PATH_STYLE_ENDPOINT disetel ke true maka format url berupa : http://endpoint/namabucket/ sedangkan falsehttp://namabucket.endpoint/.
Disable http => ['verify' => false] supaya dapat menghubungkan ke S3 dengan protokol tidak aman http://. Berguna saat pengembangan dan curl.cainfo pada php.ini tidak diatur.
Untuk merubah format waktu bawaan Laravel ke format waktu Indonesia saya lebih suka menggunakan Carbon.
Install Carbon
composer require nesbot/carbon
Tetapi biasanya nesbot/carbon disertakan saat pertama kali menginstall Laravel.
Modifikasi file AppServiceProvider.php yang terletak didalam folder app/Providers. Lalu tambahkan Carbon::setLocale('id') pada function boot(). Sehingga terlihat seperti ini:
<?phpnamespaceApp\Providers;useCarbon\Carbon;useIlluminate\Support\ServiceProvider;...classAppServiceProviderextendsServiceProvider{...publicfunctionboot():void{Carbon::setLocale('id');/** atau * setlocale(LC_TIME, 'id'); * untuk penggunaan formatLocalized(); */}}
Untuk menampilkan format waktu Indonesia pada tampilan .blade.php.
@slot('title) Format Waktu Lokal Indonesia@endslot...<div> <article>{{-- Jumat, 28 Juni 2024 --}}{{ \Carbon\Carbon::parse($blog->created_at)->translatedFormat('l, j F Y')}}{{-- 11 jam yang lalu --}}{{ \Carbon\Carbon::parse($blog->created_at)->diffForHumans()}} </article><div>