我可以开发Laravel软件包,并可以从软件包中定制刀片,迁移,模型,控制器,路由。但是我的问题是专门针对如何从软件包中插入已构建的默认CRUD进行修改。
我从CMS开始,例如WordPress,Drupal和CakePHP,Laravel等CMS。从过程编码开始,OOP是一个学习曲线,现在仍然是我的学习曲线。但是搜寻不同的平台使我明白,同一件事可以通过不同的方式实现。
凭借WordPress插件开发经验,可以使用操作和过滤器挂钩轻松扩展功能。具有以下核心功能:
Fetch form data (3 fields)
hook here <---
Load form data (3 fields)
Submit form data (3 fields)
hook here <---
Save form data (3 fields)
可以通过类似以下的插件轻松修改:
Fetch form data (3 fields)
action hook <--- (hooked - added 2 fields)
Load form data (5 fields)
Submit form data (5 fields)
filter hook <--- (hooked - added data of 2 additional fields)
Save form data (5 fields)
但是在Laravel中,我想在Laravel范围内实现类似的功能,我该怎么办?
我了解@yield('my_hook')
的使用类似于WordPress中的动作挂钩。但是发现,如果我将多个连接到@yield
上,它将被覆盖。
我发现了几个类似eventy的程序包,它们具有类似的操作方法和WordPress的筛选器钩子,但是我实际上是在寻求Laravel方法来解决此问题。
我遇到了Laravel Events,这是像WordPress中的动作挂钩一样进行挂钩的解决方案吗?还有过滤器挂钩,我认为我们可以扩展模型以修改其行为。但是,恐怕这些都是想象力,可能不是现实。我对此一无所知。
我可以对这个问题有所启发吗?
答案 0 :(得分:0)
WordPress和Laravel都是完全不同级别的框架,因此比较可能很困难。
在Laravel中,您具有用于控制输出的工具(html页面)。当使用Blade模板时,@yield
是一个示例。
此外,还有一些方法可以在框架执行过程中挂钩某些事件(Laravel事件)。
在Laravel中,您正在使用“模型-视图-控件”设置,这意味着您可以/应该:
希望这会有所帮助。