IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

fonction dépréciée, difficulté à modifier le code


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Avatar de Benbout
    Homme Profil pro
    Avide de savoir
    Inscrit en
    Avril 2016
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Avide de savoir

    Informations forums :
    Inscription : Avril 2016
    Messages : 62
    Points : 142
    Points
    142
    Billets dans le blog
    1
    Par défaut fonction dépréciée, difficulté à modifier le code
    Bonjour, je sais que ce qui va suivre va vous paraitre tout con, mais pour moi le php c'est du chinois.

    ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        static public function camelize($id)
        {
            return preg_replace(array(
                                     '/(^|_|-)+(.)/e', '/\.(.)/e'
                                ), array(
                                        "strtoupper('\\2')", "'_'.strtoupper('\\1')"
                                   ), $id);
        }

    est depréciée à cause de la fonction preg_replace et de l'identifieur /e. J'ai bien compris qu'il faudrait la passer en preg_replace_callback mais je n'arrive pas à le faire moi meme, php est un langage que je n'ai jamais utilisé et j'ai vraiment du mal à réadapter le code pour une fonction pourtant si basique. Si une bonne ame voulait bien m'aider, ce serait sympa, merci d'avance.

  2. #2
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Salut,

    à quoi sert la fonction ? Je n'arrive pas à la traduire

  3. #3
    Membre éclairé
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 335
    Points : 715
    Points
    715
    Par défaut
    Bonjour,
    Peut-être en deux temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    return preg_replace_callback(
    	'/\.(.)/',
    	function($ar_){return '_'.strtoupper($ar_[1]);},
    	preg_replace_callback(
    		'/(^|_|-)+(.)/',
    		function($ar_){return strtoupper($ar_[2]);},
    		$id));

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Ce que fait cette fonction est assez mystérieux, elle effectue deux passages sur la chaîne:
    • Au premier passage, elle enlève tout ensemble d'underscores et de signes moins (sauf un signe moins ou un underscore en fin de ligne). Si le caractère suivant est une lettre minuscule, celle-ci est mise en majuscule. Si une lettre minuscule est au début de la chaîne, elle est également passée en majuscule.
    • Au deuxième passage, elle remplace chaque point par un underscore (sauf en fin de ligne) et le caractère suivant est passé en majuscule quand c'est une lettre minuscule. À noté, si plusieurs points se succèdent, seulement un point sur deux sera remplacé.


    Soit cette fonction est archi fausse (ce qui n'est pas impossible), soit elle est bien mal nommée, soit les deux. Donc, avant de faire quoi que ce soit, il faudrait savoir quel est son but, sinon tu t'exposes à perdre ton temps pour reproduire ce qui est potentiellement (probablement?) un ânerie.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    static public function camelize($id)
        {
            return preg_replace_callback(
                array('/(^|_|-)+(.)/', '/\.(.)/'),
                function($match) {
                    if(!empty($match[2])) return strtoupper($match[2]);
                    return '_' . strtoupper($match[1]);
                },
                $id
            );
        }

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,





    En informatique, le CamelCase fait par défaut référence au lowerCamelCase où la première lettre est en minuscule[1]. Le PascalCase fait lui référence à la version commençant par une majuscule.

  7. #7
    Membre habitué
    Avatar de Benbout
    Homme Profil pro
    Avide de savoir
    Inscrit en
    Avril 2016
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Avide de savoir

    Informations forums :
    Inscription : Avril 2016
    Messages : 62
    Points : 142
    Points
    142
    Billets dans le blog
    1
    Par défaut
    Merci à tous pour vos réponses. Merci aussi pour la définition francaise de cette fonction, j'ai cherché partout ce que pouvait dire camelize et en bon francais je traduisais ca par chameliser, qui ne veut strictement rien dire evidemment.

    Encore désolé de vous avoir demandé de le faire à ma place. Je vais tester la nouvelle fonction.

  8. #8
    Membre habitué
    Avatar de Benbout
    Homme Profil pro
    Avide de savoir
    Inscrit en
    Avril 2016
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Avide de savoir

    Informations forums :
    Inscription : Avril 2016
    Messages : 62
    Points : 142
    Points
    142
    Billets dans le blog
    1
    Par défaut
    Parfait, la nouvelle fonction fait le boulot. Encore merci à vous, je me voyais mal payer pour update le framework alors que l'ancien fait le taff comme il faut. (du coup j'ai du réécrire toute les fonctions dépréciés, mais celle ci j'avais vraiment du mal). Salutations chers dev php

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction somme() sans modifier le code
    Par thibaut3111 dans le forum Excel
    Réponses: 13
    Dernier message: 12/07/2016, 16h04
  2. Pb pour modifier un code. Code vérouillé ?
    Par oz80 dans le forum Access
    Réponses: 1
    Dernier message: 03/11/2005, 14h23
  3. [NetBeans] modifier le code
    Par flonardi dans le forum NetBeans
    Réponses: 7
    Dernier message: 28/10/2005, 19h25
  4. CSS comment puis-je modifier mon code pr avoir un bord blanc
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 30/09/2005, 20h19
  5. Modifier le code après la compilation, c'est possible?
    Par marcus333 dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo