v1.12 dan v1.13 ga yangilash
Qiziqarli Yangi Imkoniyatlar 🎉
Yaxshilanishlar 🚀
- Golangning Standart Versiyasini 1.20 ga Yangilash
- Vazifa Rejalashtirish Gorizontal Masshtablashni Qo‘llab-quvvatlaydi
- Debug Usullarini Qo‘shish
- make:controller Buyrug‘i Parametr Qo‘shadi
- Javob Uchun Status Usulini Qo‘shish
- ORM uchun Sum va Cursor Usullarini Qo‘shish
- Yo‘nalish Moduli Haydovchini Sozlashni Qo‘llab-quvvatlaydi
- So‘rov Uchun InputArray Va InputMap Usullarini Qo‘shish
- ORM Modeli Maxsus Ulanishni Qo‘llab-quvvatlaydi
- Fayl Tizimi Uchun Cloudinary Haydovchisini Qo‘shish
- Log Uchun Yangi Zanjir Usullarini Qo‘shish
v1.13.4
O‘zgartirishlar Kerak Bo‘lgan O‘zgarishlar 🛠
- Standart Yukiangan Global HTTP Middlewareni Olib Tashlash
- Controller Qaytarishini Optimallashtirish
- facades.Route() dagi Group Usulining Parametrini O‘zgartirish
- facades.Cache() dagi Remember Va RememberForever Usullarini Optimallashtirish (Agar ishlatilsa)
- access.NewAllowResponse va access.NewDenyResponse Paket Nomi O‘zgartiriladi (Agar ishlatilsa)
- Eskirgan Usullarni Olib Tashlash (Agar ishlatilsa)
Xatolarni Tuzatishlar 🐛
- facades.Auth().User() ni Tuzatish
- Maxsus .env Yo‘li Ba‘zi Hollarda Ta‘sir Ko‘rsatmasligini Tuzatish
- JWT da ttl == 0 O‘rnatilganda Token Darhol Muddatini Tugatishini Tuzatish
v1.13.2
- facades.Storage().Url() Windows Ostida Noto‘g‘ri Yo‘l Qaytarishini Tuzatish
- Postgres Paroli Bo‘sh Bo‘lganda G‘ayritabiiy Ulanishni Tuzatish
- ORM ning Cursor Usulidan Foydalanilganda With Usulining Ishlamasligini Tuzatish
v1.13.4
- Validatsiya Moduli Yo‘nalish Parametrlarini Tekshira Olmasligini Tuzatish
- Fiber Haydovchisi Fayl Qaytara Olmasligini Tuzatish
- Fiber Haydovchisining Global Middleware Panicini Tuzatish
- Fiber Haydovchisining ContentType Sozlamasi Gin Haydovchisidan Farq Qilishini Tuzatish
v1.13.5
v1.13.6 v1.13.7
v1.13.8
- facades.Auth().Parse() Muammosini Tuzatish
- facades.Orm().WithContext() Muammosini Tuzatish
- Navbat Logi APP_DEBUG Tomonidan Nazorat Qilinadi
v1.13.9
- Log Yangi Qator Chop Etish Muammosini Tuzatish
- vendor:publish Buyrug‘i Katalogni Nashr Eta Olmasligi Muammosini Tuzatish
v1.13.10
- Log.Error dan Keyin Log.Info Chaqirilganda Izlar Tozalanmasligini Tuzatish
- ORM Hodisasining GetAttribute Noto‘g‘ri Ma’lumot Qaytarishini Tuzatish
- ORM uchun ToSql, ToRawSql Usullarini Qo‘shish
Yangilash Qo‘llanmasi
Iltimos, ushbu bo‘limdagi mazmunga muvofiq freymvorkni bosqichma-bosqich yangilang.
Taxminiy Yangilash Vaqti: 10 Daqiqa
1. Bog‘liqliklarni Yangilash
go.mod faylidagi bog‘liqliklarni yangilang:
go get -u github.com/goravel/framework@v1.13.9 && go get -u github.com/goravel/gin2. Yangi Fayllarni Qo‘shish
database/seeders/database_seeder.go
app/providers/database_service_provider.go
3. Yangi Provayderlarni Ro‘yxatdan O‘tkazish
Tartibga e‘tibor bering:
import (
"github.com/goravel/framework/testing"
"github.com/goravel/gin"
)
// config/app.go
"providers": []foundation.ServiceProvider{
...
&validation.ServiceProvider{},
// Yangi
&testing.ServiceProvider{},
&providers.AppServiceProvider{},
...
&providers.ValidationServiceProvider{},
// Yangi
&providers.DatabaseServiceProvider{},
// Yangi
&gin.ServiceProvider{},
}4. Konfiguratsiya Qo‘shish
config/http.go ni o‘zgartiring
import (
"github.com/goravel/framework/contracts/route"
"github.com/goravel/framework/facades"
ginfacades "github.com/goravel/gin/facades"
)
config.Add("http", map[string]any{
// HTTP Haydovchisi
"default": "gin",
// HTTP Haydovchilari
"drivers": map[string]any{
"gin": map[string]any{
"route": func() (route.Route, error) {
return ginfacades.Route("gin"), nil
},
},
},
...
}config/cors.go faylini o'zgartiring
config.Add("cors", map[string]any{
...
// Yangi
"paths": []string{"*"},
"allowed_methods": []string{"*"},
...
}5. Sukut bo'yicha Yuklangan Global HTTP Middleware-ni O'chirish
tlsvacorsmiddleware-lari sukut bo'yicha HTTP haydovchisiga integratsiya qilingan, shuning uchunapp/http/kernel.gofaylidagimiddleware.Cors()vamiddleware.Tls()metodlarini o'chirish kerak.app/providers/route_service_provider.gofaylidagifacades.Route().GlobalMiddleware(http.Kernel{}.Middleware()...)metodiRegisterdanBootga ko'chiriladi:
package providers
...
type RouteServiceProvider struct {
}
func (receiver *RouteServiceProvider) Register(app foundation.Application) {
}
func (receiver *RouteServiceProvider) Boot(app foundation.Application) {
//HTTP middleware qo'shing
facades.Route().GlobalMiddleware(http.Kernel{}.Middleware()...)
receiver.configureRateLimiting()
routes.Web()
}
func (receiver *RouteServiceProvider) configureRateLimiting() {
}6. Controller Qaytaruvini Optimallashtirish
Controller qaytish qiymati sifatida http.Responseni qo'shadi, ctx.Response() to'g'ridan-to'g'ri qaytarilishi mumkin, mantiqni silliqroq qilish uchun alohida return ishlatish shart emas.
// Oldin
func (r *UserController) Show(ctx http.Context) {
ctx.Response().Success().Json(http.Json{
"Hello": "Goravel",
})
return
}
// Keyin
func (r *UserController) Show(ctx http.Context) http.Response {
return ctx.Response().Success().Json(http.Json{
"Hello": "Goravel",
})
}7. facades.Route() dagi Group Metodi Parametrini O'zgartirish
route.Routeni route.Routerga o'zgartiring:
// Oldin
facades.Route().Group(func(route route.Route)
// Keyin
facades.Route().Group(func(route route.Router)8. facades.Cache() dagi Remember Va RememberForever Metodlarini Optimallashtirish (Agar ishlatilsa)
callback turi func() anydan func() (any, error)ga o'zgaradi:
// Oldin
Remember(key string, ttl time.Duration, callback func() any) (any, error)
RememberForever(key string, callback func() any) (any, error)
// Keyin
Remember(key string, ttl time.Duration, callback func() (any, error)) (any, error)
RememberForever(key string, callback func() (any, error)) (any, error)9. access.NewAllowResponse va access.NewDenyResponse Paket Nomi O'zgartirish (Agar ishlatilsa)
/contracts/auth/accessni /auth/accessga o'zgartiring:
// Oldin
import "github.com/goravel/framework/contracts/auth/access"
access.NewAllowResponse()
access.NewDenyResponse()
// Keyin
import "github.com/goravel/framework/auth/access"
access.NewAllowResponse()
access.NewDenyResponse()10. Eskirgan Metodlarni O'chirish (Agar ishlatilsa)
ctx.Request().Form()vactx.Request().Json()metodlarini o'chiring, o'rnigactx.Request().Input()metodidan foydalaning;Logmaxsus haydovchisiningGetLevel,GetTime,GetMessagemetodlarini o'chiring, o'rnigaLevel,Time,Messagemetodlaridan foydalaning;gorm.Newmetodini o'chiring, bu metodgorminstansiyasini to'g'ridan-to'g'ri olish uchun ishlatiladi, endi tavsiya etilmaydi. agar kerak bo'lsa, o'rnigagorm.NewGormImplmetodidan foydalaning;
Funksiya Tavsifi
Urg'ochish
Versiya: v1.13.1
Zavodlar
Versiya: v1.13.1
Sinov
Versiya: v1.13.1
Ko‘rishlar
Versiya: v1.13.1
Sukut bo'yicha Golang Versiyasini 1.20 ga Yangilash
Versiya: v1.13.1
Golang 1.18 va 1.19 to'xtatilgan va framework shunga mos ravishda 1.20 ga yangilangan, tafsilotlar uchun. Agar 1.18 yoki 1.19 dan foydalanishni davom ettirmoqchi bo'lsangiz, go.mod dagi versiya raqamini o'zgartiring, ular hozirda to'liq mos keladi.
Vazifa Rejalashtirish Gorizontal Masshtabni Qo'llab-quvvatlaydi
Versiya: v1.13.1
debug Metodlarini Qo'shish
Versiya: v1.13.1
make:controller Buyrug'iga Parametr Qo'shish
Versiya: v1.13.1
make:controller buyrug'iga --resource parametri qo'shildi, CURD strukturasini osongina yaratish mumkin:
go run . artisan make:controller --resource UserControllerResponse uchun Status Metodini Qo'shish
Versiya: v1.13.1
Orm uchun Sum va Cursor Metodlarini Qo'shish
Versiya: v1.13.1
Route Moduli Haydovchini Sozlashni Qo'llab-quvvatlaydi
Versiya: v1.13.1
Route moduli asosiy sukut bo'yicha haydovchisi Gin ni paketga ajratdi, u Goravel ga sozlash orqali kiritilishi mumkin. bu optimallashtirishdan so'ng, boshqa HTTP paketlarini Goravel ga kiritish uchun qulay kanal taqdim etadi, hozirda rasmiy ravishda ikkita HTTP paketi qo'llab-quvvatlanadi:
| Haydovchi | Havola |
|---|---|
| Gin | https://github.com/goravel/gin |
| Fiber | https://github.com/goravel/fiber |
Request uchun InputArray Va InputMap Metodlarini Qo'shish
Versiya: v1.13.1
Orm Modeli Maxsus Ulanishni Qo'llab-quvvatlaydi
Versiya: v1.13.1
Filesystem uchun Cloudinary Haydovchisini Qo'shish
Versiya: v1.13.1
Log uchun Yangi Chain Metodlarini Qo'shish
Versiya: v1.13.1
facades.Auth().User() ni tuzatish
Versiya: v1.13.1
facades.Auth().User(ctx, &user)usuli ishlatilganda foydalanuvchi mavjud bo‘lmaganda xato chiqmasligi muammosini tuzatish.Asosiy kalbut
intbo‘lmaganda hamusertopilishi mumkin bo‘lgan muammoni tuzatish;
Ba‘zi hollarda maxsus .env yo‘li ishlamasligi muammosini tuzatish
Versiya: v1.13.1
Ba‘zi hollarda maxsus .env yo‘li ishlamasligi muammosini tuzatish.
JWT da ttl == 0 o‘rnatilganda token darhol muddati tugashi muammosini tuzatish
Versiya: v1.13.1
ttl == 0 bo‘lganda token hech qachon muddati tugamasligini kutish.
facades.Storage().Url() Windows ostida noto‘g‘ri yo‘l qaytarishi muammosini tuzatish
Versiya: v1.13.2
Postgres paroli bo‘sh bo‘lganda g‘ayritabiiy ulanish muammosini tuzatish
Versiya: v1.13.2
Orm ning Cursor usuli ishlatilganda With usuli ishlamasligi muammosini tuzatish
Versiya: v1.13.2
Xizmatni ishga tushirish muhit o‘zgaruvchilarini qo‘llab-quvvatlaydi
Versiya: v1.13.4
Validatsiya moduli marshrut parametrlarini tekshira olmasligi muammosini tuzatish
goravel/gin: v1.1.6
goravel/fiber: v1.1.11
Fiber haydovchisi fayl qaytara olmasligi muammosini tuzatish
goravel/fiber: v1.1.11
Fiber haydovchisining global middleware panikasi muammosini tuzatish
goravel/fiber: v1.1.11
Fiber haydovchisining ContentType sozlamasi Gin haydovchisidan farq qilishi muammosini tuzatish
goravel/fiber: v1.1.11
Modelning ulanishi ishlamasligi muammosini tuzatish
goravel/framework: v1.13.5
Mock Log xatosini tuzatish
goravel/framework: v1.13.5
So‘rov zanjirining chiziqli bo‘lmagan bajarilishi muammosini tuzatish
goravel/framework: v1.13.6 v1.13.7
facades.Auth().Parse() muammosini tuzatish
goravel/framework: v1.13.8
facades.Orm().WithContext() muammosini tuzatish
goravel/framework: v1.13.8
Navbat jurnali APP_DEBUG tomonidan boshqariladi
goravel/framework: v1.13.8
APP_DEBUG=false bo‘lganda Debug va Info darajalari chop etilmaydi
Log ning yangi qator chop etilishi noto‘g‘ri bo‘lishi muammosini tuzatish
goravel/framework: v1.13.9
vendor:publish buyrug‘i katalogni nashr eta olmasligi muammosini tuzatish
goravel/framework: v1.13.9
Log.Error dan keyin Log.Info chaqirilganda izlar tozalanmasligi muammosini tuzatish
goravel/framework: v1.13.10
Orm hodisasi GetAttribute noto‘g‘ri ma’lumot qaytarishi muammosini tuzatish
goravel/framework: v1.13.10
ORM uchun ToSql, ToRawSql usullarini qo‘shish
goravel/framework: v1.13.10
