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(); 
  • 检查string是否为空
  • MySQL:如何在几秒钟内获得两个时间戳之间的差异
  • 检查URL是否与PHP具有特定的string
  • 在列中查询多个值
  • 增加date到php当前date()
  • 即使display_errors = On,PHP也不会显示错误
  • 调用未定义的函数:simplexml_load_string()
  • 在Apache服务器上使用WebSocket
  • 如何在PHP中获取目录大小
  • PHP – 导入CSV文件到MySQL数据库使用LOAD DATA INFILE
  • 每个列表项目的反向顺序