调试代码时出现此错误:
PHP Parse 错误:语法错误,第 72 行的 order.php 中出现意外的 T_OBJECT_OPERATOR
这是代码片段(从第 72 行开始):
$purchaseOrder = new PurchaseOrderFactory->instance();
$arrOrderDetails = $purchaseOrder->load($customerName);
调试代码时出现此错误:
PHP Parse 错误:语法错误,第 72 行的 order.php 中出现意外的 T_OBJECT_OPERATOR
这是代码片段(从第 72 行开始):
$purchaseOrder = new PurchaseOrderFactory->instance();
$arrOrderDetails = $purchaseOrder->load($customerName);
new
不幸的是,在 PHP 5.4 之前无法调用刚刚创建的对象的方法。
在 PHP 5.4 及更高版本中,可以使用以下内容:
$purchaseOrder = (new PurchaseOrderFactory)->instance();
请注意强制性的括号对。
在以前的版本中,您必须在变量上调用该方法:
$purchaseFactory = new PurchaseOrderFactory;
$purchaseOrder = $purchaseFactory->instance();
更改为您的语法无效:
$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();