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();