Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Symfony 2中使用第三方库_Symfony - Fatal编程技术网

如何在Symfony 2中使用第三方库

如何在Symfony 2中使用第三方库,symfony,Symfony,我有一个类处理一些API集成,我希望在我的主站点包中提供这些集成,如下所示: class ACH { public function __constructor(); public function addACHTransaction(); ... } 如何在Symfony 2中集成此类,以便通过执行以下操作在控制器和实体中使用它: $ach = new ACH(); *编辑:*以下是我的autoload.php文件的内容 use Doctrine\Common\Annotati

我有一个类处理一些API集成,我希望在我的主站点包中提供这些集成,如下所示:

class ACH {
  public function __constructor();
  public function addACHTransaction();
  ...
}
如何在Symfony 2中集成此类,以便通过执行以下操作在控制器和实体中使用它:

$ach = new ACH();
*编辑:*以下是我的autoload.php文件的内容

use Doctrine\Common\Annotations\AnnotationRegistry;

$loader = require __DIR__.'/../vendor/autoload.php';

// intl
if (!function_exists('intl_get_error_code')) {
    require_once __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php';

    $loader->add('', __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs');
}

AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

return $loader;
试试Symfony

您可能需要创建一个新的包装类,以防您的第三方库不遵循symfony标准(即使用名称空间)。对于sf2.0,请看一下这个

EDIT:这说明了如何处理对未定义的方法Composer\Autoload\ClassLoader::registerPrefixes()调用的
错误。我还没有测试它,但是对于sf2.1来说,类加载器文档可能还不是最新的

app/autoload.php
文件中添加以下行:

$loader->add('foo_', __DIR__.'/../vendor/Foo/lib');
set_include_path(__DIR__.'/../vendor/Foo/lib'.PATH_SEPARATOR.get_include_path());
试试Symfony

您可能需要创建一个新的包装类,以防您的第三方库不遵循symfony标准(即使用名称空间)。对于sf2.0,请看一下这个

EDIT:这说明了如何处理对未定义的方法Composer\Autoload\ClassLoader::registerPrefixes()调用的
错误。我还没有测试它,但是对于sf2.1来说,类加载器文档可能还不是最新的

app/autoload.php
文件中添加以下行:

$loader->add('foo_', __DIR__.'/../vendor/Foo/lib');
set_include_path(__DIR__.'/../vendor/Foo/lib'.PATH_SEPARATOR.get_include_path());
编写器使用的与Symfony提供的类加载器不同。试试下面的

$achMap = array(
    'ACH' => 'path/of/ACH.php'
);
$loader->addClassMap($achMap);
编写器使用的与Symfony提供的类加载器不同。试试下面的

$achMap = array(
    'ACH' => 'path/of/ACH.php'
);
$loader->addClassMap($achMap);

我试图按照说明进行操作,但我不确定在autoload.php文件中调用$loader->registerPrefixes()的位置,因为已经定义了$loader。我在上面添加了autoload.php文件。在$loader=require DIR.'/../vendor/autoload.php'之后立即添加它;应该有用。它不。。。致命错误:调用undefined method Composer\Autoload\ClassLoader::registerPrefixes()抱歉,上次我使用ClassLoader是在sf2.0上。尝试在$loader->register()之前添加它;而是在/vendor/composer/autoload_real.php文件中。我得到了相同的错误。它找不到registerPrefixes()。我正在尝试按照说明进行操作,但我不确定在autoload.php文件中调用$loader->registerPrefixes()的位置,因为已经定义了$loader。我在上面添加了autoload.php文件。在$loader=require DIR.'/../vendor/autoload.php'之后立即添加它;应该行得通。它不。。。致命错误:调用undefined method Composer\Autoload\ClassLoader::registerPrefixes()抱歉,上次我使用ClassLoader是在sf2.0上。尝试在$loader->register()之前添加它;而是在/vendor/composer/autoload_real.php文件中。我得到了相同的错误。找不到registerPrefixes()。