0

我无法让 Bisna 学说 cli 工作。它抱怨找不到 Symfony 控制台应用程序。请注意,它试图在 Doctrine/Symfony/Console/Symfony/Component/Console 的嵌套目录中查找它。有人见过这个吗?

PHP Warning:  require(/Users/jhicks/workspace/production/application/../library/Doctrine/Symfony/Console/Symfony/Component/Console/Application.php): failed to open stream: No such file or directory in /Users/jhicks/workspace/production/library/Doctrine/Common/ClassLoader.php on line 163
PHP Fatal error:  require(): Failed opening required '/Users/jhicks/workspace/production/application/../library/Doctrine/Symfony/Console/Symfony/Component/Console/Application.php' (include_path='/Users/jhicks/workspace/production/library:.:/opt/local/lib/php') in /Users/jhicks/workspace/production/library/Doctrine/Common/ClassLoader.php on line 163

这是 Bisna 的学说 cli 的 Github 页面:https ://github.com/guilhermeblanco/ZendFramework1-Doctrine2/blob/master/bin/doctrine.php

4

2 回答 2

0

看起来我需要将这两行添加到我现有的自动加载器引导方法中:

$symfonyAutoloader = new \Doctrine\Common\ClassLoader('Symfony', 'Doctrine');   
$autoloader->pushAutoloader(array($symfonyAutoloader, 'loadClass'), 'Symfony');

我不认为这是必要的,因为我在 application.ini 文件的 autoloaderNamespaces 数组中包含了 Symfony。

autoloaderNamespaces[] = "Symfony"
于 2012-06-01T14:12:50.770 回答
0

Github中有许多将它们称为 Bisna 的存储库,如果没有更多信息,很难找到您正在使用的存储库。

最初的一个是由 Guilherme Blanco(Bisna曾经是他的昵称)创建的,称为Zend Framework 1 + Doctrine 2,它的工作原理就像一个魅力,但它没有捆绑运行 CLI 工具所需的 Symfony 组件。

您需要做的是从 GitHub 下载它们(搜索“Symfony”,您会在组织存储库中找到组件)并将它们放在项目的文件夹中,注意PSR #0命名约定。

如果您提供生成此错误的代码段以及您正在使用的存储库和版本,将更容易检测到错误并给出更好的答案。尝试猜测错误的类型是幼稚的,但您可能在命名空间和/或如何调用 Symfony 的控制台组件方面存在问题。

如果您需要有关如何实现这种集成的一些指导,您可以查看Blanco 存储库中的教义.php。

于 2012-06-01T03:03:15.043 回答