PHP解析错误:语法错误,意外的T

调试我的代码时出现此错误:

PHP解析错误:语法错误,第72行的order.php中出现意外的T_OBJECT_OPERATOR

以下是代码片段(从第72行开始):

$purchaseOrder = new PurchaseOrderFactory->instance();
$arrOrderDetails = $purchaseOrder->load($customerName);

不幸的是,不可能在PHP 5.4之前的new对象上调用一个方法。

在PHP 5.4和更高版本中,可以使用以下内容:

$purchaseOrder = (new PurchaseOrderFactory)->instance();

在以前的版本中,您必须在变量上调用该方法:

$purchaseFactory = new PurchaseOrderFactory;
$purchaseOrder = $purchaseFactory->instance();

注意:即使在升级到PHP 5.4之后,后者可能更为有用/明智,因为这两行可以更好地分开,并且包含硬编码类名的代码较少,这里是工厂类PurchaseOrderFactory的名称。 这会让你更流畅地维护代码。


更改为您的语法无效:

$purchaseOrder = PurchaseOrderFactory::instance();
$arrOrderDetails = $purchaseOrder->load($customerName);

在那里大概是instance()创建类的一个实例。 你可以做到这一点,而不是说new


你不能使用(这是无效的PHP语法):

new PurchaseOrderFactory->instance();

你可能指的是其中之一:

// Initialize new object of class PurchaseOrderFactory
new PurchaseOrderFactory(); 

// Clone instance of already existing PurchaseOrderFactory
clone  PurchaseOrderFactory::instance();

// Simply use one instance
PurchaseOrderFactory::instance();

// Initialize new object and that use one of its methods
$tmp = new PurchaseOrderFactory();
$tmp->instance();
链接地址: http://www.djcxy.com/p/69235.html

上一篇: PHP Parse error: syntax error, unexpected T

下一篇: unexpected 'else' (T