首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试从命名空间-Symfony2加载类"COM“

尝试从命名空间-Symfony2加载类"COM“
EN

Stack Overflow用户
提问于 2015-06-20 21:46:03
回答 1查看 1.4K关注 0票数 0

我正在开发一个使用symfony2框架的web。在这个网站上,用户上传文件(.mdb)。网络读取文件,如果信息是正确的,则将其传递给数据库。

问题是我试图使用"COM类PHP“。首先,我想我也忘记了把扩展"extension=php_com_dotnet.dll“放在一边,但是没有。

Hay使用此代码读取de

代码语言:javascript
复制
    $count =0;
    $db_path = $path;
    $constr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . $db_path . ";";
    $odbc_con = new COM("ADODB.Connection");
    $odbc_con -> open($constr);

但塞佛尼说我

试图从C:\Symfony\WebD\src\PintxoNosti\MyTellBundle\Controller\PintxoController.php第62行中的命名空间"PintxoNosti\MyTellBundle\Controller“加载类"COM”。您需要从另一个名称空间“使用”它吗?

有人知道解决办法吗?或者可能有一些想法在symfony2中阅读mdb

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-20 22:13:50

在Symfony中,您使用名称空间。假设您想要将COM的一个实例变成控制器,比如MyController。控制器PHP文件将从以下规则开始:

代码语言:javascript
复制
namespace AppBundle\Controller;

现在,如果您创建一个PHP类的实例,PHP将将该类搜索到AppBundle\Controller命名空间中,当然无法找到它,因为它位于全局命名空间中。

因此,您必须在COM之前添加一个\,以指示这个类可以在全局命名空间中找到:

代码语言:javascript
复制
$odbc_con = new \COM("ADODB.Connection");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30959201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档