v1.11 dan v1.12 ga yangilash
v1.12.6
Xatolarni tuzatish 🐛
v1.12.5
Xatolarni tuzatish 🐛
v1.12.4
Xatolarni tuzatish 🐛
v1.12.3
Xatolarni tuzatish 🐛
v1.12.2
Xatolarni tuzatish 🐛
v1.12.1
Xatolarni tuzatish 🐛
v1.12.0
Hayajonli yangi xususiyatlar 🎉
Yaxshilanishlar 🚀
- Artisan flag'iga yangi metodlar qo'shildi
- Yordamchi metodlar qo'shildi
- Bog'liqliklarni yangilash
- Migration'ga yangi metodlar qo'shildi
- Ba'zi
makebuyruqlari kichik kataloglarni qo'llab-quvvatlaydi
O'zgartirishlar 🛠
- Facades chaqiruv turini o'zgartirish(1.12.0)
- Artisan Flag'ni optimallashtirish(1.12.0)
- Filesystem moduli S3, OSS, COS, Minio uchun standart qo'llab-quvvatlashni bekor qiladi
- Cache moduli Redis uchun standart qo'llab-quvvatlashni bekor qiladi
- Modeldagi CreatedAt, UpdatedAt turlarini o'zgartirish
- Validation moduli qoidasini optimallashtirish
Yangilash bo'yicha ko'rsatma
Iltimos, frameworkni ushbu bo'limdagi mazmunga muvofiq bosqichma-bosqich yangilang.
Taxminiy yangilash vaqti: 30 daqiqa
1. Bog'liqliklarni yangilash
go.mod faylidagi bog'liqliklarni yangilang:
go get -u github.com/goravel/framework@v1.12.0 && go mod tidygo mod tidy ni ishga tushirgandan keyin xatolik bo'lsa, quyidagi yangilash bosqichlarini bajarganingizdan keyin xatolik hal bo'ladi.
2. bootstrap/app.go ni o'zgartirish
// Oldin
app := foundation.Application{}
// Keyin
app := foundation.NewApplication()3. facades.* ni o'zgartirish
| Oldin | Keyin |
|---|---|
facades.Artisan | facades.Artisan() |
facades.Auth | facades.Auth() |
facades.Cache | facades.Cache() |
facades.Config | facades.Config() |
facades.Crypt | facades.Crypt() |
facades.Event | facades.Event() |
facades.Gate | facades.Gate() |
facades.Grpc | facades.Grpc() |
facades.Hash | facades.Hash() |
facades.Log | facades.Log() |
facades.Mail | facades.Mail() |
facades.Orm | facades.Orm() |
facades.Queue | facades.Queue() |
facades.RateLimiter | facades.RateLimiter() |
facades.Route | facades.Route() |
facades.Schedule | facades.Schedule() |
facades.Storage | facades.Storage() |
facades.Validation | facades.Validation() |
4. app/providers/* ni o'zgartirish
Barcha fayllar uchun import qo‘shish:
import (
"github.com/goravel/framework/contracts/foundation"
)Register, Boot metodlarining barchasiga app foundation.Application kirish parametrini qo‘shing:
func (receiver *AppServiceProvider) Register(app foundation.Application) {}
func (receiver *AppServiceProvider) Boot(app foundation.Application) {}5. app/config/app.go faylini o‘zgartirish
Importni o‘zgartirish:
// Oldin
"github.com/goravel/framework/contracts"
"providers": []contracts.ServiceProvider{
// Keyin
"github.com/goravel/framework/contracts/foundation"
"providers": []foundation.ServiceProvider{6. Artisan buyrug‘idagi Flagni o‘zgartirish (Agar ishlatilsa)
[]command.Flag dagi elementlarga &command.StringFlag turini qo‘shing:
// Oldin
func (receiver *VendorPublishCommand) Extend() command.Extend {
return command.Extend{
Category: "test",
Flags: []command.Flag{
{
Name: "test",
},
},
}
}
// Keyin
func (receiver *VendorPublishCommand) Extend() command.Extend {
return command.Extend{
Category: "test",
Flags: []command.Flag{
&command.StringFlag{
Name: "test",
},
},
}
}7. Fayl Tizimi Moduli S3, OSS, COS, Minio uchun Standart Qo‘llab-quvvatlashni Bekor Qiladi
Keraksiz uchinchi to‘plamlarni yuklashni kamaytirish, paket hajmini qisqartirish va kompilyatsiya samaradorligini oshirish maqsadida, Goravel har bir modul haydovchisini bosqichma-bosqich mustaqil kengaytma paketlariga ajirata boshlaydi. Ushbu yangilanishda, Fayl Tizimi moduli S3, OSS, COS, Minio haydovchilari uchun standart qo‘llab-quvvatlashni bekor qiladi va qo‘llab-quvvatlashni mustaqil kengaytma paketlariga o‘tkazadi.
config/filesystems.go::disks dagi kalitlardan local va foydalanilayotgan haydovchilardan tashqarilarini olib tashlang:
// O‘zgartirilgan
"disks": map[string]any{
"local": map[string]any{
"driver": "local",
"root": "storage/app",
"url": config.Env("APP_URL", "").(string) + "/storage",
},
},Agar local dan tashqari boshqa haydovchilardan foydalanayotgan bo‘lsangiz, iltimos, o‘rnatish uchun tegishli haydovchi hujjatlariga murojaat qiling:
| Haydovchi | Havola |
|---|---|
| S3 | https://github.com/goravel/s3 |
| OSS | https://github.com/goravel/oss |
| COS | https://github.com/goravel/cos |
| Minio | https://github.com/goravel/minio |
8. Kesh Moduli Redis uchun Standart Qo‘llab-quvvatlashni Bekor Qiladi
Agar foydalanmayotgan bo‘lsangiz, config/cache.go::stores dagi redis kalitini olib tashlang:
// O‘zgartirilgan
"stores": map[string]any{
"memory": map[string]any{
"driver": "memory",
},
},Agar redis haydovchisidan foydalanayotgan bo‘lsangiz, iltimos, o‘rnatish uchun redis haydovchi hujjatlariga murojaat qiling:
| Haydovchi | Havola |
|---|---|
| Redis | https://github.com/goravel/redis |
9. Modeldagi CreatedAt, UpdatedAt maydonlarining turini o‘zgartirish (Agar ishlatilsa)
API chiqishida vaqt turini yanada standart qilish maqsadida, Model dagi CreatedAt, UpdatedAt maydonlarining turi time.Time dan carbon.DateTime ga o‘zgartirildi. Agar ushbu ikki maydon uchun qo‘shimcha ishlov berishingiz bo‘lsa, asl time.Time turini CreatedAt.ToStdTime() metodi orqali olishingiz mumkin.
10. Tekshirish Moduli Qoidasini Optimallashtirish (Agar ishlatilsa)
Asl tekshirish qoidasidagi nol qiymatni tekshiring, masalan, agar qoida date deb belgilangan va required o‘rnatilmagan bo‘lsa, maydon bo‘sh yoki uzatilmagan taqdirda, tekshirish moduli maydon talab qilinayotganini bildiradi. Optimallashtirilgandan so‘ng, tekshirish moduli tekshiruvdan o‘tadi, bu foydalanishda yanada aniqroqdir. Agar tegishli tekshirishdan foydalanayotgan bo‘lsangiz, iltimos, yangilash kutilganidek amalga oshirilganligiga ishonch hosil qiling.
11. Bog‘liqliklarni qayta o‘rnatish
go mod tidy buyrug‘ini ishga tushiring
Funksiya Tavsifi
Xizmat Konteyneri
Versiya: v1.12.0
Goraveldagi barcha xizmatlar xizmat konteynerida ro‘yxatdan o‘tkazilgan bo‘lib, paket ishlab chiqish uchun kuchli qo‘llab-quvvatlashni ta’minlaydi, Batafsil
Paketlarni ishlab chiqish
Versiya: v1.12.0
Paketlar Goravelga funksionallik qo‘shishning asosiy usuli bo‘lib, Goravel ekologiyasini boyitishi mumkin, Batafsil
Artisan Flag yangi Metodlar qo‘shadi
Versiya: v1.12.0
Turli xil Flag turlarini olish uchun Artisan moduliga metodlar qo‘shildi, Batafsil
Yordamchi Metodlar qo‘shish
Versiya: v1.12.0
path va carbon yordamchi metodlari qo‘shildi, loyihada yo‘l ma’lumotlarini osonlikcha olish va vaqt bilan ishlash imkoniyati mavjud, Batafsil。
Bog‘liqliklarni Yangilash
Versiya: v1.12.0
Yaxshi funksionallik qo‘llab-quvvatlashni ta’minlash uchun, Goravel bog‘liq bo‘lgan barcha paketlar versiyalari yangilandi.
Migratsiya yangi Metodlar qo‘shadi
Versiya: v1.12.0
| Buyruqlar | Harakat |
|---|---|
| migrate:fresh | Barcha jadvallarni o‘chirish va barcha migratsiyalarni qayta ishga tushirish |
| migrate:refresh | Barcha migratsiyalarni qayta tiklash va qayta ishga tushirish |
| migrate:reset | Barcha ma’lumotlar bazasi migratsiyalarini orqaga qaytarish |
| migrate:status | Har bir migratsiyaning holatini ko‘rsatish |
Ba’zi make Buyruqlari Pastki Kataloglarni Qo‘llab-quvvatlaydi
Versiya: v1.12.0
| Buyruq | Yaratilgan fayl |
|---|---|
| make:policy User/AuthPolicy | app/policies/User/auth_policy.go |
| make:command Goravel/CleanCache | app/console/commands/Goravel/clean_cache.go |
| make:model User/Phone | app/models/User/phone.go |
| make:observer User/PhoneObserver | app/observers/User/phone_observer.go |
| make:event User/GoravelEvent | app/events/User/goravel_event.go |
| make:listener User/GoravelListen | app/listeners/User/goravel_listen.go |
| make:controller User/AuthController | app/http/controllers/User/auth_controller.go |
| make:middleware User/Auth | app/http/middleware/User/auth.go |
| make:request User/Auth | app/http/requests/User/auth.go |
| make:job Goravel/Job | app/jobs/Goravel/job.go |
| make:rule User/Phone | app/rules/User/phone.go |
Windows ostida Fayl Yo'li Sabab Bo'lgan Panika Muammosi
Versiya: v1.12.1
Windows ostida make buyrug'i avtomatik ravishda papkalarni yaratganda teskari chiziqcha (backslash) sabab bo'lgan panika muammosini tuzatish.
facades.Gate() ning nil qaytarishi muammosi
Versiya: v1.12.2
facades.Gate() ning nil qaytarish muammosini tuzatish.
Windows ostida make:package Buyrug'i Muammosi
Versiya: v1.12.3
make:package buyrug'i tomonidan yaratilgan fayl Windows ostida noto'g'ri yo'lga ega.
Throttle Middleware ning Panika Otishi Muammosi
Versiya: v1.12.4
Throttle middleware ning panika otish muammosini tuzatish.
facades.Orm().Query().Load() muammosini tuzatish
Versiya: v1.12.5
Ba'zi hollarda facades.Orm().Query().Load() modelni to'g'ri yuklay olmasligi muammosini tuzatish.
JWT Muammosini Tuzatish
Versiya: v1.12.6
JWT Token muddati tugagan va yaroqsiz bo'lganda, muddat tugash xatosi qaytarilishi, birinchi navbatda yaroqsizlik xatosi qaytarilishi kutilgan muammoni tuzatish.
