Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    php funzione con molti parametri

    Ciao a tutti

    ho una funzione a cui devo passare molti parametri:

    Show-Offers($id = 0, $idp = 0, $idj = 0, $idw = 0, $idz = 0, $data = '', $lang = 'it', $limit = 5, $order = '') {

    }

    Come vedete ho inserito già i valori di default nei parametri.
    Esiste un modo per richiamare la funzione passandogli solo il parametro $limit?

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    no, in questo caso c'è un problema di progettazione dietro...
    una soluzione rapida che mi viene in mente adesso può essere:
    Codice PHP:
    function show($parametri_obbligatori_sempre_per_primi$options = array()) {
            
    $options array_merge(array(
                
    'id' => 0,
                
    'idp' => 0,
                
    'idj ' => 0,
                
    'idw' => false,
                
    'data' => '',
                
    'lang' => 'it',
                
    'limit' => 5,
                
    'order' => '',
            ), 
    $options);

    // lavoro con $options['limit']

    da richiamare con
    Codice PHP:
    show('', array('limit' => 10)); 

  3. #3
    Codice PHP:
    Show-Offers($limit 5$id 0$idp 0$idj 0$idw 0$idz 0$data ''$lang 'it'$order '') {


    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da .Kurt
    no, in questo caso c'è un problema di progettazione dietro...
    una soluzione rapida che mi viene in mente adesso può essere:
    Codice PHP:
    function show($parametri_obbligatori_sempre_per_primi$options = array()) {
            
    $options array_merge(array(
                
    'id' => 0,
                
    'idp' => 0,
                
    'idj ' => 0,
                
    'idw' => false,
                
    'data' => '',
                
    'lang' => 'it',
                
    'limit' => 5,
                
    'order' => '',
            ), 
    $options);

    // lavoro con $options['limit']

    da richiamare con
    Codice PHP:
    show('', array('limit' => 10)); 

    Se devi fare una query nel quale ti servono molti parametri, o passi i parametri o passi l'intera query. Non c'e' molto da progettare.

    Grazie comunque

  5. #5
    Originariamente inviato da satifal
    Codice PHP:
    Show-Offers($limit 5$id 0$idp 0$idj 0$idw 0$idz 0$data ''$lang 'it'$order '') {


    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6

  7. #7
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    ok, la mia funzione potrebbe essere un metodo in una classe, e le mie variabili sarebbero i parametri del metodo. Li passerei così al metodo e alla classe:
    $this->id = 0
    $this->idp = 0

    a parte la differente sintassi tra funzione e classe, in questo caso avrei sempre una query molto complessa a cui passare o meno dei parametri di ricerca.

    ps doctrine non lo conosco.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.