Skip to content

Latest commit

 

History

History
203 lines (137 loc) · 8.2 KB

README_FA.md

File metadata and controls

203 lines (137 loc) · 8.2 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/main/_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)

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

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

اموزش آیریس

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

$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@latest # or @v12.2.11
نصب بر روی پروژه موجود
$ 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 را مطالعه کنید.

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

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

اگر آسیب‌پذیری امنیتی در درون آیریس مشاهده کردید, لطفاً ایمیلی به iris-go@outlook.com بفرستید. کلیه ضعف‌های امنیتی بلافاصله مورد توجه قرار خواهند گرفت.

📝 مجوز

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

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