Visualizzazione dei risultati da 1 a 8 su 8

Discussione: semplificazione codice

  1. #1

    semplificazione codice

    Salve a tutti sto facendo un mini framework mvc ora per facilitare l'uso e aumentare la leggibilita' del codice vorrei poter trovare qualche sitema per semplificare le chiamate, mi spiego meglio.

    Nelle classi ho delle chiamate del tipo

    $motore->get(qualcosa)->unrisultato;
    $motore->set(chiave,valore);

    vorrei poter semplificare facendo
    $qualcosa->unrisultato;
    $chiave->valore;

    magari con una classe principale che poi viene estesa a tutte le classi del sito, oppure con altro sistema

    Non so se sono stato chiaro e se qualcuno puo aiutarmi

  2. #2
    ma che vuol dire "get(qualcosa)->unrisultato" ? unrisultato è una valore di ritorno di una function o una property dell'oggetto?

    cmq puoi creare chiamate a funzioni inesistenti con i Magic Methods , nello specifico il metodo __call... che ne so puoi fare che invece di scrivere:

    Codice PHP:

    myObject
    ->get('ChildObject')->childProperty 
    fai, che so,

    Codice PHP:

    myObject
    ->getChildObjectChildProperty() 
    o che ne so che risultato vuoi ottenere...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Allora vediamo se riesco ad essere piu chiaro
    1) $motore->set(nomeclasse,istanzaclasse);

    2)$motore->get(nomeclasse)->metodoclasse();

    dovrebbe essere

    1)$nomeclasse->$istanzaclasse

    2)$nomeclasse->metodoclasse()

    Spero di essere stato piu chiaro

  4. #4
    Originariamente inviato da kappaekappa
    Allora vediamo se riesco ad essere piu chiaro
    1) $motore->set(nomeclasse,istanzaclasse);

    2)$motore->get(nomeclasse)->metodoclasse();

    dovrebbe essere

    1)$nomeclasse->$istanzaclasse

    2)$nomeclasse->metodoclasse()

    Spero di essere stato piu chiaro
    no....
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    bene

    Allora uso un classe pattern per registrare le classi e sarebbe $motore
    quindi uso
    $motore->set('nomeclasse',$istanzaclasse);
    per registrare la classe, per semplificare vorrei poter fare

    $nomeclasse->$istanzaclasse

    Invece per richiamare la classe uso

    $motore->get('nomeclasse')->metodoclasse();

    e vorrei invece usare

    $nomeclasse->metodoclasse()

    Spero di esserci riuscito

  6. #6
    Originariamente inviato da kappaekappa
    bene

    Allora uso un classe pattern per registrare le classi e sarebbe $motore
    quindi uso
    $motore->set('nomeclasse',$istanzaclasse);
    per registrare la classe, per semplificare vorrei poter fare

    $nomeclasse->$istanzaclasse

    Invece per richiamare la classe uso

    $motore->get('nomeclasse')->metodoclasse();

    e vorrei invece usare

    $nomeclasse->metodoclasse()

    Spero di esserci riuscito
    ho capito, nel senso tu fai una cosa del tipo:

    Codice PHP:


    Application
    ::registry('DB', new DbConnection()); 
    e poi da qualche altra parte nel codice/class/quant'altro vorresti fare:

    Codice PHP:

    $DB
    ->open() 
    ??

    E' una zozzata da php 1.0... Al limite, quando vuoi usare DB, puoi fare:

    Codice PHP:

    Application
    ::get('DB')->open();

    //oppure, se application non è statica

    $application->DB->open(); 
    usando, per il secondo caso, i magic method __get e __set
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    E' una zozzata da php 1.0
    con questo vuoi dire che il mio approccio e' sbagliato?
    Sono aperto a suggerimenti.
    Per quanto riguarda __get e __set non ho ben capito il funzionamento
    Grazie per la pazienza

  8. #8
    Originariamente inviato da kappaekappa
    con questo vuoi dire che il mio approccio e' sbagliato?
    Sono aperto a suggerimenti.
    Per quanto riguarda __get e __set non ho ben capito il funzionamento
    Grazie per la pazienza
    ti ho già esposto il suggerimento
    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.