Ankündigung

Einklappen
Keine Ankündigung bisher.

php classe, für mich unerklärlicher fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • notyyy
    hat ein Thema erstellt php classe, für mich unerklärlicher fehler.

    php classe, für mich unerklärlicher fehler

    ich habe dieses:

    PHP-Code:
    class classHandle
    {
        function 
    __construct($class,$handle=0)
        {
        
    $this->handle $handle;
        
    $this->className[$handle] = $class;
        
    $this->path[$this->handle] = dirname(__FILE__)."../classes/".$class."/".$class.".php";
        }
        
        function 
    load($handle=0)
        {
            if(
    file_exists($this->path[$handle]))
            {        include_once(
    $this->path[$handle]); $this->tempClass[$handle] = new $this->className; return true;        }
            else
            {        return 
    false;        }

        
        function 
    useIn($function,$handle=0)
        {
        if(!
    $this->tempClass[$handle]) { return false; }
        return 
    $this->tempClass[$handle]->$function."()";
        }
    }
    ?> # <<<<<<<Zeile 234 
    sieht ein wenig konfus aus aber nungut er spuckt mir diese meldung aus:
    Parse error: syntax error, unexpected ';', expecting T_FUNCTION in +++++\core\function.php on line 234
    ich weiss jedoch nicht warum ...., kann mir wer helfen ? (zeile hab ich gekennzeichnet im php code)


    edit: das forum nimmt das weg, im der teile ist ein ?>

  • Zergling-new
    antwortet
    Wenn du PHP-Klassen oder Objekte ausführlich analysieren möchtest, kannst du Reflections verwenden:
    http://de.php.net/reflection

    Was ReflectionClass kann, zeigt ja bereits die Methoden-Übersicht:
    PHP-Code:
    <?php
    class ReflectionClass implements Reflector
    {
        final private 
    __clone()
        public 
    object __construct(string name)
        public 
    string __toString()
        public static 
    string export(mixed class, bool return)
        public 
    string getName()
        public 
    bool isInternal()
        public 
    bool isUserDefined()
        public 
    bool isInstantiable()
        public 
    bool hasConstant(string name)
        public 
    bool hasMethod(string name)
        public 
    bool hasProperty(string name)
        public 
    string getFileName()
        public 
    int getStartLine()
        public 
    int getEndLine()
        public 
    string getDocComment()
        public 
    ReflectionMethod getConstructor()
        public 
    ReflectionMethod getMethod(string name)
        public 
    ReflectionMethod[] getMethods()
        public 
    ReflectionProperty getProperty(string name)
        public 
    ReflectionProperty[] getProperties()
        public array 
    getConstants()
        public 
    mixed getConstant(string name)
        public 
    ReflectionClass[] getInterfaces()
        public 
    bool isInterface()
        public 
    bool isAbstract()
        public 
    bool isFinal()
        public 
    int getModifiers()
        public 
    bool isInstance(stdclass object)
        public 
    stdclass newInstance(mixed args)
        public 
    stdclass newInstanceArgs(array args)
        public 
    ReflectionClass getParentClass()
        public 
    bool isSubclassOf(ReflectionClass class)
        public array 
    getStaticProperties()
        public 
    mixed getStaticPropertyValue(string name [, mixed default])
        public 
    void setStaticPropertyValue(string namemixed value)
        public array 
    getDefaultProperties()
        public 
    bool isIterateable()
        public 
    bool implementsInterface(string name)
        public 
    ReflectionExtension getExtension()
        public 
    string getExtensionName()
    }
    ?>

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Aber bitte die englische benutzen. Die deutsche ist tw. nicht ordentlich übersetzt (falsche Angaben zu Rückgabewerten etc.)

    Einen Kommentar schreiben:


  • KingCrunch
    antwortet
    Ich empfehle übrigens die CHM-Version des Manuals zum Download. Ist äusserst bequem

    Einen Kommentar schreiben:


  • notyyy
    antwortet
    vielen dank ...

    Einen Kommentar schreiben:


  • KingCrunch
    antwortet
    http://www.php.net/get_class_methods
    http://de2.php.net/manual/en/functio...class-vars.php
    http://de2.php.net/manual/en/functio...bject-vars.php
    http://de2.php.net/manual/en/function.get-class.php
    http://de2.php.net/manual/en/functio...ed-classes.php
    http://de2.php.net/manual/en/functio...interfaces.php
    ....
    http://de2.php.net/manual/en/ref.classobj.php <-- Wundert mich etwas, dass bei dieser aussagekräftigen Kapitelüberschrift das Kapitel übersehen wurde ^^

    Einen Kommentar schreiben:


  • Igäl
    antwortet
    http://de.php.net/manual/de/function.class-exists.php
    http://de.php.net/manual/de/function.method-exists.php

    Einen Kommentar schreiben:


  • notyyy
    antwortet
    ah wunderbar, ja sollte es, ist auch nochnicht fertig, ich bin selbst nichtmals sicher obs sinn macht, naja mal gucken.

    ich hab noch eine frage, undzwar habe ich eben ewigkeiten im manual gesucht und gegooglet über funktionen in bezug auf classen, z.b. zum prüfen ob es eine classe gibt, welche funktionen darin enthalten sind u.s.w.,
    weiss wer wo ich das im manual finde ?

    Einen Kommentar schreiben:


  • Igäl
    antwortet
    Ich denke er will da den Namen einer Funktion zurückgegeben haben und nicht eine Funktion aufrufen. Edit: Falsch gedacht ^^

    Symptom für Parse error wegen { und } ist ja, dass der Fehlerpointer meist aufs Ende des Scriptes zeigt. Versuch mal die Klammer zu schliessen und probiers nochmals

    Einen Kommentar schreiben:


  • KingCrunch
    antwortet
    Sollte
    PHP-Code:
    return $this->tempClass[$handle]->$function."()"
    womöglich
    PHP-Code:
    return $this->tempClass[$handle]->$function(); 
    heißen?

    Einen Kommentar schreiben:


  • Igäl
    antwortet
    Zeile 16. Du hast die function load() nicht geschlossen.

    Einen Kommentar schreiben:

Lädt...
X