LARAVEL 5.5 memerlukan PHP versi 7.0. seperti kita ketahui kecepatan PHP 7 dapat menurunkan beban CPU setengahnya ini juga memungkinkan kemudahan update karena kita menggunkan versi PHP terbaru.
Laravel 5.5 merupakan versi LTS (Long Term Support)
akan segera rilis LTS berikutnya Ini juga termasuk dua tahun dari perbaikan bug dan tiga tahun update keamanan .
Packages Whoops
jika sobat paket whoops paket dari LARAVEL v4 disediakan juga didalam laravel 5.5, elegan untuk saat-saat debugging yang kadang membuat frustrasi Sobat.Frame penanganan kesalahan pada LARAVEL 4, sudah dihapus dengan rilis LARAVEL 5.0. Tapi dengan LARAVEL 5,5, diadakan kembali pra-instal.Whoops sebenarnya abekerja membuat kesalahan PHP mengganggu dan pengecualian kesalahan kecil dan mengubah bagaimana mereka muncul. Seperti pada gambar bahwa pada baris dari file di mana kesalahan atau pengecualian terjadi dan menelusuri kembali operasi sampai awal dengan tidak lupa untuk disebutkan, ia menjadi nol dependensi .
vendor:publish" Gets a Provider Prompt
Dari versi sebelumnya dari LARAVEL, menjalankan vendor:publish akan menjalankan views, konfigurasi, migrasi dan sumber daya lainnya dari semua vendor,tetap di LARAVEL 5.5 menjalankan perintah ini akan meminta sobat untuk memilih penyedia atau tag, membuat lebih mudah untuk mempublikasikan hanya yang Sobat inginkan. Sobat juga dapat memotong cepat ini dengan menentukan --all' or '--provider' flag with the publish` command
Collection Dump
jika di Laravel versi sebelumnya kita biasa debuging menggunakan helper dd (), di Laravel 5.5 kita bisa menggunakannya sebagai method.
<?php
Song::all()
->filter
->platinum
->dump()
->filter(function ($song) {
return $song->released_on >= \Carbon\Carbon::parse('-10 years');
})
->dd();
Song::all()
->filter
->platinum
->dump()
->filter(function ($song) {
return $song->released_on >= \Carbon\Carbon::parse('-10 years');
})
->dd();
Exception Rendering
Pengecualian sekarang dapat membuat respon jika mereka mendefinisikan sebuah metode “respon” publik. Biasanya, dalam versi sebelumnya dari LARAVEL Anda bisa menambahkan cek ke App\Exceptions\Handler::render()metode, dan kondisional mengirim kembali respon berdasarkan jenis pengecualian.
Dalam 5.5, Anda hanya dapat membuang pengecualian, dan dapat merespon tanpa logika tambahan dalam penangan Anda:
<?php
// throw new TerribleSongException($song) in a controller...
namespace App\Exceptions;
use App\Song;
class TerribleSongException extends \Exception
{
/**
* @var \App\Song
*/
protected $song;
public function __construct(Song $song)
{
$this->song = $song;
}
/**
* @param \Illuminate\Http\Request $request
*/
public function render($request)
{
return response("The song '{$this->song->title}' by '{$this->song->artist}' is terrible.");
}
}
// throw new TerribleSongException($song) in a controller...
namespace App\Exceptions;
use App\Song;
class TerribleSongException extends \Exception
{
/**
* @var \App\Song
*/
protected $song;
public function __construct(Song $song)
{
$this->song = $song;
}
/**
* @param \Illuminate\Http\Request $request
*/
public function render($request)
{
return response("The song '{$this->song->title}' by '{$this->song->artist}' is terrible.");
}
}
Request Validation Method
Jika pada versi Laravel sebelumnya kita menggunakan $this->validate() untuk validasi, di Laravel 5.5 kita bisa bisa langsung memvalidasi objectnya. Contoh,
$data = request()->validate([
'username' => 'required',
'password' => 'required',
]);
'username' => 'required',
'password' => 'required',
]);
Blade directives
Mungkin kita biasa melakukan pengecekan terhadap user, apakah boleh mengakses sesuatu atau tidak, menu misalnya. Kita biasanya mengeceknya seperti ini
@if(auth()->check())
{{-- boleh --}}
@else
{{-- tidak --}}
@endif
{{-- boleh --}}
@else
{{-- tidak --}}
@endif
dengan Blade::if() kita bisa mengeceknya seperti ini
Welcome {{ user()->name }}!
@endauth
@guest
Welcome Guest!
@endguest
@endauth
@guest
Welcome Guest!
@endguest
Custom Validation Rule Objects and Closures
Membuat objek aturan kustom adalah alternatif yang sangat baik untuk membuat aturan kustom dengan Validator :: memperpanjang (yang Anda masih bisa menggunakan), karena lebih jelas di mana logika aturan terletak sekilas. Sebuah benda aturan validasi mungkin terlihat seperti ini:
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class CowbellValidationRule implements Rule
{
public function passes($attribute, $value)
{
return $value > 10;
}
public function message()
{
return ':attribute needs more cowbell!';
}
}
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class CowbellValidationRule implements Rule
{
public function passes($attribute, $value)
{
return $value > 10;
}
public function message()
{
return ':attribute needs more cowbell!';
}
}
Contoh penggunaan aturan validasi ini terlihat seperti berikut ini:
<?php
request()->validate([
'cowbells' => [new CowbellValidationRule],
'more_cowbells' => [function ($attribute, $value, $fail) {
if ($value <= 10) {
$fail(':attribute needs more cowbell!');
}
}]
]);
request()->validate([
'cowbells' => [new CowbellValidationRule],
'more_cowbells' => [function ($attribute, $value, $fail) {
if ($value <= 10) {
$fail(':attribute needs more cowbell!');
}
}]
]);
Gaya penutupan mengambil atribut dan nilai, dan gagal parameter bahwa Anda menelepon jika aturan validasi harus gagal. Penutupan adalah cara yang bagus untuk bereksperimen dengan validasi kustom sebelum Anda ekstrak ke objek aturan khusus, atau untuk satu-off kustom validasi kebutuhan.
Untuk membuat custom objek aturan validasi, Anda dapat menggunakan baru make:ruleperintah:
$ php artisan make:rule MyCustomRule
Frontend Presets
Ketika Anda memulai sebuah proyek baru, LARAVEL 5,5 menyediakan Vue.js perancah secara default. Dalam LARAVEL 5.5 kini Anda dapat memilih dari beberapa preset dan menghapus semua frontend perancah dengan “ditetapkan” perintah Artisan di LARAVEL 5.5.
Jika Anda melihat bantuan, Anda dapat melihat bahwa hal itu memungkinkan Anda untuk memilih “none”, “bootstrap,” “vue”, atau “bereaksi”:
php artisan help preset
Usage:
preset <type>
Arguments:
type The preset type (none, bootstrap, vue, react)
# Use react
$ php artisan preset react
# Clear scaffolding
$ php artisan preset none
Usage:
preset <type>
Arguments:
type The preset type (none, bootstrap, vue, react)
# Use react
$ php artisan preset react
# Clear scaffolding
$ php artisan preset none
Automatic Package Discovery
pada Laravel versi sebelumnya jika kita menginstall sebuah packages kita perlu mendaftarkannya di app/config/app.php Provider dan alias classnya, agar di kenali. Tapi, di Laravel 5.5 kita tidak perlu melakukan semua itu. Hebat bukan, sedikit pekerjaan kita sudah di handle oleh Laravel.
Sumber dan https://laravel-news.com
ARTIKEL TERKAIT :
- PENGENALAN MVC LARAVEL BAGIAN 2
- PENGENALAN MVC LARAVEL BAGIAN 1
- BASIC ROUTING LARAVEL 5.5
- PEMBAHARUAN LARAVEL 5.5
- MENGENAL STRUKTUR DIREKTORI LARAVEL 5.5
- PENGENALAN LARAVEL DAN CARA INSTAL
Tidak ada komentar:
Posting Komentar