var Phenix = function () {
Troll du Web depuis 1996

Syntaxe Horror

il y a le beau code, il y a le code moche. Et ici, c’est le code moche qui était anciennement sur SyntaxeHorror.com. Comme le site n’a jamais fonctionné, je continue ici pour le plaisir :)

Quand tu n’as pas comprit le principe des clés primaire en AUTO_INCREMENT

J’ai trouvé ceci dans le code d’un plugin Joomla.
Je ne comprenais pas pourquoi j’avais une erreur de clé primaire dupliquée. Voilà pourquoi :

  1. $db->setQuery("SELECT MAX(  `extension_id` ) as id FROM  `#__extensions` WHERE  `type` =  \"plugin\" AND (`extension_id` > 8000 AND `extension_id` < 10000)");
  2. $id = $db->loadResult();
  3. if (empty($id) or $id='') $id = 9998;
  4. $id = $id + 1;
  5. // Enable mod_
  6. $db->setQuery("INSERT INTO #__extensions (extension_id, name, type, element, folder, enabled, access, protected, manifest_cache, params)
  7. VALUES (".((int)$id).", '******', 'plugin', 'cp', 'system', 1, 1, 1, '{\"name\":\"******\",\"type\":\"plugin\",\"creationDate\":\"December 2006\",\"author\":\"*******\",\"copyright\":\"**********\",\"authorEmail\":\"********\",\"authorUrl\":\"*******\",\"version\":\"3.0.0\",\"description\":\"*******_COPYRIGHT_DESCRIPTION\",\"group\":\"\"}', '{}')");
  8. $db->query();

Visiblement, le concept de clé primaire en AUTO_INCREMENT est - j’espère plutôt « était » - inconnu du créateur de ce plugin.


Formidablement illisible...

J’ai trouvé ce bout de code dans le plugin formidable de SPIP, je cherchais un moyen d’exporter les réponses d’un formulaire.

Franchement comment savoir ce que contient $exporter ? Ça pourrait être n’importe quoi...
Je suis pas toujours super chaud pour mettre des fonctions dans des variables. S’il est possible de faire une structure de if ... else, je pense que c’est plus souhaitable. Bien sur, il y a beaucoup de cas ou c’est très pratique, mais ici, j’ai comme un doute.

  1. <?php
  2. if ($id_formulaire > 0
  3.         and $type_export
  4.         and $types_echange = echanges_formulaire_lister_disponibles()
  5.         and $exporter = $types_echange['exporter'][$type_export]
  6. ){
  7.         $exporter($id_formulaire);
  8. }