dongtangdao7232 2016-05-19 07:02
浏览 43
已采纳

Symfony2.7,将第三方lib添加到项目中

I'm stuck, i wanted to load external library to my symfony2 project but got error stating that class was not found my app/autoloader.php:

...
$loader->add('Tinify', __DIR__.'/../vendor/tinify/tinify/lib');
...

and my file where i want to use it looks like it:

<?php

namespace XYZ\NewsBundle\Controller;
...

use Tinify;

class NewsController extends Controller{
...
public function displayAction($slug)
{
    $em = $this->getDoctrine()->getManager();

    $external = new \Tinify();
}

error is as follow The autoloader expected class "Tinify" to be defined in file "xyz/app/../vendor/tinify/tinify/lib\Tinify.php". The file was found but the class was not in it, the class name or namespace probably has a typo.

but file under vendor\tinify\tinify\lib\Tinify.php

namespace Tinify;

const VERSION = "1.3.0";

class Tinify {
...
}

i checked if it really has typo but don't see one

  • 写回答

2条回答 默认 最新

  • dqst96444 2016-05-19 07:37
    关注

    Full qualified class name of Tinify is not Tinify but \Tinify\Tinify. Its namespace + classname.

    In you NewsController class you should do:

    use \Tinify\Tinify;
    

    Also note the backslash at the beginning of the namespace.

    Then in the code you should use just class name and not namespace so also change this:

    $external = new \Tinify();
    

    to this:

    $external = new Tinify();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭