Ralph: Vererbung und include()

Hi,
sagt mal, wie macht ihr das, wenn ihr x voneinander erbende Klassen habt, z.B.

  • SuperComponent
  • SuperAuthor extends SuperComponent
  • RegisteredAuthor extends SuperAutor
  • PublicAuthor extends RegisteredAuthor

In meiner index.php habe ich bisher deshalb auch 4 include-Befehle stehen (und das gleich mehrmals fuer verschiedene Pakete).

Geht das nicht auch einfacher, ohne von aussen ueber die Vererbungsstruktur bescheid wissen zu muessen? Bei Java wuerde ich z.B. mit import.author.*; einfach alles einbeziehen.
Gibt es nicht einen Weg, innerhalb meiner Klasse PublicAuthor zu definieren, wo sich RegisteredAuthor befindet (so eine Art Kruemelspur zu legen bis zur SuperComponent)?

Danke fuer eure Anregungen!
Ralph

  1. Hallo Ralph

    • SuperComponent
    • SuperAuthor extends SuperComponent
    • RegisteredAuthor extends SuperAutor
    • PublicAuthor extends RegisteredAuthor

    In meiner index.php habe ich bisher deshalb auch 4 include-Befehle stehen (und das gleich mehrmals fuer verschiedene Pakete).

    Geht das nicht auch einfacher, ohne von aussen ueber die Vererbungsstruktur bescheid wissen zu muessen? Bei Java wuerde ich z.B. mit import.author.*; einfach alles einbeziehen.

    :-) so einfach geht es in PHP nicht, obwohl man dies durchaus nachbauen könnte.

    Mein Lösungsansatz für dein Problem:

    in der PHP-Datei für SuperAuthor würde die erste Zeile lauten:

    require_once("SuperComponent.php");

    in RegisteredAuthor dann: require_once("SuperAuthor.php");

    und in PublicAuthor: require_once("RegisteredAuthor.php");

    und in der index.php dann nur noch require_once("PublicAuthor.php");

    Viele Grüße

    Antje

    1. Hallo Antje,

      Mein Lösungsansatz für dein Problem:

      in der PHP-Datei für SuperAuthor würde die erste Zeile lauten:

      require_once("SuperComponent.php");

      Nein, das habe ich auch schon probiert:

      ============
      <?php
      require_once(...)
      function MyClass
      {

      <?php
      function MyClass
      {
          require_once(...)

      Funktioniert beides nicht, obwohl es natuerlich schoen waere...
      Oder mache ich da was falsch?
      Ralph