
Tim kerangka kerja Yii PHP telah merilis versi 2.0.16, yang berisi lebih dari seratus perbaikan dan beberapa perbaikan . Memperbaiki beberapa masalah keamanan.
Cabang Yii 2.0 dibekukan lebih dari setahun yang lalu , yang berarti ia menerima koreksi. Ini dilakukan untuk memungkinkan tim Yii fokus pada Yii 3. Di akhir posting ini ada sedikit informasi lebih lanjut tentang Yii 3.
Rilis ini mencakup beberapa perubahan yang dapat memengaruhi aplikasi yang ada. Pastikan untuk membaca UPGRADE.md .
Terima kasih banyak kepada anggota komunitas Yii yang terlibat dalam pengembangan. Tanpa Anda, proyek berskala besar seperti itu tidak akan mungkin terjadi. Terima kasih khusus kepada para penerjemah yang selalu memperbarui dokumentasi.
Di bawah ini adalah peningkatan paling menarik yang masih berhasil bocor ke rilis. Daftar lengkap, seperti biasa, dapat ditemukan di CHANGELOG .
Rekaman aktif
Salem Ouerdani, @tunecino menambahkan perilaku untuk penguncian yang optimis.
Penguncian yang optimis memungkinkan banyak pengguna untuk secara bersamaan mengedit catatan dan menghindari potensi konflik di sisi server. Dalam kasus ketika pengguna mencoba untuk menyimpan pengeditan berdasarkan data yang sudah ketinggalan zaman (karena pengguna lain telah disimpan), StaleObjectException
, dan tidak ada pembaruan atau penghapusan yang dilakukan.
Mekanisme kunci semacam itu sendiri diimplementasikan dalam versi Yii pertama, tetapi menggunakannya dengan benar tidak begitu sederhana. Sekarang sederhana.
Dokumentasi dapat ditemukan di manual resmi.
dan API OptimisticLockBehavior .
Migrasi
Generator migrasi konsol sekarang menggunakan awalan tabel secara default. Jika Anda ingin mengubahnya, Anda dapat mengatur yii\console\controllers\MigrateController::useTablePrefix
ke false
di konfigurasi perintah konsol.
Basis data
- Driver MySQL sekarang mendukung akurasi fraksional kedua untuk tipe sementara (MySQL> = 5.6.4 diperlukan).
- Driver Oracle sekarang mendukung urutan ulang.
Pembantu
yii\helpers\Inflector
belajar untuk bekerja dengan benar dengan UTF-8.- Menambahkan bendera
yii\mutex\FileMutex::$isWindows
untuk Windows ball di mesin tamu Unix. yii\helpers\UnsetArrayValue
, yii\helpers\ReplaceArrayValue
sekarang dapat dikembalikan setelah serialisasi menggunakan var_export()
.
Gridview
Opsi tambahan $filterOnFocusOut
, yang menentukan apakah pemfilteran harus dilakukan ketika fokus hilang.
jQuery
Sekarang Anda dapat menginstal jQuery 3.3.
Mutex
- Frekuensi upaya untuk mendapatkan kunci,
yii\mutex\FileMutex::acquireLock()
meningkat jika $timeout
disediakan. - Menambahkan dukungan untuk
$timeout
di yii\mutex\PgsqlMutex::acquire()
.
Perbaikan keamanan
Dua masalah keamanan telah diperbaiki:
- CVE-2018-14578: memintas validasi token CSRF di
\yii\web\Request::getMethod()
- CVE-2018-19454: kelebihan logging informasi sensitif di
\yii\log\Target
Template Aplikasi
- Konfigurasi codeception dibersihkan di templat dasar dan lanjutan.
- Konfigurasi sederhana untuk Docker telah ditambahkan ke Templat tingkat lanjut.
- Template Tingkat Lanjut sekarang membutuhkan versi Codeception yang lebih baru, yang hanya berfungsi sejak PHP 7.0. Aplikasi lama akan berfungsi seperti sebelumnya.
Sedikit tentang Yii 3.0
Versi utama Yii berikutnya adalah 3.0. Pengumuman terperinci akan dilakukan kemudian, tetapi untuk saat ini secara singkat:
Arsitektur yang diperbarui : kerangka kerja dibagi menjadi paket-paket terpisah .
Ini akan memungkinkan Anda untuk mengumpulkan dari mereka apa yang Anda butuhkan.
JavaScript-independen : bersama dengan reorganisasi kode sumber, Yii dilepaskan dari kerangka kerja JavaScript di kernel.
Paket-paket kunci Yii tidak memerlukan jQuery.
Kompatibel dengan PSR : Yii 3 akan mengikuti rekomendasi PHP-FIG. Banyak PSR telah diimplementasikan: logging, cache, DI, dan lainnya.
Yii 3.0 sedang dalam pengembangan aktif. Pengumuman rinci akan dibuat untuk mencapai versi alpha.