Kontentga o‘tish

v1.12 dan v1.13 ga yangilash ​

Qiziqarli Yangi Imkoniyatlar 🎉 ​

Yaxshilanishlar 🚀 ​

v1.13.4 ​

O‘zgartirishlar Kerak Bo‘lgan O‘zgarishlar 🛠 ​

Xatolarni Tuzatishlar 🐛 ​

v1.13.2 ​

v1.13.4 ​

v1.13.5 ​

v1.13.6 v1.13.7 ​

v1.13.8 ​

v1.13.9 ​

v1.13.10 ​

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/gin

2. Yangi Fayllarni Qo‘shish ​

tests

database/seeders/database_seeder.go

app/providers/database_service_provider.go

3. Yangi Provayderlarni Ro‘yxatdan O‘tkazish ​

Tartibga e‘tibor bering:

go
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

go
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

go
config.Add("cors", map[string]any{
  ...
  // Yangi
  "paths":                []string{"*"},
  "allowed_methods":      []string{"*"},
  ...
}

5. Sukut bo'yicha Yuklangan Global HTTP Middleware-ni O'chirish ​

  1. tls va cors middleware-lari sukut bo'yicha HTTP haydovchisiga integratsiya qilingan, shuning uchun app/http/kernel.go faylidagi middleware.Cors() va middleware.Tls() metodlarini o'chirish kerak.

  2. app/providers/route_service_provider.go faylidagi facades.Route().GlobalMiddleware(http.Kernel{}.Middleware()...) metodi Registerdan Bootga ko'chiriladi:

go
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.

go
// 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:

go
// 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:

go
// 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:

go
// 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) ​

  1. ctx.Request().Form() va ctx.Request().Json() metodlarini o'chiring, o'rniga ctx.Request().Input() metodidan foydalaning;

  2. Log maxsus haydovchisining GetLevel, GetTime, GetMessage metodlarini o'chiring, o'rniga Level, Time, Message metodlaridan foydalaning;

  3. gorm.New metodini o'chiring, bu metod gorm instansiyasini to'g'ridan-to'g'ri olish uchun ishlatiladi, endi tavsiya etilmaydi. agar kerak bo'lsa, o'rniga gorm.NewGormImpl metodidan foydalaning;

Funksiya Tavsifi ​

Urg'ochish ​

Versiya: v1.13.1

Tafsilotlar uchun

Zavodlar ​

Versiya: v1.13.1

Tafsilotlar uchun

Sinov ​

Versiya: v1.13.1

Tafsilotlar uchun

Ko‘rishlar ​

Versiya: v1.13.1

Tafsilotlar uchun

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

Tafsilotlar uchun

debug Metodlarini Qo'shish ​

Versiya: v1.13.1

Tafsilotlar uchun

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 UserController

Response uchun Status Metodini Qo'shish ​

Versiya: v1.13.1

Tafsilotlar uchun

Orm uchun Sum va Cursor Metodlarini Qo'shish ​

Versiya: v1.13.1

Tafsilotlar uchun

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:

HaydovchiHavola
Ginhttps://github.com/goravel/gin
Fiberhttps://github.com/goravel/fiber

Request uchun InputArray Va InputMap Metodlarini Qo'shish ​

Versiya: v1.13.1

Tafsilotlar uchun

Orm Modeli Maxsus Ulanishni Qo'llab-quvvatlaydi ​

Versiya: v1.13.1

Tafsilotlar uchun

Filesystem uchun Cloudinary Haydovchisini Qo'shish ​

Versiya: v1.13.1

Tafsilot uchun

Log uchun Yangi Chain Metodlarini Qo'shish ​

Versiya: v1.13.1

Tafsilotlar uchun

facades.Auth().User() ni tuzatish ​

Versiya: v1.13.1

  1. facades.Auth().User(ctx, &user) usuli ishlatilganda foydalanuvchi mavjud bo‘lmaganda xato chiqmasligi muammosini tuzatish.

  2. Asosiy kalbut int bo‘lmaganda ham user topilishi 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

Muammo #263

Postgres paroli bo‘sh bo‘lganda g‘ayritabiiy ulanish muammosini tuzatish ​

Versiya: v1.13.2

Muammo #270

Orm ning Cursor usuli ishlatilganda With usuli ishlamasligi muammosini tuzatish ​

Versiya: v1.13.2

Muammo #253

Xizmatni ishga tushirish muhit o‘zgaruvchilarini qo‘llab-quvvatlaydi ​

Versiya: v1.13.4

Muammo #265

Validatsiya moduli marshrut parametrlarini tekshira olmasligi muammosini tuzatish ​

goravel/gin: v1.1.6

goravel/fiber: v1.1.11

Muammo #294

Fiber haydovchisi fayl qaytara olmasligi muammosini tuzatish ​

goravel/fiber: v1.1.11

Muammo #299

Fiber haydovchisining global middleware panikasi muammosini tuzatish ​

goravel/fiber: v1.1.11

Muammo #300

Fiber haydovchisining ContentType sozlamasi Gin haydovchisidan farq qilishi muammosini tuzatish ​

goravel/fiber: v1.1.11

Muammo #296

Modelning ulanishi ishlamasligi muammosini tuzatish ​

goravel/framework: v1.13.5

Muammo #312

Mock Log xatosini tuzatish ​

goravel/framework: v1.13.5

Muammo #320

So‘rov zanjirining chiziqli bo‘lmagan bajarilishi muammosini tuzatish ​

goravel/framework: v1.13.6 v1.13.7

Muammo #341

facades.Auth().Parse() muammosini tuzatish ​

goravel/framework: v1.13.8

Muammo #388

facades.Orm().WithContext() muammosini tuzatish ​

goravel/framework: v1.13.8

Muammo #390

goravel/framework: v1.13.8

APP_DEBUG=false bo‘lganda Debug va Info darajalari chop etilmaydi

Muammo #389

Log ning yangi qator chop etilishi noto‘g‘ri bo‘lishi muammosini tuzatish ​

goravel/framework: v1.13.9

Muammo #395

vendor:publish buyrug‘i katalogni nashr eta olmasligi muammosini tuzatish ​

goravel/framework: v1.13.9

Muammo #345

Log.Error dan keyin Log.Info chaqirilganda izlar tozalanmasligi muammosini tuzatish ​

goravel/framework: v1.13.10

Muammo #402

Orm hodisasi GetAttribute noto‘g‘ri ma’lumot qaytarishi muammosini tuzatish ​

goravel/framework: v1.13.10

Muammo #405

ORM uchun ToSql, ToRawSql usullarini qo‘shish ​

goravel/framework: v1.13.10

Muammo #411

MIT litsenziyasi ostida chiqarilgan