Vor PHP 5.3 verwendet ich Namen Schnittstellen/abstrakte Klassen wie folgt aus:Naming von Schnittstellen/abstrakte Klassen in PHP 5.3 (unter Verwendung von Namespaces)
abstract class Framework_Package_Subpackage_Abstract {}
Framework/Package/Subpackage/Abstract.php
interface Framework_Package_Subpackage_Interface {}
Framework/Package/Subpackage/Interface.php
Jetzt mit PHP 5.3 und Namespaces verwendet, kann ich nicht verwenden meine Konvention mehr, weil interface
und abstract
reservierte Schlüsselwörter sind.
namespace Framework\Package\Subpackage;
abstract class Abstract {}
Framework/Package/Subpackage/Abstract.php
namespace Framework\Package\Subpackage;
interface Interface {}
Framework/Package/Subpackage/Interface.php
Also, wie soll ich meine Klassen/Interfaces benennen?
Hat nicht abstrakte/Schnittstelle Schlüsselwörter seit PHP5 reserviert? – Imran
yep, sie sind; Die Verwendung von Namen wie Framework_Package_Subpackage_Abstract für Klassen löste jedoch das Problem, dass diese Wörter nur als Klassennamen verwendet werden. –
aber das war bisher kein Problem, weil der Name der Schnittstelle den gesamten Paketpfad für Autoload-Zwecke enthält. –