をインスタンス化しようとするので、私はここに単純なクラスを持っている:予期しない機能、クラス
<?php
class MyClass
{
private $key;
private $location;
function __construct($par1Key, $par2Location)
{
if(empty($par1Key) || empty($par2Location))
throw new Exception("One or more parameters were left empty.");
//do stuff
}
public static function new($par1Key, $par2Location) {
try {
return new MyClass($par1Key, $par2Location);
} catch (Exception $e) {
return null;
}
}
}
?>
は今、私は私のプロジェクトページでそれを必要とするときにこれをやろうとしている:
<?php
require('myclass.php');
function getInfo($location) {
$key = 'xyzabc123';
$class = MyClass::new($key, $location);
return $class->myMethod();
}
?>
しかし、それはエラーがスローされます。
Parse error: syntax error, unexpected 'new' (T_NEW) in PATHTOFILE/file.php on line 6.
どのように私はこのエラーを回避することができますか?
「new」は予約済みのキーワードだと思いますが、関数名として使用することはできません。 – Phiter
私の答えが助けられたなら、それが受け入れられたものとしてチェックして、他の人がそれを将来見ることができるようにしてください。 – Phiter