从Symfony Task自动加载类

时间:2011-08-02 05:02:39

标签: php symfony1 command-line-interface autoloader

我正在使用Symfony 1.1代码库并尝试编写一个包含将自动执行某些进程的任务的插件。

目前我发现在Task中,Symfony没有完全引导类自动加载。它似乎注册了sfCoreAutoload类,但我无法从同一个插件或任何其他插件自动加载其他类。

目录结构类似于:

/project
  /plugin
    /myPlugin
      /lib
        /class
          myClass.class.php
        /task
          myTask.class.php

任务加载正常,但在此设置中无法自动加载myClass。通常我只会require该文件,但myClass依赖于另一个可用的插件。

似乎令人困惑的是,Symfony CLI不会为您当前运行的其他应用程序注册自动加载,类似于Web应用程序的方式。

1 个答案:

答案 0 :(得分:1)

你遇到了Symfony任务的几个恼人方面之一。

如果您可以在execute而不是configure中放置任何内容,那么您应该没问题。我相信每个任务执行时都会调用每个任务的configure方法,所以不管怎样你都不想要任何重量。