## خبرها
> این شاخه تحت توسعه است. برای رفتن به شاخه نسخه بعدی [v12.2.0](HISTORY.md#Next) یا اگر به دنبال یک انتشار پایدار هستید, به جای آن به شاخه [v12.1.8 branch](https://github.com/kataras/iris/tree/v12.1.8) مراجعه کنید.
>  همین امروز برنامه رسمی [Iris Command Line Interface](https://github.com/kataras/iris-cli) را امتحان کنید.
> با توجه به بالا بودن حجم کار، ممکن است در پاسخ به [سوالات](https://github.com/kataras/iris/issues) شما تاخیری وجود داشته باشد.
# Iris Web Framework
[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
آیریس یک چارچوب وب پر سرعت ، ساده و در عین حال کاملاً برجسته و بسیار کارآمد برای 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

اگر برایتان جالب بود مثال های دیگری را مطالعه کنید
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",
}
}
اگر به دنبال مثالهای بیشتری هستید میتوانید در اینجا مطالعه کنید
دیگران درباره آیریس چه می گویند و برای پشتیبانی از پتانسیلهای این پروژه متن باز میتوانید از آن حمایت کنید


با کمک شما, ما میتوانیم توسعه وب متن باز را برای همه بهبود ببخشیم !
کمک هایی که تا حالا دریافت شده است !
اموزش آیریس
ساخت یک پروژه جدید
$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@latest # or @v
نصب بر روی پروژه موجود
$ 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

آیریس شامل مستندات گسترده و کاملی است که کار با چارچوب را آسان می کند.
> [مستندات](https://www.iris-go.com/docs)
برای اطلاعات بیشتر در مورد اسناد فنی می توانید به مستندات اصلی ما مراجعه کنید.
> [مستندات اصلی](https://pkg.go.dev/github.com/kataras/iris/v12@main)
## دوست دارید در حین مسافرت کتاب بخوانید ?
[](https://twitter.com/intent/follow?screen_name=makismaropoulos)
[](https://twitter.com/intent/follow?screen_name=iris_framework)
[](https://www.facebook.com/iris.framework)
امروز می توانید از طریق کتاب الکترونیکی آیریس (نسخه جدید ، آینده v12.2.0 +) دسترسی PDF و دسترسی آنلاین داشته باشید و در توسعه آیریس شرکت کنید.
## 🙌 مشارکت
ما خیلی دوست داریم شما سهمی در توسعه چارچوب آیریس داشته باشید! برای دریافت اطلاعات بیشتر در مورد مشارکت در پروژه آیریس لطفاً پرونده [CONTRIBUTING.md](CONTRIBUTING.md) را مطالعه کنید.
[لیست همه شرکت کنندگان](https://github.com/kataras/iris/graphs/contributors)
## 🛡 آسیبپذیریهای امنیتی
اگر آسیبپذیری امنیتی در درون آیریس مشاهده کردید, لطفاً ایمیلی به [iris-go@outlook.com](mailto:iris-go@outlook.com) بفرستید. کلیه ضعفهای امنیتی بلافاصله مورد توجه قرار خواهند گرفت.
## 📝 مجوز
این پروژه تحت پروانه [BSD 3-clause license](LICENSE) مجوز دارد ، دقیقاً مانند پروژه Go.
نام پروژه "آیریس" از اساطیر یونانی الهامگرفته شده است.