php – Symfony2 – 使用第三方库(SSRS)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Symfony2 – 使用第三方库(SSRS),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1621字,纯文字阅读大概需要3分钟。
内容图文
![php – Symfony2 – 使用第三方库(SSRS)](/upload/InfoBanner/zyjiaocheng/799/929ee443c91e4cd1a74e97fb2f3092d3.jpg)
也许是愚蠢的问题,我是Symfony2的新手,我正在将它用于我的一个项目.
我希望能够使用第三方库,即SSRSReport(SSRS报告的API).
我把库放到了Symfony / vendor / ssrs / lib / Ssrs / src中.
这里定义了很多类,我不需要它们自动加载.
我根本不知道如何要求并从控制器中调用它们.
当然这不起作用
require_once '/vendor/ssrs/lib/Ssrs/src/SSRSReport.php';
class DefaultController extends Controller
{
public function viewAction()
{
define("UID", "xxxxxxxx");
define("PASWD", "xxxxxxxx");
define("SERVICE_URL", "http://xxx.xxx.xxx.xxx/ReportServer/");
$report = new SSRSReport(new Credentials(UID, PASWD), SERVICE_URL);
return $this->render('myBundle:Default:view.html.twig'
, array('report' => $report)
);
}
}
这里使用的SSRSReport()和Credentials()是API中包含的许多类中的2个.
解决方法:
首先,我不建议将非symfony管理的库放入/ vendor.由于您正在管理此库,请将其放入/ src.
其次,当使用非命名空间的类(即,在根命名空间中)时,请确保正确引用它们,否则PHP将查找当前命名空间(在本例中,它是您的控制器命名空间)
第三,快速和肮脏的解决方案是恰当地包含来自控制器的文件:
class DefaultController extends Controller
{
protected function includeSsrsSdk()
{
require_once(
$this->container->getParameter( 'kernel.root_dir' )
. '/../src/ssrs/lib/Ssrs/src/SSRSReport.php'
);
}
public function viewAction()
{
$this->includeSsrsSdk();
define("UID", "xxxxxxxx");
define("PASWD", "xxxxxxxx");
define("SERVICE_URL", "http://xxx.xxx.xxx.xxx/ReportServer/");
$report = new \SSRSReport(new \Credentials(UID, PASWD), SERVICE_URL);
return $this->render('myBundle:Default:view.html.twig'
, array('report' => $report)
);
}
}
但这会锁定您将逻辑库包含在这个控制器中的逻辑.您可以为执行此操作的SDK创建单独的包装器,甚至将其注册为服务.
内容总结
以上是互联网集市为您收集整理的php – Symfony2 – 使用第三方库(SSRS)全部内容,希望文章能够帮你解决php – Symfony2 – 使用第三方库(SSRS)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。