Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour tout le monde,
Aujourd'hui je viens simplement vous présenter ma manière de coder et comment je fais pour gagner du temps.
Cet exemple est valable pour coder mais sûrement pour d'autres taches de votre quotidien informatique.
Lorsque j'ai besoin d'écrire des lignes de codes qui se répètent je prend le temps de faire un mini script qui va me générer les lignes de codes plutôt que de les taper à la main, pour exemple je ne rédige plus mes requêtes SQL basiques à la main mais je les génère automatiquement en collant la liste de mes colonnes et un petit tools me sort toutes les requêtes que j'utilise le plus souvent.
Pour autre exemple, je viens de faire un formulaire où j'avais besoin d'insérer un input de type <select> contenant toutes les heures de la journée, pour ça nous avons besoin de 24 lignes de code en HTML et 1 seule ligne de code en PHP qui va nous générer les options que l'on aura juste à copier/coller et c'est encore plus intéressant en sachant que je pourrai ré-utiliser le script.
Voilà le petit code pour les curieux :
for($i=0;$i<24;$i++) echo htmlentities(str_replace('{i}',$i,'<option value="{i}">{i}:00</option>')).'<br>';
Et voilà le résultat en sortie :
Si vous aussi vous avez des petits tricks n'hésitez pas
Julien,
🔴 Hors ligne
Bonne idée ce thread!
Si je peux me permettre, htmlentities ne sert à rien à priori et au niveau de la logique faire du remplacement pour de l'affichage c'est se compliquer les choses ^^
entre des <option> on ne met pas de <br />, je suppose que tu voulais faire un retour chariot pluôt
Tu peux simplifier comme ça :
Qqes fonctions que j'ai sous la main là qui pourront peut etre te servir :
/**
* @desc Transforme les lettres accentuees en lettre non accentuees
*
* @param string $string chaines a traiter
*
* @return mixed false|string chaine traitee
*/
function SuppAccents($string='')
{
if(empty($string))
{
return false;
}
$string = strtr($string,
'à áâãäçèéêëìÃîïñòóôõöùúûüýÿÀÃÂÃÄÇÈÉÊËÌÃÃŽÃÑÒÓÔÕÖÙÚÛÜÃ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
return $string;
}
/**
* @desc Supprime l'uri pour ne garder que le domaine / ss domaine racine
* @param string $sURl URL
*
* @return mix false|string retourne false si erreur ou l'url modifiee
*/
function DelURI($sURl='')
{
if(empty($sURl))
{
return false;
}
if(strpos($sURl, '/')!=false)
{
return strstr($sURl, '/', true);
}
else
{
return $sURl;
}
}
/**
* @desc si la chaine commence par http ou https, elle la transforme en lien HTML
*
* @param string $sURl prefixe prefiwe les URL si renseigné (pour ne pas faire de liens directs)
* @param string $sURl URL
*
* @return boo|string url modifiee
*/
function UrlAuto($sPrefixe='', $sURl='')
{
if(empty($sURl))
{
return false;
}
if (preg_match("#^https#i", $sURl))
{
$sBuffer= str_replace('https://', '<a href="'.$sPrefixe.''.$sURl.'">https://', $sURl);
$sBuffer.='</a>';
}
elseif (preg_match("#^http#i", $sURl))
{
$sBuffer= str_replace('http://', '<a href="'.$sPrefixe.''.$sURl.'">http://', $sURl);
$sBuffer.='</a>';
}
else
{
$sBuffer = $sURl;
}
return $sBuffer;
}
Jérôme - Générer des revenus avec les NDD expirés (formation) | Blog perso jeromeweb.net
🔴 Hors ligne
Yep bonne idée,
Toujours dans le même esprit pour ceux qui ne connaissent pas Emmet est super pratique : http://emmet.io/ dispo sur les principaux éditeurs.
🔴 Hors ligne
Tu peux simplifier comme ça :
for($i=0;$i<24;$i++){echo "<option value=\"$i\">$i:00</option>\n";}
Bonjour,
Merci pour le partage des fonctions
J'ai testé la fonction simplifiée en local et sur un serveur et j'obtiens le résultat suivant :
Après pour du jetable, Excel c'est bien aussi ;-)
Dernière modification par mbouchaud (2015-12-29 09:02:54)
🔴 Hors ligne
J'ai testé la fonction simplifiée en local et sur un serveur et j'obtiens le résultat suivant :
C'est normal car c'est juste la partie dynamique qui est gerée là
il faut que tu entoures ça de balises <select> & </select> pour avoir une liste déroulante (c'est du HTML)
Jérôme - Générer des revenus avec les NDD expirés (formation) | Blog perso jeromeweb.net
🔴 Hors ligne
Hello,
Tu as en effet raison sur le principe qu remplacer et une perte de temps.
Mon but n'est pas de générer le code à chaque fois en PHP mais bien de générer quelque chose que je peux copier d'ou le htmlentities pour ne pas interpréter le code
Merci pour ton code et merci Mitsu pour le site je vais jeter un oeil !
@mbouchaud : tu obtiens ça car il manque le htmlentities justement et pas mal je connaissais pas cette fonction sous excel !
Julien,
🔴 Hors ligne
Moi j'utilise d'autres techniques quand je dois générer du code (parfois même du PHP ou du SQL) : un dév. perso en VB.Net (nb : possible avec effiSpin ;-) si vous réfléchissez bien)
La technique :
- définir un préfixe et un suffixe de code
- définir le schéma de code à répéter, et mapper sur ma base de données en intégrant les champs là où ils doivent être
==> je peux générer par exemple le code PHP pour insérer x catégories hiérarchiques dans un blog Wordpress ou bien comme ça m'est arrivé dans le passé, un script batch pour des opérations de maintenance sur des serveurs...
effiSpin, c'est moi ;-)
🔴 Hors ligne
Pour générer du code à partir d'une liste, la plupart des bons éditeurs de texte/code peuvent enregistrer des macros ce qui simplifie vraiment la vie lorsqu'on sait bien utiliser son éditeur.
On commence par créer une macro et après on a plus qu'à exécuter la macro sur chaque élément de la liste.
Exemple :
Enregistrer une macro qui fait cela :
Ensuite, on a plus qu'à exécuter la macro sur toutes les lignes du fichier.
Vu que beaucoup de personnes utilisent Notepad++, voici l'explication pour ce logiciel : http://nliautaud.fr/wiki/articles/notepadpp/macros
Perso j'utilise vim et c'est la commande "Q". Référez-vous à la documentation de votre éditeur de code pour en savoir plus...
Au bout d'un moment on commence à avoir une "bibliothèque" de macro pour tout et n'importe quoi et cela accélère grandement le travail
🔴 Hors ligne
Pages :: 1