Kontentga o‘tish

v1.9 dan v1.10 ga yangilash

Qiziqarli Yangi Imkoniyatlar 🎉

Yaxshilanishlar 🚀

Muhim O'zgarishlar 🛠

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 tidy

Shifrlash

Versiya: v1.10.0

facades.Crypt qo'shing:

  1. config/app.go faylidagi providers bandiga &crypt.ServiceProvider{} ni qo'shing;

Tafsilotlar uchun

Xeshlash

Versiya: v1.10.0

facades.Hash qo'shing:

  1. config/app.go faylidagi providers bandiga &hash.ServiceProvider{} ni qo'shing;

  2. config/hashing.go faylini qo'shing;

Tafsilotlar uchun

Marshrutlash uchun tezlik cheklovini qo'shish

Versiya: v1.10.0

Tafsilotlar uchun

HTTP ishga tushish rejimini optimallashtirish

Versiya: v1.10.0

  1. config/http.go konfiguratsiyasini qo'shing, Tafsilotlar uchun;
  2. facades.Route.Run metodi endi parametr o'tkazishni talab qilmaydi, sukut bo'yicha http.host va http.port dan foydalanadi (kodni o'zgartirish shart emas, orqaga mos keladi);
  3. facades.Route.RunTLS metodi endi parametr o'tkazishni talab qilmaydi, sukut bo'yicha http.tls.host, http.tls.port, http.tls.ssl.cert va http.tls.ssl.key dan foydalanadi, agar siz undan foydalanayotgan bo'lsangiz, kodni o'zgartirishingiz kerak;
  4. facades.Route.RunTLSWithCert metodini qo'shing, Tafsilotlar uchun;
  5. app.url, app.host ni http.url, http.host ga 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

  1. Input metodi faqat marshrut parametrlarini olishdan quyidagi tartibda ma'lumot olishga o'zgartirildi: json, form, query, route. Eslatma: json faqat bir o'lchovli ma'lumotlarni olishi mumkin, aks holda bo'sh qaytaradi;
  2. Asl Input metodini almashtirish uchun Route metodini qo'shing;
  3. Query va Form metodlarining sukut bo'yicha qiymati kerak emas deb o'zgartirildi;
  4. Quyidagicha yangi metodlar qo'shildi:
MetodHarakat
RouteMarshrut Qiymatini Olish
RouteIntMarshrut Qiymatini Olish
RouteInt64Marshrut Qiymatini Olish
QueryIntSo'rov Satridan Kirishni Olish
QueryInt64So'rov Satridan Kirishni Olish
QueryBoolSo'rov Satridan Kirishni Olish
InputIntKirish Qiymatini Olish
InputInt64Kirish qiymatini olish
InputBoolKirish qiymatini olish
JsonJson olish

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

  1. Model jadval nomini ko‘rsatishni qo‘llab-quvvatlaydi, Batafsil;
  2. config/database.go faylidagi connection uchun yangi kalitlarni qo‘shing:

prefix: Jadval nomi uchun prefiksni o‘rnating; singular: Jadval nomi uchun birlik yoki ko‘plikni o‘rnating;

Batafsil

docker-compose.yml faylini qo‘shing

Versiya: v1.10.0

Xizmatni quyidagi buyruq bilan tezda ishga tushirishingiz mumkin:

docker-compose build
docker-compose up

ORM-ni optimallashtirish

Versiya: v1.10.0

  1. Quyidagi usullarni qo‘shing:
FunksiyalarHarakat
FirstOrSo‘rov yoki qayta chaqiruv orqali ma’lumotni qaytarish
FirstOrNewMavjud yoki yangi modellarni olish
FirstOrFailTopilmagan xatosi
UpdateOrCreateYangilash yoki yaratish
  1. Ilgari shunga o‘xshash xato bildirilgan edi, ammo hozir qo‘llab-quvvatlanadi:
go
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.

Batafsil

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.

Batafsil

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:

  1. Guard: Joriy Guard;
  2. Key: Foydalanuvchi belgisi;
  3. ExpireAt: Muddati tugash vaqti;
  4. IssuedAt: Berilgan vaqt;

Batafsil

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:

go
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

MIT litsenziyasi ostida chiqarilgan