Entendendo Plugs em Elixir
介绍
结论
介绍
Artigo 的动机是在 Elixir 插头上进行一些困难的研究,以示例性的方式继续进行,并通过多种方式说明组件的功能,并通过多种方式进行研究,以形成有趣的结果,并且没有什么好处que compartilhar esse estudo!
在此过程中,我们将深入了解 Elixir 中插头功能的直观解释以及后续的操作。没有任何必要,重要的是要与HTTP 协议紧密结合,并根据要求进行必要的操作,否则不需要任何文本:
-
中间件:简短总结
- Elixir 中间件的使用技巧
-
插入 Elixir!
- 插头元素和道路
-
Elixir 插头类型
- 功能插头
- 模块插头
-
堵塞管道
1 - 中间件:嗯,简短的简历
中间件是一种软件技术,它提供了有关应用程序的信息和信息,包括信息系统、认证、API 和其他内容。作为中间件,中间件是软件处理过程中的“桥梁”,可以在法律和效率上进行应用程序的设计,并且可以解决中间件处理过程中的所有问题,作为连接和使用的最终解决方案形成积分和法律训练计划。
1.1 - 在 Elixir 中使用中间件的技巧
-
集成: Esse 中间件可以连接内部和外部应用系统,为应用程序提供便利,以令牌身份验证为例,使用时需要满足基本要求Seguida ganha um “Token” para continuar navegando em outras áreas de um minatedado site. Em Elixir Temos libs que disponibilizam Plugs para isso。
-
API 的:作为 nossas 和 velhas APi 的中间件技巧,我们可以将其集成到协议中,传输和传输应用程序以及连接产品和软件服务。
2——Elixir 插件!
Em Elixir 是一种插件,可以将不同的框架与 Erlang VM 上的不同服务进行通信,同时与中间件一起使用。插入插件是 Elixir 的重要组成部分,它是插件生态系统和框架的重要部分。
操作系统插件可作为应用程序、控制器、端点或路由器、内部插件等交互插件。
“Connection”(连接)的主要意图(isso não será traduzido, pois, será tratado como elementos e parâmetros em Elixir, e é uma convenção abreviar tal parâmetro)或“Conn”。作为连接系统中使用的不同中间件的插件,内部连接与响应的要求无关。
2.1 - 插头的元素和路径
可能的插头是一个插头,可以将插头插入插座中,然后将其转换为转换按钮,然后将其转换为转换类型。一个主要的recebida pelo Plug é a “Connection”,代表了tudo em uma requisição。
Desse modo, a receber a Connection por meio da estrutura de bados %{} - "struct" , a meio do que chamamos de “Plug pipeline” até a reposta Final que precisamos.
Essa Connection始终使用 %Plug.Conn{},将设备结构作为所需信息,并可参阅相关文档。
3 - Elixir 插头类型
简单地说,插件分为两种形式:功能插件和模块插件。
3.1 - 功能插件
对于插头来说,其功能如下:
-
获取一个连接结构(%Plug.Conn{})。
-
返回uma连接结构
功能插头的接收和恢复参数如下。
例如:
def connection_example(conn, _opts) do
conn
end
解释或代码:
元素:
-
conn:结构 %Plug.Conn{}。
-
_opts:“选项”的缩写,与长生不老药一样,可以使用下划线(_)来忽略价值。
演奏:
- 将连接作为选项(que não utilizaremos)。
3.2 - 模块插头
考虑将模块插件实现为双重功能:init/1 和 call/2:
defmodule PlugExample do
def init(opts) do
opts
end
def call(conn, opts) do
conn
end
end
解释或代码:
元素:
-
函数init/1
-
函数调用/2
演奏:
-
初始化接收参数(选项)并返回参数接收。
-
调用参数:一个连接作为init/1的选项,敏捷地执行程序的进程。
- 有趣的是:init/1执行或编译程序,然后调用/2执行或发送执行程序。
嗯例如
您可以在github上查看MODULE PLUG的示例功能
堵塞管道
插件是一个使用管道的工具,但它是一个插件,它是一个连续的插件,可以转换为多个插件。
在使用 Phoenix 时,您可以使用 Elixir Web 应用程序的框架,以实现一个连续的管道:
pipeline :browser do
plug :accepts, ["html"]
plug :fetch_session
plug :fetch_flash
plug :protect_from_forgery
plug :put_secure_browser_headers
end
准备好后,需要重新连接并修改连接,然后将其插入最后的连接处。
结论
Com esse artigo,可能的中间件、Elixir 的 Plugs、Plug 的技巧和 Plug 管道、não será possível、nessa ocasião、Phoenix 的 Plugs 的构建。没有任何问题,未来的发展将通过一系列的操作来完成,即插头的使用或终止mix phx.new
。
不,espero que eu tenha conseguido clarear um pouco a ideia dos Plugs, e qualquer dúvida e/ou correções é possível me contatar no twitter!
鏂囩珷鏉ユ簮锛�https://dev.to/cyytrus/entendendo-plugs-em-elixir-469c