Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Aiuto, chiamata ajax a classe php !

    Salve a tutti,
    finalmente ho un progettino personale che non mi mette fretta e che quindi posso gestire come voglio e utilizzare per spratichirmi un po' con le classi, che ho cominciato a studiare da poco.

    In linea generale il concetto di base mi sembra chiaro, per tanto ho alzato un pochino l'asticella ( poi magari scopro che l'ho messa troppo alta ) e mi sono detto, perchè non fare una chiamata ajax alla classe php in modo da mandare i dati di un form in asincrono?

    E qui casca l'asino. Come cavolicchio si fa?

    Per intenderci, ho una classe fatta così:

    codice:
    class pl_login
    {
        public function __costruct()
        {
            if ($_GET['ajax'] == "test") {
                $this->test();
    }
        }
    
        public function test()
        {
            echo "risultato";
    }
    }
    Vorrei che facendo una chiamata ajax e impostando una variabile get chiamata ajax ( fantasia! ), mi uscisse il risultato della funzione test.

    Ma come si entra nella classe?

    Di seguito il codice ajax che funziona tranquillamente se piazzo un echo fuori dalla classe:
    codice:
    jQuery.ajax({
        type: "GET",
    url: "/class-login.php",
    data:{ajax: true},
    success:function(response){
            console.log(response);
    }
    });
    Mi viene anche il dubbio che si possa fare, anche se all'interno di CMS vari io questa cosa la faccio, però non so bene che magheggi fanno.

    Mi dareste una manina?

    Grazie in anticipo.

  2. #2
    non mi pronuncio neanche sulla classe pl_login ne sull'idea in generale, prendo atto dell'inesperienza e della voglia di sperimentare, anche se ti suggerirei di vedere come fanno "i grandi" per capire verso che rotta indirizzarti. cmq, per restare al tuo esempio, dovrebbe funzionare una cosa del genere:

    Codice PHP:
    <?php

    //class-login.php
    class pl_login
    {
        public function 
    execute($request)
        {
            if(
    $request['ajax'] == "test")
            {
                 
    $this->test();
            }
        }

        public function 
    test()
        {
            echo 
    "risultato";
       }
    }

    //istanzio la classe creando l'oggetto che potrò utilizzare nel mio programma/script
    $plLogin = new pl_login();
    //richiamo il metodo dell'oggetto creato passando i corretti parametri di input
    $plLogin->execute($_GET);
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Grazie, in effetti era una soluzione che avevo ipotizzato ma che stando a guardare qualche cms non sembrava la migliore.

    Di più non so, come hai giustamente notato non sono un fenomeno con le classi per questo approfitto proprio di questo progettino personale per utilizzarle e spratichirmi un po' affrontando qualche cosa che di fatto non conosco bene.

    Se vuoi entrare nel merito della classe pl_login fai pure, accetto consigli senza problemi proprio perchè mi rendo conto di non essere un istituzione in merito alla programmazione ad oggetti ( nella programmazione in generale a dirla tutta ). L'idea in generale mi pare presa dai CMS io ad esempio con Prestashop, quando faccio i moduli, fatti con le classi appunto, uso spesso le chiamate ajax ma non so perchè questa parte:

    codice:
    //istanzio la classe creando l'oggetto che potrò utilizzare nel mio programma/script
    $plLogin = new pl_login();
    //richiamo il metodo dell'oggetto creato passando i corretti parametri di input
    $plLogin->execute($_GET);
    non c'è nei CMS ed è una delle cose che non riesco a capire. Probabilmente è tutto un sistema legato ai nomi delle classi, infatti proprio in prestashop se non segui un preciso schema per il nome della classe non funziona nulla.
    Ma poi è così brutta l'idea? Ho pensato una cosa tanto brutta? Mi sembrava un passaggio normale ecco.

    Grazie

  4. #4
    scusa avevo segnato alcuni link da farti leggere ma mi si è cancellato tutto e ora non ho voglia di rigirare di nuovo tutto google per trovarli.

    1) cerca qualche corso di OOP su google (anche dispense universitarie, ne trovi a bizzeffe)
    2) concetti chiave come MVC, front controller pattern, patterns, namespaces , routing
    3) http://symfony.com/doc/current/creat...ork/index.html è scritta molto bene (anche se usa i componenti di symfony via via che procedi con le lezioni)
    4) tools ormai fondamentali come https://getcomposer.org/
    5) parti da qualcosa di piu semplice, ad esempio una cosa che ha una index che se clicchi sul link A ti mostra la pagina A, se clicchi sul link B ti mostra la pagina B, tutto scritto OOP. Poi passi all'handling dei form e a jquery
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.