PHPparsing错误:语法错误,意外的T_OBJECT_OPERATOR

debugging我的代码时出现这个错误:

PHPparsing错误:语法错误,第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(); 

在以前的版本中,你必须调用一个variables的方法:

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

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

更改为您的语法无效:

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

在那里大概是instance()创build类的一个实例。 你可以做到这一点,而不是说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();