funktionsfrage *ganz schnell*^^

Dieses Thema im Forum "Webentwicklung" wurde erstellt von aegis, 23. Juni 2005 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 23. Juni 2005
    Hi,
    ich habe doch glatt total vergessen wie ich funktionen mache und aufrufe ...
    Ich komme im moment einfach nicht drauf.

    habe soetwas

    function main()
    {
    }

    Das müsste ja eigentlich stimmen. Doch wie rufe ich die auf?
    Noch schlimmer wie schaffe ich es das der user vorher auswählen kann welche er aufrufen will? Alle functionen müssen imselben PHP Dokument sein.

    brauche diesmal ein wenig schnell diese hilfe. Also haut bitte rein
     
  2. 23. Juni 2005
    vllt hilft dir das....hab ich grad auf die schnelle gefunden

    Var function_test;

    Function my_function()
    {
    function_test=2;
    }

    function main()
    {
    my_function(); //Funktion wird aufgerufen
    }

    ...in diesem Fall wird beim Starten der main Funktion die Funktion my_function() aufgerufen. Durch diesen Aufruf springt die Engine zu dieser Funktion und führt alle Anweisung in ihr aus. Danach fährt sie mit der alten Funktion fort. Sie müssen my_function VOR der main Funktion schreiben, damit der Compiler die Funktion bereits kennt, wenn sie aufgerufen wird.
     
  3. 23. Juni 2005
    Jo danke
    jetzt muss ich nur noch wissen, wie der user innerhalb eines skriptes entscheiden kann was er für eine Funktion aufrufen will
     
  4. 23. Juni 2005
    hm so genau kenn ich mich da im moment noch nicht aus, könnt es mir aber so evtl. vorstellen ^^
    wenn dich das irgendwie weiterbringt....

    <?
    if(Bedingung)
    {
    Anweisung
    }
    else
    {
    Anweisung
    }
    ?>


    <?
    if($user == "aegis")
    {
    echo "Hallo aegis";
    }
    else
    {
    echo "Zugriff verweigert!";
    }
    ?>
     
  5. 23. Juni 2005
    Jop so würds ja gehen. Aber der User soll ja während des Skriptes Quasi durch links verschiedene Funktionen starten können
     
  6. 23. Juni 2005
    bsp:

    links-> href="index.php?act=write"

    PHP:
    switch ( $_GET [ "act" ]) {
        case 
    "write" :
            
    write ();
            break;
        case 
    "check" :
            
    check_data ();
            break;
        case 
    "???" :
            
    lol ();
            break;
    }
     
  7. 23. Juni 2005
    das mit dem verschiedenen "mode"s durch ein assoc array lösen
    funktionen mit call_user_func() aufrufen
    wenn du fragen hast können wir uns im irc treffen
    hier mal auszug ausm script von mir
    *codeschnipsel*
    PHP:
    define ( 'MOD_PATH' , './modules/' );
    // 'MODE' => array('DATEI', 'FUNKTION')
    $mode_array  = array(
            
    'mode1'  => array( 'moduledatei1.php' 'modulefunktionx_in_moduledatei1' ),
            
    'gb'  => array( 'guestbook.php' , 'show_gb' )

    );
     if(!isset(
    $_GET [ 'mode' ]) || !isset( $mode_array [ $_GET [ 'mode' ]]))
    {
            require_once(
    MOD_PATH  "default.php" );
            
    call_user_func ( 'default_function' );
    }
    else
    {
            require_once(
    MOD_PATH  $mode_array [ $_GET [ 'mode' ]][ 0 ]);
            
    call_user_func ( $mode_array [ $_GET [ 'mode' ]][ 1 ]);
    }

    "datei.php?mode=" includiert ./modules/default.php und fuehrt default_function aus
    "datei.php?mode=mode1" includiert ./modules/moduledatei1.php und fuehrt modulefunktionx_in_moduledatei1 aus
    datei.php?mode=gb" includiert ./modules/guestbook.php und fuehrt show_gb aus
    alles andere: includiert ebenfalls ./modules/default.php und fuehrt default_function aus
    so oder so ähnlich sind die meisten foren und cms aufgebaut
    Vorteil:
    Fehler in MOdulen beiträchtigt alle andern module NICHT
    Module sind sehr einfach hinzu zu fuegen oder zu löschen
    code der geparst werden muss ist viel kleiner
    grosse uebersichtlichkeit
    Nachteile:
    fallen mir grad keine ein - aber die wird bestimmt der nächste post aufdecken
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.