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