Convention camel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Convention camel

par momox » 26 mars 2008, 15:24

J'y avais pensé mais étant encore un peu nul en regex, j'ai laissé tombé cette idée ;)

par Jules Petibidon » 26 mars 2008, 12:06

Hello,

Sinon, pour la culture vu que ta méthode fonctionne, tu as la solution preg_replace_callback(), qui est parfaitement adaptée à ce que tu veux faire.
$out = preg_replace_callback( '#(_\w)#' , create_function( '$m' , 'return strtoupper($m[0][1]);') , $str );
C'est intéressant de se pencher sur ces fonctions méconnues :)

par Ryle » 26 mars 2008, 11:56

Pour mettre seulement la première lettre d'un mot en capitale : ucfirst()
Ca sera plus propre que ces substr et strtoupper à tout va ;)

Quant au implode(), l'idée était de momox était de changer la valeur directement dans le tableau généré et enstuite reconstruire la chaine, mais ta façon de procéder en concaténant les éléments au fur et à mesure est bonne également :)

par Flashball » 26 mars 2008, 11:07

Je connais mal les fonctions PHP, ce petit exercice était donc un bon entrainement!

Code : Tout sélectionner

function phpStyleToCamel($inString) { $explodeParts = explode('_', $inString); $finalString = $explodeParts[0]; array_shift($explodeParts); foreach ($explodeParts as $aPart) { $finalString = $finalString . strtoupper(substr($aPart, 0, 1)) . substr($aPart, 1); } return $finalString; }
Je n'ai pas trouvé l'intérêt pour implode et str_replace.

Merci pour le mini tuto! :P

par momox » 25 mars 2008, 21:33

La c'est relativement simple comme problème ;)
Tu as une chaine, avec un caractére de séparation, jette un coup d'oeil a explode() ;)
Ensuite, tu as un tableau, tu vas donc faire une boucle et traiter ce tableau élément par élément.
Pour chaque element, tu vas prendre la première lettre et la remplacer par son equivalent majuscule substr(), str_replace() et strtoupper(), et tu vas recomposer la chaine avec implode()
Maintenant, a partir de ca, je te laisse cogiter ;)

Convention camel

par Flashball » 25 mars 2008, 20:53

Bonjour,

Dans la série les petites fonctions bien pratiques, j'aimerais une fonction qui transforme une chaine contenant des underscore '_' en chaine formattée suivant la convention camel.

cette chaine

Code : Tout sélectionner

voici_un_exemple_plus_parlant
deviendrait

Code : Tout sélectionner

voiciUnExemplePlusParlant
Je cherche un truc simple et efficace si possible! :wink:

Merci!