【问题标题】:Can Laravel 4 modules be extended by default (in-core-functionality) by other modules like in Drupal?Laravel 4 模块是否可以通过其他模块(如 Drupal)默认扩展(核心功能)?
【发布时间】:2013-02-12 09:10:50
【问题描述】:

例如在 Drupal 中,您有一个名为 Views 的模块,并且您需要该模块来运行名为 Views Slideshow 的模块(因为它需要使用来自 Views 模块控制器/模型等的一些方法)并且您需要这两个来运行 Views Slideshow Extra Effects 模块(此模块使用所有前两个的东西并以特定方式扩展等)

这些模块的名称只是虚构的例子,我不再使用 Drupal,但我非常喜欢它的模块架构。

那么,当我只是复制一个具有类似结构的模块时,L4 是否可以为我提供这种模块环境(这种结构用于 CodeIgniter 的 MX HMVC:

modules/
             views/
                 controllers/
                     views.php
                 models/
                     views_model.php
                 views/
                     display.php
             views_slideshow/
                 controllers/
                     views_slideshow.php
                 models/
                     views_slideshow_model.php
                 views/
                     display.php
             views_slideshow_extra_effects/
                 controllers/
                     views_slideshow_extra_effects.php
                 models/
                     views_slideshow_extra_effects_model.php
                 views/
                     display.php   

还有一个重要的问题: 是否可以在不使用 composer 并将我的模块包含在某些配置文件等的情况下完成所有这些操作?

【问题讨论】:

    标签: laravel laravel-4


    【解决方案1】:

    我不明白你为什么不只使用作曲家?这正是它的设计初衷 - 它允许您开发自己的库/模块并将它们“插入”到您的 Laravel 4 应用程序中,而无需更改核心代码等。

    注意 - 作曲家模块可以是您计算机上的私有库 - 它们不必上传到 packagist.org 即可使用。我什至将我的私人作曲家库存储在私人 github 存储库中,这些存储库会自动拉入我的项目中。

    【讨论】:

    • 谢谢。我是 laravel 的新手。这就是我在这里问的原因。那么,是否可以不使用作曲家来完成呢?提前感谢您的回复。
    • 您可以编辑 start/global.php 文件并添加要自动加载的新目录
    • 借助 Composer 及其类自动加载功能,您可以创建自己的模块类型结构并将其注册到 Composer。 Laravel 没有规定控制器需要存在于控制器目录中,或者模型需要存在于模型目录中。只要 Composer 可以正确找到您的类,您就可以创建一个模块目录并按照您的意愿组织它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2017-01-19
    相关资源
    最近更新 更多