我有一个想法,添加一个编辑层到网站作为Plack中间件。
解释:让我们说,我们创建一个网站,基于一些框架和模板和CSS(请求它像/some/page
)。现在我们可以创建一个中间件,这样对以adm
(如/adm/some/page
)开头的页面的每个请求都显示相同的页面,但添加了一个用于内容编辑的层。因此,我们可以像访问者一样轻松地查看和使用页面,但通过双击块级元素,我们可以修改或添加内容。因此中间件应该将特定的块元素与特定的事件绑定(双击),并设置处理程序(使用一些Javascript库)。
现在这只是一个想法,我还没有在任何CMS中看到这样的方法。我正在寻找提示和想法和例子,如何启动和实施这样的系统。我希望,已经做了类似的事情。
你可以这样做,但我认为你不想这样做。我的理解是,Plack::中间件应该是通用的,而将CMS实现为Plack中间件限制了它的可重用性,而且它不合适,中间件和CMS之间没有内在的联系。
以Plack::Middleware::OAuth
, Plack::Middleware::Debug
, Plack::Middleware::iPhone
, Plack::Middleware::Image::Scale
, Plack::Middleware::HTMLMinify
为例
这将是微不足道的添加一个中间件过滤器插入表单在你的html基于/adm/
或/admin/
或任何…并将url映射到调度将高度依赖于底层CMS模型/视图/控制器框架,这就是Catalyst
, Mojolicious
等框架已经提供此功能的原因
见http://advent.plackperl.org/2009/12/day-23-write-your-own-middleware.html基本上,我认为这是一个工作的视图/控制器的应用程序,一个插件,而不是包装你的应用程序(中间件)
我知道我的解释不够充分,但希望你能理解我的意思