Symfony 2.4如何加载外部类?

时间:2014-01-04 16:03:23

标签: php symfony psr-0

我想在我的symfony 2项目中添加一个外部库。我使用2.4版本。我已阅读了许多“如何”,但所有解决方案都不适用于此版本。

你能告诉我如何在我的项目中添加课程吗?

我的班级Html2Pdf:

<?php    
class Html2Pdf
{   
   // Code ...
}    
?>

3 个答案:

答案 0 :(得分:2)

您对服务了解一切吗?

如果要在控制器中使用该YoutubeDownloader类,则必须将其定义为服务,以便可以随意调用。

打开您的services.yml;

  

YourBundle /资源/配置/ services.yml

parameters:
    youtubeDownload: YourBundle/YourPathToClass

services:
    bundlename.controllername.controller:
        class:     "%youtubeDownload%"

更多信息: http://symfony.com/doc/current/cookbook/controller/service.html

答案 1 :(得分:1)

您可以使用\Html2Pdf在类中使用任何无命名空间类来调用它。

<强>更新

当您使用Symfony和Composer时,类和命名空间已经映射,因此您只需要使用\Html2Pdf命名空间包含它。 \表示它是基于根级别的命名空间而不是相对命名空间(在同一文件夹中)。

如果您没有使用composer或其他内容与自动加载器,那么您需要使用{{1}将文件包含在堆栈中的某个位置(可以在当前文件或某种类型的父文件中) }。然后,您将使用与使用include_once('**path to file**/Html2Pdf.php')的Symfony / Composer时相同的方式使用它。

答案 2 :(得分:0)

这适合我。

include_once $this->get('kernel')->getRootDir() . '/../path/to/Html2Pdt.php';

$aHtml2Pdt = new \Html2Pdt();

我认为这是@Qoop试图说的。

我希望它有所帮助。