我正在用PHP编写一个小型库,我遇到了一些内置类没有被读取的问题.例如:
namespace Woody;
class Test {
public function __construct() {
$db = new PDO(params);
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我:
PHP致命错误:/var/www/test.php中找不到类'Woody\PDO'
我有一个类,它包括Smarty,但我的类使用命名空间测试,Smarty不使用命名空间.如何包括Smarty,而无需将名称空间写入智能文件(它有许多系统插件)
import "smarty/Smarty.php"
class testik
{
public function __construct ()
{
$smarty = new Smarty();
}
}
<?php
class Smarty
{
//somcode
}
Run Code Online (Sandbox Code Playgroud)
Smarty有自动加载器类并包含其插件,插件也没有命名空间.
我有一个有趣的问题.在试图理解为什么某个网站将http代码500返回给浏览器时,我找到了该消息
PHP Fatal error: Class 'MZ\\MailChimpBundle\\Services\\Exception' not found in /var/www/website/vendor/bundles/MZ/MailChimpBundle/Services/MailChimp.php on line 41
Run Code Online (Sandbox Code Playgroud)
在apache日志中.看看上面提到的那一行:
throw new Exception('This bundle needs the cURL PHP extension.');
Run Code Online (Sandbox Code Playgroud)
我现在明白了如何使网站正常工作,但我仍然想知道为什么抛出异常的代码(这会导致更有用的日志消息)失败.可能是什么原因?
这个代码吼叫给我这个错误:Class 'MyNamespace\Database' not found.如何从内部引用属于无名称空间的类?
Class Database
{
public function request()
{
}
}
namespace MyNamespace
{
class MyClass
{
public function myFuction()
{
Database::request();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想将Checkout SDK与Yii2 一起使用,但由于该库不支持PSR-4标准(命名空间),因此无法集成它.如何将此库用于我的目的?
编辑
正如我所建议的那样,我试着用class作为
$sale = new \Twocheckout_Sale();
Run Code Online (Sandbox Code Playgroud)
但我仍然无法使其发挥作用.
我试图使用Imagick与Symfony2,但每次我尝试使用它,它会给我以下错误:
Fatal error: Class 'Acme\TestBundle\Services\Imagick' not found...
Run Code Online (Sandbox Code Playgroud)
我在设置的服务中使用Imagick来管理我的图像.我需要做什么才能使用这个课程?
我可以确认Imagick扩展正在服务器上运行,并且正在被其他站点使用.
在此先感谢您的帮助.