调试我的代码时出现此错误:
PHP解析错误:语法错误,第72行的order.php中出现意外的T_OBJECT_OPERATOR
这是代码片段(从第72行开始):
$purchaseOrder = new PurchaseOrderFactory->instance();
$arrOrderDetails = $purchaseOrder->load($customerName);
Run Code Online (Sandbox Code Playgroud)
Sir*_*ius 81
不幸的是,new在PHP 5.4之前创建的对象上调用方法是不可能的.
在PHP 5.4及更高版本中,可以使用以下代码:
$purchaseOrder = (new PurchaseOrderFactory)->instance();
Run Code Online (Sandbox Code Playgroud)
在以前的版本中,您必须在变量上调用该方法:
$purchaseFactory = new PurchaseOrderFactory;
$purchaseOrder = $purchaseFactory->instance();
Run Code Online (Sandbox Code Playgroud)
注意:即使在升级到PHP 5.4之后,后者可能更有用/更明智,因为这两行可以更好地分离,并且包含硬编码类名的代码更少,这里是工厂类的名称PurchaseOrderFactory.这将使您能够更流畅地维护代码.