私はこのような私のクラスのためのインタフェースを宣言するトリングだ:PHPのインターフェイス宣言 - なぜ宣言が混在するのですか?
namespace Helpers\Interfaces {
interface Cache {
public static function getInstance($profile = null);
}
}
をそして私は、このようにそれらを適用します。
namespace Helpers {
class Cache implements Interfaces\Cache {
public static function getInstance($profile = null) {
/* ... */
}
}
}
これまでのところ、とても良い(どうやら、少なくとも)。私が持っている問題は、NetBeansは私のクラスが抽象クラスではなく、特定のメソッドを実装していないというエラーが表示されます。
このメソッドは、オブジェクト(ホスト、ポート、APIキーなど)に応じて特定の設定オプションを指定せずに、特定のメソッドを操作するために必要な設定パラメータを収集するために作成したオブジェクトに属します。
この方法は、この例では、矛盾する宣言は、このインターフェイスから来\Configuration\Helpers\Cache::getConfiguration($profile);
と呼ばれている:
次のように適用されるnamespace Configuration\Helpers\Interfaces {
interface Cache {
public static function getConfiguration($profile = null);
}
}
:
namespace Configuration\Helpers {
class Cache implements Interfaces\Cache {
public static function getConfiguration($profile = null) {
/* ... */
}
}
}
それが効果的に混合ですインタフェースは名前空間ですが、 私は注意したいことは、インターフェイスとそのインターフェイスを実装しているクラス宣言の両方が常に同じファイル(オブジェクトごとに1つのファイル)にあることです。
PHPバージョンはNetBeans 8.2上で7.0.13です。
私は間違っていますか?
私は試してみます。ヒントのためにありがとう:) –
いいえ、それはエラー通知dissapearを行いません。しかし、コードを実行しているときに警告やエラーが発生しないので、NetBeansは宣言について不平を言っています。 –