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

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

PHPparsing错误:语法错误,第72行的order.php中意外的T_OBJECT_OPERATOR

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

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

3 Solutions collect form web for “PHPparsing错误:语法错误,意外的T_OBJECT_OPERATOR”

不幸的是,在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(); 
  • 如何以纯文本的形式显示HTML标签
  • Perl和PHP的区别
  • 从HTML标签中删除样式属性
  • 按值删除数组项
  • 如何删除重音符号并将字母转换为“普通”ASCII字符?
  • 整整一分钟到最近的四分之一小时
  • PHPExcel如何dynamic设置单元格的值
  • 切换到Laravel 5 - 刀片
  • 在Php中读取文件时如何节省内存?
  • 在PHP中,你能实例化一个对象并在同一行调用一个方法吗?
  • 为什么会json_encode返回一个空string