Skip to content

Latest commit

 

History

History
308 lines (241 loc) · 29.8 KB

README_FA.md

File metadata and controls

308 lines (241 loc) · 29.8 KB

خبرها

این شاخه تحت توسعه است. برای رفتن به شاخه نسخه بعدی v12.2.0 یا اگر به دنبال یک انتشار پایدار هستید, به جای آن به شاخه v12.1.8 branch مراجعه کنید.

همین امروز برنامه رسمی Iris Command Line Interface را امتحان کنید.

با توجه به بالا بودن حجم کار، ممکن است در پاسخ به سوالات شما تاخیری وجود داشته باشد.

Iris Web Framework

build status FOSSA Status view examples chat

آیریس یک چارچوب وب پر سرعت ، ساده و در عین حال کاملاً برجسته و بسیار کارآمد برای Go است.

Simple Handler
package main

import "github.com/kataras/iris/v12"

type (
  request struct {
    Firstname string `json:"firstname"`
    Lastname  string `json:"lastname"`
  }

  response struct {
    ID      uint64 `json:"id"`
    Message string `json:"message"`
  }
)

func main() {
  app := iris.New()
  app.Handle("PUT", "/users/{id:uint64}", updateUser)
  app.Listen(":8080")
}

func updateUser(ctx iris.Context) {
  id, _ := ctx.Params().GetUint64("id")

  var req request
  if err := ctx.ReadJSON(&req); err != nil {
    ctx.StopWithError(iris.StatusBadRequest, err)
    return
  }

  resp := response{
    ID:      id,
    Message: req.Firstname + " updated successfully",
  }
  ctx.JSON(resp)
}

!برای اطلاعات بیشتر ، مثال های مسیریابی را بخوانید

Handler with custom input and output arguments

https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go

اگر برایتان جالب بود مثال های دیگری را مطالعه کنید

MVC
package main

import (
  "github.com/kataras/iris/v12"
  "github.com/kataras/iris/v12/mvc"
)

type (
  request struct {
    Firstname string `json:"firstname"`
    Lastname  string `json:"lastname"`
  }

  response struct {
    ID      uint64 `json:"id"`
    Message string `json:"message"`
  }
)

func main() {
  app := iris.New()
  mvc.Configure(app.Party("/users"), configureMVC)
  app.Listen(":8080")
}

func configureMVC(app *mvc.Application) {
  app.Handle(new(userController))
}

type userController struct {
  // [...dependencies]
}

func (c *userController) PutBy(id uint64, req request) response {
  return response{
    ID:      id,
    Message: req.Firstname + " updated successfully",
  }
}

اگر به دنبال مثال‌های بیشتری هستید می‌توانید در اینجا مطالعه کنید

دیگران درباره آیریس چه می گویند و برای پشتیبانی از پتانسیل‌های این پروژه متن باز می‌توانید از آن حمایت کنید

Benchmarks: Jul 18, 2020 at 10:46am (UTC)

با کمک شما, ما می‌توانیم توسعه وب متن باز را برای همه بهبود ببخشیم !

کمک هایی که تا حالا دریافت شده است !

Paul Xu David Shaw Stone Travel Tan Andre Dias Rafael Francischini Heyuan Li Rainer Gevers Matic Zarnec Navid Dezashibi Sky Lee Richard Bondi Anthonius Prinslo Vladimir George Fourikis Александр Лебединский Li Yang Qianyu Zhou anilpdv CAO HOAI BAO Oscar Hernandez Gerard Lancea neulhan xushiquan Matt Ľuboš Pinteš Leighton McKeen Weliam simranjit singh Kenneth Jordan Morlé Koudeka Rui Carlos Augusto Horst Ender Pavithran MULYAWAN SENTOSA KIT UNITED Ricardo Hernandez Lopez ChinChuanKuo Nikhar Saxena Servio Zambrano Nate Anderson Claude Muller Marco Moeser Sanketh P B Vu Hoang Lam Dimitar Trifonov Midhubalan Balasubramanian AANAND NATARAJAN Edsongley Almeida ganben Tejus Pratap cui hexiang tinawang Juan David Parra Pimiento Andy Chong Ying Zhi Kevin Zhou Jasper Simranjit Singh Christopher Lamm 叶峻峣 TSAI LI TING zhutao George Alexiou Jobert Azares Tam Nguyen 
Venkatt Guhesan Anibal C C Budaye ARAN ROKA Valentine Chakravarthy Raghunandan Massimiliano Bertinetti Hieu Trinh J.T. Feng Gabor Lekeny LiHaotian Muyang Li Hao Tu Cetin Basoz Hazmi Amalul Rémy Deme Vincent Li Max Trense Matej Lach Joseph De Paola Damon Blais 陆 轶丰 Weihang Ding Li Fang TechMaster lenses.io Celso Souza Altafino Thomas Fritz Conrad Steenberg Damon Zhao George Opritescu Juanses Ankur Srivastava Lex Tang li3p

اموزش آیریس

ساخت یک پروژه جدید

$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@latest # or @v12.2.0
نصب بر روی پروژه موجود
$ cd myapp
$ go get github.com/kataras/iris/v12@latest
نصب با پرونده go.mod
module myapp

go 1.20

require github.com/kataras/iris/v12 v12.2.0-beta4.0.20220920072528-ff81f370625a

آیریس شامل مستندات گسترده و کاملی است که کار با چارچوب را آسان می کند.

مستندات

برای اطلاعات بیشتر در مورد اسناد فنی می توانید به مستندات اصلی ما مراجعه کنید.

مستندات اصلی

دوست دارید در حین مسافرت کتاب بخوانید ?

Book cover

follow author on twitter

follow Iris web framework on twitter

follow Iris web framework on facebook

امروز می توانید از طریق کتاب الکترونیکی آیریس (نسخه جدید ، آینده v12.2.0 +) دسترسی PDF و دسترسی آنلاین داشته باشید و در توسعه آیریس شرکت کنید.

🙌 مشارکت

ما خیلی دوست داریم شما سهمی در توسعه چارچوب آیریس داشته باشید! برای دریافت اطلاعات بیشتر در مورد مشارکت در پروژه آیریس لطفاً پرونده CONTRIBUTING.md را مطالعه کنید.

لیست همه شرکت کنندگان

🛡 آسیب‌پذیری‌های امنیتی

اگر آسیب‌پذیری امنیتی در درون آیریس مشاهده کردید, لطفاً ایمیلی به [email protected] بفرستید. کلیه ضعف‌های امنیتی بلافاصله مورد توجه قرار خواهند گرفت.

📝 مجوز

این پروژه تحت پروانه BSD 3-clause license مجوز دارد ، دقیقاً مانند پروژه Go.

نام پروژه "آیریس" از اساطیر یونانی الهام‌گرفته شده است.