begin process at 2010 02 10 02:58:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

Définition des attributs d'une méthode : certaine écriture


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Définition des attributs d'une méthode : certaine écriture

mercredi 24 juin 2009 à 22:57:06 | Définition des attributs d'une méthode : certaine écriture

Shinji49

Bonjour,

Bon je vais tenté d'être clair ! J'ai remarqué ceci en Javascript :
[CODE]
$("#myform").ajaxForm({
    url: "mypage.php",
    type: "POST"
});
[/CODE]

Vous remarquez une certaine forme d'écriture pour définir les attributs de la méthode. Donc moi, je me demande si il était possible de faire la même chose en PHP (ou du moins quelque chose de ressemblant !) ?

Car j'ai vu une méthode en PHP qui passait par les tableaux mais j'aime pas trop :
[CODE]
maFonction(Array('CLE1'=>'VALEUR1','CLE2'=>'VALEUR2'));
[CODE]

Comme vous avez pu le comprendre : je souhaite laisser au programmeur qui utilisera mes fonctions de définir dans l'ordre qu'il le souhaite les attributs de la méthodes et même d'en omettre certains.

Merci de m'éclairer.
mercredi 24 juin 2009 à 23:11:58 | Re : Définition des attributs d'une méthode : certaine écriture

kankrelune

Membre Club
Slt... en fait...

$("#myform").ajaxForm({
    url: "mypage.php",
    type: "POST"
});

correspondrait en php si on imagine que $myForm est un objet, par exemple, d'une classe du même nom...

$myForm = new myForm();
$myForm->ajaxForm((object)array(
    'url' => 'mypage.php',
    'type' => 'POST'
));

Mais la comparaison s'arrête là car coté js tu as un objet ($('#myForm')) qui correspond à un element html ce qui n'existe pas vraiment coté php... .. .

@ tchaOo°
mercredi 24 juin 2009 à 23:21:53 | Re : Définition des attributs d'une méthode : certaine écriture

kankrelune

Membre Club
Après rien ne tempêche de définir comme tu veux les arguments de tes fonctions il y a différentes méthodes...

par exemple...

function test($vars) {
   $opt = array(
       'opt1' => 1,
       'opt2' => 'plop',
       'opt3' => false
   );
   foreach($vars as $k => $v) {
        if(isset($opt[$k]) {
            $opt[$k] = $v;
        }
   }
   var_dump($opt);
}
test(array('opt3' => true));

ou encore...

function test($opt1 = 1, $opt2 = 'plop', $opt3 = false) {
   $opt = array(
       'opt1' => $opt1,
       'opt2' => $opt2,
       'opt3' => $opt3
   );
   var_dump($opt);
}
test(5,'bonjour');

ou encore...

function test() {
    $opt = array();
    $numargs = func_num_args();
    if(!empty($numargs)) {
        $opt = func_get_args();
    }
    var_dump($opt);
}
test(5,'test',true);

etc... etc... .. .

@ tchaOo°
mercredi 24 juin 2009 à 23:23:36 | Re : Définition des attributs d'une méthode : certaine écriture

kankrelune

Membre Club
if(isset($opt[$k]) {

à remplacer par

if(isset($opt[$k])) {

dans le premier exemple... .. .

@ tchaOo°
jeudi 25 juin 2009 à 12:10:34 | Re : Définition des attributs d'une méthode : certaine écriture

Shinji49

Salut,

Merci pour tes messages. Tu a cerné le problème dans le second ! Pile ce que je me demandais ! Mais les deux solutions présentés ne m'enchantait pas ! La première utilise un tableau et je n'avais pas envie de présenter sa sous cette forme. La second est la méthode de base mais sa oblige a renseigner les arguments dans l'ordre... bof bof.

Bref, j'ai trouvé une solution qui vaut ce qu'elle vaut... lol Mais elle répond à mes attentes : on définie les couples arguments=valeurs sous la forme que je souhaitait.

La voici, si ça peut intéresser quelqu'un :
[CODE]
<?php
// Compatibilité : PHP 4+
function convertir_args_vers_tab($args){
    // On extrait chaque couple : argument=valeur.
    preg_match_all('#([[:alnum:]_]{1,}):([[:alnum:]_]{1,});#',$args,$delimite_args,PREG_SET_ORDER);
    // On créé le nouveau tableau.
    $tab_args = Array();
    // On parcours les couples : argument=valeur.
    foreach($delimite_args AS $cle => $valeur){
        // On insère dans le nouveau tableau.
        // De la forme : $tab[CLE] = VALEUR;
        $tab_args[$delimite_args[$cle][1]] = $delimite_args[$cle][2];
    }
    // On affiche le résultat.
    print_r($tab_args);
}

// Play !
convertir_args_vers_tab('name1:id1; name2:id2; name3:id3;');
?>
[/CODE]


Cette discussion est classée dans : code, méthode, écriture, attributs, certaine


Répondre à ce message

Sujets en rapport avec ce message

Un p'tit code simple mais je sais pas comment le faire ! [ par N e x u m ] Salut,je voudrais avoir un simple code SANS MYSQL (Si possible) Qui garde le même design dans chaque pageAdmettons on a un design (Un look, un interfa code simple pour formulaire [ par bernard ] bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit code source keylogger [ par cmasters ] Bonjour tt le mondeEst il possible de creer un keylogger en php ?Si oui serait il possible d'avoir un exemple complet d'1 code sourc? Pour que je puis setInterval de Java en php?? Comme un Timer?? [ par Blondy ] Je cherche une méthode qui fera comme la méthode setInterval en Java mais en php. C'est à dire qui appellera une méthode à tous les x temps... C'est p récupération de code d'une page [ par booth ] bonjour,voilàa je voudrait pouvoir récupérer le code d'une page qui est affichée à l'écran Et là franchement j'ai pô d'idée pour le faire, je ne sais générer des miniatures avec gd 1.6 [ par vegetaline ] muhaha alors là c'est rigolo, un super défi pour les programmeurs fous!ok j'ai le code pour générer des miniatures grâce au php, mais ça marche qu'ave compteur de visites [ par choup ] voilà j'ai repéré sur ce site des compteurs de visite et je cherche celui qui serait le plus simple à mettre en place mais efficace quand même.S'il es pB avec Netscape [ par manueg ] Bonjour à tous, je ne comprends pas pourquoi ce code fonctionne sans pb sous IE alors qu'avec Netscape il ne trouve pas la page que je veux afficher e Peu commun select + transmission de variables [ par bladbud ] Bonjour,Voilà je vous mets de screen si jamais je n'explique mal ici ma premiere page :les boutons "+ " servent aux zones de liste et derrière chaque


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales