Fonction PHP paramètres

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Janvier 30th, 2010, 6:02 pm

Ive a travaillé sur un problème tout l'après midi, et je n'arrivais pas à savoir ce qui se passait. Mes résultats de la requête étaient toujours retourner la première colonne de mes tables et rien de plus. J'ai finalement descided à regarder dans la classe de base de données qui a été utilisé et trouvé une partie intéressante de code.

PHP Code: [ Select ]
/**
    * Not sure why this is here either.
    *
    * @param string $query
    * @param boolean $cache Use Memcache
    * @param int $ttl Memcached's expiration time in seconds
    */
    public function customQuery ( $query , $cache = false , $ttl = 300 )
    {
        return $this -> query ( $query , $cache , $ttl );
    }
///
 
 /**
    * Queries the database for a mysql result set link or the processed result set.
    *
    * @param string $query The query to execute
    * @param string $method The method to fetch the result set link with
    * @param boolean $multiple If there are multiple rows to be fetched
    * @param boolean $cache Use Memcache
    * @param int $ttl Memcached's expiration time in seconds
    *
    * @return mixed The mysql result set link or the processed result set, depending on weather or not $method was passed.
    */
    public function query ( $query , $method = false , $multiple = false , $cache = false , $ttl = 300 )
    {
         /// Trimmed
}
 
  1. /**
  2.     * Not sure why this is here either.
  3.     *
  4.     * @param string $query
  5.     * @param boolean $cache Use Memcache
  6.     * @param int $ttl Memcached's expiration time in seconds
  7.     */
  8.     public function customQuery ( $query , $cache = false , $ttl = 300 )
  9.     {
  10.         return $this -> query ( $query , $cache , $ttl );
  11.     }
  12. ///
  13.  
  14.  /**
  15.     * Queries the database for a mysql result set link or the processed result set.
  16.     *
  17.     * @param string $query The query to execute
  18.     * @param string $method The method to fetch the result set link with
  19.     * @param boolean $multiple If there are multiple rows to be fetched
  20.     * @param boolean $cache Use Memcache
  21.     * @param int $ttl Memcached's expiration time in seconds
  22.     *
  23.     * @return mixed The mysql result set link or the processed result set, depending on weather or not $method was passed.
  24.     */
  25.     public function query ( $query , $method = false , $multiple = false , $cache = false , $ttl = 300 )
  26.     {
  27.          /// Trimmed
  28. }
  29.  


Pour autant que je suis conscient que vous pouvez pas le faire en PHP. Elle ne se soucie pas ce nom que vous donnez une variable, les paramètres sont toujours assignées dans l'ordre. Ai-je raison sur tel ou ai-je manqué quelque chose de toutes ces années.
#define NULL (::rand() % 2)
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Janvier 30th, 2010, 6:02 pm

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Janvier 30th, 2010, 6:23 pm

Thats the way Ive toujours compris.

PHP Code: [ Select ]
<?php
 
class test
{
        function second($one = 1, $three = 3, $five = 5)
        {
                $this->first($one, $three, $five);
        }
 
        function first($one = 1, $two = 2, $three = 3, $four = 4, $five = 5)
        {
                echo "\n" . print_r(func_get_args(), true) . "\n";
        }
}
 
$obj = new test();
$obj->second();
 
?>
  1. <?php
  2.  
  3. class test
  4. {
  5.         function second($one = 1, $three = 3, $five = 5)
  6.         {
  7.                 $this->first($one, $three, $five);
  8.         }
  9.  
  10.         function first($one = 1, $two = 2, $three = 3, $four = 4, $five = 5)
  11.         {
  12.                 echo "\n" . print_r(func_get_args(), true) . "\n";
  13.         }
  14. }
  15.  
  16. $obj = new test();
  17. $obj->second();
  18.  
  19. ?>


Code: [ Select ]
Array
(
  [0] => 1
  [1] => 3
  [2] => 5
)
  1. Array
  2. (
  3.   [0] => 1
  4.   [1] => 3
  5.   [2] => 5
  6. )
Strong with this one, the sudo is.
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6129
  • Loc: Seattle, WA
  • Status: Online

Message Janvier 31st, 2010, 2:54 pm

Im pas sûr de comprendre ce que vous demandez ici :scratchhead:
The Beer Monocle. Classy.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Janvier 31st, 2010, 3:04 pm

Mot-clé des arguments comme en python. Avis Youll dans le code ci-dessus que le $ TTL 300 est d'être affecté à $ multiples.
#define NULL (::rand() % 2)
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6129
  • Loc: Seattle, WA
  • Status: Online

Message Janvier 31st, 2010, 8:31 pm

Elles sont attribuées par décret, pas le nom.
The Beer Monocle. Classy.
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Janvier 31st, 2010, 8:48 pm

Ce serait cool si vous pouviez namespace arguments passés, quelque chose comme ça.

Code: [ Select ]
function method($one = 1, $two = 2) {}

method(two:"alternate value");
  1. function method($one = 1, $two = 2) {}
  2. method(two:"alternate value");


Puis, un dollars utiliser la valeur par défaut.
Strong with this one, the sudo is.
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6129
  • Loc: Seattle, WA
  • Status: Online

Message Janvier 31st, 2010, 9:46 pm

Permettez-moi de vous présenter deux.

Python, Jobert . Jobert, Python . Ill ailier jouer avec PHP tout en vous deux, apprendre à se connaître mutuellement.
The Beer Monocle. Classy.

Afficher de l'information

  • Total des messages de ce sujet: 7 messages
  • Utilisateurs parcourant ce forum: demonmaestro et 209 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC