私はこの種のことを常にJavaで行いますが、これはPHPで可能かどうかを判断しようとしています。これは、構文が可能であるかのように見えるだろうと期待しているものですが、それを行う特別な方法があるかどうかは疑問です。クラスは別のクラスの静的メンバーとして定義されています
class Foo {
public static class FooBarException extends Exception {
}
public static class BarBazException extends Exception {
}
public function DoSomething() {
try {
// Calls to other class methods that can
// throw FooBarException and BarBazException
} catch (self::FooBarException $e) {
// Stuff..
}
}
}
$bang = new Foo();
try {
$bang->DoSomething();
} catch (Foo::BarBazException $e) {
// Stuff..
}
を脇に、任意の言語で、これを行うための実際の名前があります場合、私は忘れてしまいました。私はそれが "サブクラス"だと思っていましたが、 "FooBarExceptionはExceptionのサブクラス"として使用されるでしょう... – Izkata
あなたの脇に、私はあなたが '内部クラス'を探していると思います。質問:http://stackoverflow.com/questions/4351782/how-do-i-use-inner-classes-in-php短い答えは「いいえ」 –
「ネストされたクラス」とも呼ばれます。 – linepogl