【问题标题】:Laravel: Where to Add booted and booting Callbacks?Laravel:在哪里添加引导和引导回调?
【发布时间】:2014-07-21 00:14:14
【问题描述】:

主要的 Laravel 应用程序对象有两个方法,bootingbooted。这些方法允许您配置回调。应用程序对象会在启动前后调用这些回调。

作为 Laravel 应用程序开发人员,我可以在哪里了解这些事件?看框架好像

bootstrap/start.php

是显而易见的地方——但如果我把代码放在这里,它将在下一次更新中被删除。还有

start/global.php
statt/{$env}.php

但是booted 回调实际上需要这些文件,这意味着booting 回调点将不可用。

作为 Laravel 应用程序开发人员,我是否有预定的地方可以参与这些活动?还是有bootingbooted 供核心框架开发人员使用?还是我做了一个我什至不知道的错误假设? Laravel 4.2.6,但如果有来自其他版本的上下文,我很想听听。

对 Laravel 不熟悉,对编程并不陌生。 (还)不要求特定任务,只是了解最佳实践/预期用途是什么,不是什么。

【问题讨论】:

  • 为什么 start.php 会被删除?只要它不在供应商文件夹中,任何 laravel 更新都不会更改您的文件。 Start.php 在您创建基础项目时生成,但不应随着进一步的更新而更改。
  • @Scopey 啊,我不知道自己做过的假设之一。我的思路是“这是一个我没有放在那里的文件,所以它归系统所有”。你知道 start.php 是在哪里/何时/如何生成的吗?
  • 你用过composer create-project吗?
  • create-project 选项复制 repo 并在克隆完成后运行一些命令行操作。在这种情况下,它会运行工匠命令来首次设置应用程序。 composer updates 从现在开始只会更新 vendor 文件夹。

标签: php events laravel callback


【解决方案1】:

作为正式答案,这种行为没有明确的位置。但是请注意您的 cmets 关于 start.php,当您更新 laravel 时,此文件不会被“删除”。

只要文件不在供应商文件夹中,任何 laravel 更新都不会更改您的文件。 start.php 在您创建基础项目时生成,但不应随着进一步的更新而更改。

composer create-project 负责创建您的基本“骨架”应用程序,您所做的任何composer update 只会修改供应商文件夹中的文件。请记住,不要修改 vendor 文件夹中的文件,你会没事的!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2012-04-28
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多