Kontentga o‘tish

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 🚀

O'zgartirishlar 🛠

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 tidy

go 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

go
// Oldin
app := foundation.Application{}

// Keyin
app := foundation.NewApplication()

3. facades.* ni o'zgartirish

OldinKeyin
facades.Artisanfacades.Artisan()
facades.Authfacades.Auth()
facades.Cachefacades.Cache()
facades.Configfacades.Config()
facades.Cryptfacades.Crypt()
facades.Eventfacades.Event()
facades.Gatefacades.Gate()
facades.Grpcfacades.Grpc()
facades.Hashfacades.Hash()
facades.Logfacades.Log()
facades.Mailfacades.Mail()
facades.Ormfacades.Orm()
facades.Queuefacades.Queue()
facades.RateLimiterfacades.RateLimiter()
facades.Routefacades.Route()
facades.Schedulefacades.Schedule()
facades.Storagefacades.Storage()
facades.Validationfacades.Validation()

4. app/providers/* ni o'zgartirish

Barcha fayllar uchun import qo‘shish:

go
import (
  "github.com/goravel/framework/contracts/foundation"
)

Register, Boot metodlarining barchasiga app foundation.Application kirish parametrini qo‘shing:

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

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

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

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

HaydovchiHavola
S3https://github.com/goravel/s3
OSShttps://github.com/goravel/oss
COShttps://github.com/goravel/cos
Miniohttps://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:

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

HaydovchiHavola
Redishttps://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

BuyruqlarHarakat
migrate:freshBarcha jadvallarni o‘chirish va barcha migratsiyalarni qayta ishga tushirish
migrate:refreshBarcha migratsiyalarni qayta tiklash va qayta ishga tushirish
migrate:resetBarcha ma’lumotlar bazasi migratsiyalarini orqaga qaytarish
migrate:statusHar bir migratsiyaning holatini ko‘rsatish

Ba’zi make Buyruqlari Pastki Kataloglarni Qo‘llab-quvvatlaydi

Versiya: v1.12.0

BuyruqYaratilgan fayl
make:policy User/AuthPolicyapp/policies/User/auth_policy.go
make:command Goravel/CleanCacheapp/console/commands/Goravel/clean_cache.go
make:model User/Phoneapp/models/User/phone.go
make:observer User/PhoneObserverapp/observers/User/phone_observer.go
make:event User/GoravelEventapp/events/User/goravel_event.go
make:listener User/GoravelListenapp/listeners/User/goravel_listen.go
make:controller User/AuthControllerapp/http/controllers/User/auth_controller.go
make:middleware User/Authapp/http/middleware/User/auth.go
make:request User/Authapp/http/requests/User/auth.go
make:job Goravel/Jobapp/jobs/Goravel/job.go
make:rule User/Phoneapp/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.

MIT litsenziyasi ostida chiqarilgan