v1.9 dan v1.10 ga yangilash
Qiziqarli Yangi Imkoniyatlar 🎉
- facades.Crypt qo'shish(1.10.0)
- facades.Hash qo'shish(1.10.0)
- Marshrutlash uchun tezlik cheklovini qo'shish(1.10.0)
Yaxshilanishlar 🚀
- HTTP ishga tushish rejimini optimallashtirish(1.10.0)
- GRPC ishga tushish rejimini optimallashtirish(1.10.0)
- Konsolga log chiqishini boshqarish uchun konfiguratsiya qo'shish(1.10.0)
- So'rovni o'zgartirish va yangi metodlar qo'shish(1.10.0)
- Navbat kechiktirilgan jo'natishni qo'llab-quvvatlaydi(1.10.0)
- ORM dagi Connection jadval prefiksi va birlikni o'rnatishni qo'llab-quvvatlaydi(1.10.0)
- docker-compose.yml faylini qo'shish(1.10.0)
- ORM ni optimallashtirish(1.10.0)
- Migratsiya faylida bir nechta SQL ni qo'llab-quvvatlash(1.10.0)
- Fayl saqlash uchun minio drayverini qo'shish(1.10.0)
- contracts/http ga net/http ning holat xaritasini qo'shish(1.10.0)
Muhim O'zgarishlar 🛠
- APP_KEY talab qilinadi(1.10.0)
- Form Request ostidagi metodlarga ctx parametrini qo'shish(1.10.0)
- facades.Auth.Parse payload qaytarishni qo'shadi(1.10.0)
- ORM ning ba'zi metodlari yangi qaytish qiymatlarini qo'shadi(1.10.0)
Yangilash Qo'llanmasi
Taxminiy Yangilash Vaqti: 20 Daqiqa
Bog'liqliklarni Yangilash
go.mod faylidagi bog'liqliklarni yangilang:
go get -u github.com/goravel/framework@v1.10.0 && go mod tidyShifrlash
Versiya: v1.10.0
facades.Crypt qo'shing:
- config/app.go faylidagi
providersbandiga&crypt.ServiceProvider{}ni qo'shing;
Xeshlash
Versiya: v1.10.0
facades.Hash qo'shing:
config/app.go faylidagi
providersbandiga&hash.ServiceProvider{}ni qo'shing;config/hashing.go faylini qo'shing;
Marshrutlash uchun tezlik cheklovini qo'shish
Versiya: v1.10.0
HTTP ishga tushish rejimini optimallashtirish
Versiya: v1.10.0
config/http.gokonfiguratsiyasini qo'shing, Tafsilotlar uchun;facades.Route.Runmetodi endi parametr o'tkazishni talab qilmaydi, sukut bo'yichahttp.hostvahttp.portdan foydalanadi (kodni o'zgartirish shart emas, orqaga mos keladi);facades.Route.RunTLSmetodi endi parametr o'tkazishni talab qilmaydi, sukut bo'yichahttp.tls.host,http.tls.port,http.tls.ssl.certvahttp.tls.ssl.keydan foydalanadi, agar siz undan foydalanayotgan bo'lsangiz, kodni o'zgartirishingiz kerak;facades.Route.RunTLSWithCertmetodini qo'shing, Tafsilotlar uchun;app.url,app.hostnihttp.url,http.hostga ko'chiring;
GRPC ishga tushish rejimini optimallashtirish
Versiya: v1.10.0
facades.Grpc.Run metodi endi parametr o'tkazishni talab qilmaydi, sukut bo'yicha grpc.host va grpc.port dan foydalanadi (kodni o'zgartirish shart emas, orqaga mos keladi);
Konsolga log chiqishini boshqarish uchun konfiguratsiya qo'shish
Versiya: v1.10.0
config/logging.go faylidagi single, daily kanallariga print konfiguratsiyasini qo'shing, u log konsolga chiqishini boshqarishi mumkin, Tafsilotlar uchun;
So'rovni o'zgartirish va yangi metodlar qo'shish
Versiya: v1.10.0
Inputmetodi faqat marshrut parametrlarini olishdan quyidagi tartibda ma'lumot olishga o'zgartirildi:json,form,query,route. Eslatma:jsonfaqat bir o'lchovli ma'lumotlarni olishi mumkin, aks holda bo'sh qaytaradi;- Asl
Inputmetodini almashtirish uchunRoutemetodini qo'shing; QueryvaFormmetodlarining sukut bo'yicha qiymati kerak emas deb o'zgartirildi;- Quyidagicha yangi metodlar qo'shildi:
| Metod | Harakat |
|---|---|
| Route | Marshrut Qiymatini Olish |
| RouteInt | Marshrut Qiymatini Olish |
| RouteInt64 | Marshrut Qiymatini Olish |
| QueryInt | So'rov Satridan Kirishni Olish |
| QueryInt64 | So'rov Satridan Kirishni Olish |
| QueryBool | So'rov Satridan Kirishni Olish |
| InputInt | Kirish Qiymatini Olish |
| InputInt64 | Kirish qiymatini olish |
| InputBool | Kirish qiymatini olish |
| Json | Json olish |
Navbat kechiktirilgan jo‘natishni qo‘llab-quvvatlaydi
Versiya: v1.10.0
Delay usulini qo‘shing, Batafsil
ORM-dagi Ulanish jadval prefiksi va birlikni o‘rnatishni qo‘llab-quvvatlaydi
Versiya: v1.10.0
Modeljadval nomini ko‘rsatishni qo‘llab-quvvatlaydi, Batafsil;config/database.gofaylidagiconnectionuchun yangi kalitlarni qo‘shing:
prefix: Jadval nomi uchun prefiksni o‘rnating; singular: Jadval nomi uchun birlik yoki ko‘plikni o‘rnating;
docker-compose.yml faylini qo‘shing
Versiya: v1.10.0
Xizmatni quyidagi buyruq bilan tezda ishga tushirishingiz mumkin:
docker-compose build
docker-compose upORM-ni optimallashtirish
Versiya: v1.10.0
- Quyidagi usullarni qo‘shing:
| Funksiyalar | Harakat |
|---|---|
| FirstOr | So‘rov yoki qayta chaqiruv orqali ma’lumotni qaytarish |
| FirstOrNew | Mavjud yoki yangi modellarni olish |
| FirstOrFail | Topilmagan xatosi |
| UpdateOrCreate | Yangilash yoki yaratish |
- Ilgari shunga o‘xshash xato bildirilgan edi, ammo hozir qo‘llab-quvvatlanadi:
query := facades.Orm.Query()
query = query.Where()Migratsiya faylida bir nechta SQLni qo‘llab-quvvatlash
Versiya: v1.10.0
Ilgari migratsiya faylida faqat bitta SQL bayoni qo‘llab-quvvatlangan, ammo hozir bir nechta bayonlar qo‘llab-quvvatlanadi.
Fayl saqlash uchun minio drayverini qo‘shing
Versiya: v1.10.0
Minio konfiguratsiyasini qo‘shing, Batafsil.
contracts/http ga net/http ning holat xaritalashini qo‘shing
Versiya: v1.10.0
Siz net/http ni import qilmasdan, kontrollerda http.StatusOK kabi holat kodlaridan to‘g‘ridan-to‘g‘ri foydalanishingiz mumkin.
APP_KEY talab qilinadi
Versiya: v1.10.0
.env faylidagi APP_KEY talab qilinadigan qilib o‘zgartirildi, APP_KEY ni yaratish uchun buyruqni ishga tushirishingiz mumkin: go run . artisan key:generate.
Form Request ostidagi usullarga ctx parametrini qo‘shing
Versiya: v1.10.0
Form Request ostidagi usullarga ctx http.Context parametrini qo‘shing: Rules, Messages, Attributes, PrepareForValidation, bu sizga ko‘proq maxsus konfiguratsiyalarni amalga oshirish imkonini beradi.
facades.Auth.Parse payload qaytarishni qo‘shadi
Versiya: v1.10.0
err := facades.Auth.Parse(ctx, token) payload, err := facades.Auth.Parse(ctx, token) ga o‘zgartirildi, payload orqali siz quyidagilarni olishingiz mumkin:
Guard: Joriy Guard;Key: Foydalanuvchi belgisi;ExpireAt: Muddati tugash vaqti;IssuedAt: Berilgan vaqt;
ORM ning ba’zi usullari yangi qaytish qiymatlarini qo‘shadi
Versiya: v1.10.0
Quyidagi usullar ta’sirlangan qatorlar sonini olish uchun *Result qaytish qiymatini qo‘shadi:
res, err := query.Delete(&user)
res, err := query.Exec(fmt.Sprintf("DELETE FROM users where id = %d", user.ID))
res, err := query.ForceDelete(&User{})
res, err := query.Updates(User{Avatar: "avatar"})
// Ta’sirlangan qatorlar
num := res.RowsAffected