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