2021-05-23 14:08:44 +02:00
< div dir = "rtl" >
2023-01-27 18:20:14 +01:00
2021-05-23 14:08:44 +02:00
## خبرها
> این شاخه تحت توسعه است. برای رفتن به شاخه نسخه بعدی [v12.2.0](HISTORY.md#Next) یا اگر به دنبال یک انتشار پایدار هستید, به جای آن به شاخه [v12.1.8 branch](https://github.com/kataras/iris/tree/v12.1.8) مراجعه کنید.
> ![](https://iris-go.com/images/cli.png) همین امروز برنامه رسمی [Iris Command Line Interface](https://github.com/kataras/iris-cli) را امتحان کنید.
> با توجه به بالا بودن حجم کار، ممکن است در پاسخ به [سوالات](https://github.com/kataras/iris/issues) شما تاخیری وجود داشته باشد.
2023-01-27 18:20:14 +01:00
# Iris Web Framework
2021-05-23 14:08:44 +02:00
2024-01-18 14:08:48 +01:00
[![build status ](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge )](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status ](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️ -CD2956?style=for-the-badge&logo=fossa )](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield)<!--[![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=for-the-badge)](https://goreportcard.com/report/github.com/kataras/iris)--><!--[![godocs](https://img.shields.io/badge/go-%20docs-488AC7.svg?style=for-the-badge)](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.10)--> [![view examples ](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go )](https://github.com/kataras/iris/tree/main/_examples) [![chat ](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge )](https://gitter.im/iris_go/community)<!--[![donate on PayPal](https://img.shields.io/badge/support-PayPal-blue.svg?style=for-the-badge)](https://iris-go.com/donate)--><!-- [![release ](https://img.shields.io/badge/release%20-v12.0-0077b3.svg?style=for-the-badge )](https://github.com/kataras/iris/releases) -->
2021-05-23 14:08:44 +02:00
آیریس یک چارچوب وب پر سرعت ، ساده و در عین حال کاملاً برجسته و بسیار کارآمد برای Go است.
2019-09-12 11:18:42 +02:00
< / div >
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
< details > < summary > Simple Handler< / summary >
2019-09-12 11:00:54 +02:00
```go
package main
2019-10-25 00:27:02 +02:00
import "github.com/kataras/iris/v12"
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
type (
request struct {
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
}
response struct {
ID uint64 `json:"id"`
Message string `json:"message"`
}
)
2019-09-12 11:00:54 +02:00
func main() {
2021-05-23 14:08:44 +02:00
app := iris.New()
app.Handle("PUT", "/users/{id:uint64}", updateUser)
app.Listen(":8080")
2019-09-12 11:00:54 +02:00
}
2021-05-23 14:08:44 +02:00
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)
}
2019-09-12 11:00:54 +02:00
```
2023-08-20 02:12:46 +02:00
> !برای اطلاعات بیشتر ، [مثال های مسیریابی](https://github.com/kataras/iris/blob/main/_examples/routing) را بخوانید
2019-12-26 08:31:28 +01:00
2021-05-23 14:08:44 +02:00
< / details >
2019-09-12 12:03:53 +02:00
2021-05-23 14:08:44 +02:00
< details > < summary > Handler with custom input and output arguments< / summary >
2019-09-12 12:03:53 +02:00
2023-08-20 02:12:46 +02:00
[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go ](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png )](https://twitter.com/iris_framework/status/1234783655408668672)
2019-09-12 12:03:53 +02:00
2023-08-20 02:12:46 +02:00
> اگر برایتان جالب بود [مثال های دیگری](https://github.com/kataras/iris/blob/main/_examples/dependency-injection) را مطالعه کنید
2019-09-12 11:00:54 +02:00
< / details >
2021-05-23 14:08:44 +02:00
< details > < summary > MVC< / summary >
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
```go
package main
2019-09-12 12:22:10 +02:00
2021-05-23 14:08:44 +02:00
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/mvc"
)
2019-09-12 12:22:10 +02:00
2021-05-23 14:08:44 +02:00
type (
request struct {
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
}
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
response struct {
ID uint64 `json:"id"`
Message string `json:"message"`
}
)
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
func main() {
app := iris.New()
mvc.Configure(app.Party("/users"), configureMVC)
app.Listen(":8080")
}
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
func configureMVC(app *mvc.Application) {
app.Handle(new(userController))
}
2019-09-12 12:26:02 +02:00
2021-05-23 14:08:44 +02:00
type userController struct {
// [...dependencies]
}
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
func (c *userController) PutBy(id uint64, req request) response {
return response{
ID: id,
Message: req.Firstname + " updated successfully",
}
}
```
اگر به دنبال مثالهای بیشتری هستید میتوانید در [اینجا ](_examples/mvc ) مطالعه کنید
< / details >
< div dir = "rtl" >
2021-05-23 14:25:48 +02:00
> دیگران درباره آیریس چه می گویند و برای پشتیبانی از پتانسیلهای این پروژه متن باز میتوانید از آن حمایت کنید
2021-05-23 14:08:44 +02:00
[![ ](https://iris-go.com/images/reviews.gif )](https://iris-go.com/testimonials/)
[![Benchmarks: Jul 18, 2020 at 10:46am (UTC) ](https://iris-go.com/images/benchmarks.svg )](https://github.com/kataras/server-benchmarks)
## 👑 <a href="https://iris-go.com/donate">حامیان</a>
با کمک شما, ما میتوانیم توسعه وب متن باز را برای همه بهبود ببخشیم !
> کمک هایی که تا حالا دریافت شده است !
2023-08-20 02:47:17 +02:00
2021-05-23 14:08:44 +02:00
## اموزش آیریس
### ساخت یک پروژه جدید
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
< / div >
```sh
$ mkdir myapp
$ cd myapp
$ go mod init myapp
2024-01-18 14:08:48 +01:00
$ go get github.com/kataras/iris/v12@latest # or @v12 .2.10
2021-05-23 14:08:44 +02:00
```
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
< div dir = "rtl" >
< summary > نصب بر روی پروژه موجود< / summary >
< / div >
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
```sh
$ cd myapp
2023-03-11 21:37:55 +01:00
$ go get github.com/kataras/iris/v12@latest
2021-05-23 14:08:44 +02:00
```
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
< div dir = "rtl" >
< summary > نصب با پرونده go.mod< / summary >
< / div >
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
```txt
module myapp
2019-09-12 11:00:54 +02:00
2023-03-11 21:37:55 +01:00
go 1.20
2019-09-12 11:00:54 +02:00
2022-09-20 17:08:39 +02:00
require github.com/kataras/iris/v12 v12.2.0-beta4.0.20220920072528-ff81f370625a
2021-05-23 14:08:44 +02:00
```
![](https://www.iris-go.com/images/gifs/install-create-iris.gif)
< div dir = "rtl" >
آیریس شامل مستندات گسترده و کاملی است که کار با چارچوب را آسان می کند.
> [مستندات](https://www.iris-go.com/docs)
برای اطلاعات بیشتر در مورد اسناد فنی می توانید به مستندات اصلی ما مراجعه کنید.
2023-08-20 02:12:46 +02:00
> [مستندات اصلی](https://pkg.go.dev/github.com/kataras/iris/v12@main)
2021-05-23 14:08:44 +02:00
## دوست دارید در حین مسافرت کتاب بخوانید ?
< a href = "https://iris-go.com/#book" > < img alt = "Book cover" src = "https://iris-go.com/images/iris-book-cover-sm.jpg?v=12" / > < / a >
[![follow author on twitter ](https://img.shields.io/twitter/follow/makismaropoulos?color=3D8AA3&logoColor=3D8AA3&style=for-the-badge&logo=twitter )](https://twitter.com/intent/follow?screen_name=makismaropoulos)
[![follow Iris web framework on twitter ](https://img.shields.io/twitter/follow/iris_framework?color=ee7506&logoColor=ee7506&style=for-the-badge&logo=twitter )](https://twitter.com/intent/follow?screen_name=iris_framework)
[![follow Iris web framework on facebook ](https://img.shields.io/badge/Follow%20%40Iris.framework-522-2D88FF.svg?style=for-the-badge&logo=facebook )](https://www.facebook.com/iris.framework)
امروز می توانید از طریق کتاب الکترونیکی آیریس (نسخه جدید ، آینده v12.2.0 +) دسترسی PDF و دسترسی آنلاین داشته باشید و در توسعه آیریس شرکت کنید.
## 🙌 مشارکت
2021-05-23 14:25:48 +02:00
ما خیلی دوست داریم شما سهمی در توسعه چارچوب آیریس داشته باشید! برای دریافت اطلاعات بیشتر در مورد مشارکت در پروژه آیریس لطفاً پرونده [CONTRIBUTING.md ](CONTRIBUTING.md ) را مطالعه کنید.
2021-05-23 14:08:44 +02:00
[لیست همه شرکت کنندگان ](https://github.com/kataras/iris/graphs/contributors )
## 🛡 آسیبپذیریهای امنیتی
اگر آسیبپذیری امنیتی در درون آیریس مشاهده کردید, لطفاً ایمیلی به [iris-go@outlook.com ](mailto:iris-go@outlook.com ) بفرستید. کلیه ضعفهای امنیتی بلافاصله مورد توجه قرار خواهند گرفت.
## 📝 مجوز
این پروژه تحت پروانه [BSD 3-clause license ](LICENSE ) مجوز دارد ، دقیقاً مانند پروژه Go.
نام پروژه "آیریس" از اساطیر یونانی الهامگرفته شده است.
2019-09-12 11:00:54 +02:00
2021-05-23 14:08:44 +02:00
< / div >