Aujourd'hui, j'ai décidé de détourner un peu le principe des codes de phpcs.
Pour les plus vieux d'entre vous qui ont connu Hebdogiciel (faut vraiment être un vieux croulant, ceci dit :-)), je ne sais pas si vous vous souvenez de la rubrique "deuxlignes" ?
Je reprends vaguement ce principe ici.
En fait, ce post a pour but de regrouper des astuces/hack en php. Pas forcément sur deux lignes...juste des contournements de php, ou des trucs simples auxquels on ne pense pas et qui peuvent être utiles...voire inutiles :-)
Bien entendu, je ne l'alimenterai pas tout seul : je propose donc à ceux intéressés de m'envoyer par MP LEURS astuces (et si elles sont trop longues pour déposer par MP, qu'ils m'écrivent quand même, je leur filerai mon adresse mail).
Je n'utilise pas Codyx pour ça parce que ça ferait beaucoup, ça ne permettrait pas le regroupement, et que beaucoup des astuces seront sans doute destinées à PHP uniquement.
Pour ouvrir le bal, je vous propose 3 astuces différentes :
1 purement php, un hack, pouvant s'avérer très utile
1 purement php, une simple utilisation d'une spécificité de PHP, et qui ne sert à rien...
1 absolument pas purement php, mais qui montre une autre façon de faire ce que beaucoup font déjà...différemment, donc!
je ne sais pas si ce post aura du succès...mais j'attends vos contributions si vous en avez envie! Et je pense que l'on pourrait y voir des choses intéressantes, et qui aident vraiment (ça reste quand même le but), ou des choses étranges...:-)
Je ne mettrai pas les sources de toutes les astuces, mais de certaines seulement (pour l'instant, les 3 miennes). Et je crée un zip avec un script par astuce.
Source / Exemple :
<?php
/**
class foo {
private $bar = 'test';
}
$foo = new foo;
$a = (array)$foo;
echo $a["\0foo\0bar"];
?>
<?php
/**
- Transformer PHP en un langage purement objet :-)
- @author : Johan Barbier (aka Malalam)
- /
class php {
public function __call($sFunction, $aArgs) {
if(function_exists($sFunction)) {
return call_user_func_array($sFunction, $aArgs);
}
throw new Exception('Function '.$sFunction.' has not been found');
}
}
$php = new php;
$php->phpinfo();
?>
<?php
/**
- Une alternative au modulo pour repérér les entiers pairs et impairs
- @author : Johan Barbier (aka Malalam)
- /
for($i = 1; $i < 11; $i++) {
echo $i, (($i & 1) === 0) ? ' est pair': ' est impair', '<br />';
}
?>
Conclusion :
A vos claviers... :-)
Les heures passées à taper des lignes de codes. L'ordinateur qu'on étaignait jamais car on avait pas de moyen de sauvegarde.
Et pis y'avait les dessins d'Edika partout. Le justicier, l'escargot qui arrivait toujours en retard, et qui s'exclamait "Merde, trop tard !" en découvrant le massacre qu'il n'avait pas pu empêcher.
Le TO7, bah je l'ai encore, il est dans un carton. Il ne doit plus fonctionner, les condensateurs ont dû sécher. J'ai aussi l'Apple IIc, l'Atari 1040st, le Mac IIci, le Quadra 650, le Powermac 5300... Après je suis passé au PC, je ne les ais pas gardés, c'est moins collector.
'tain, j'ai créé un "old guys revival" avec mon allusion à l'Hebdo...on se croirait dans le retour des morts vivants ;-)
Bref...ravi! J'ai adoré, j'adore toujours, je dois mon penchant pour l'humour noir, grinçant et politiquement incorrect, ainsi que mon taf, à ce canard...ce sont de très très bons souvenirs, cette impatience chaque semaine, et ces vendredi où je me pointais au tabac pour acheter mon mag adoré...:-)
Pour répondre en vrac : pour des astuces, écrivez-moi en MP. Si c'est trop long...écrivez moi quand même en MP :-) je vous y filerai mon email. Je n'ai guère de temps d'ici mi janvier, donc faudra être patient, ceci dit.
Ouai, la playmate...y en avait une (de temps en temps), et la page de BD, les deulignes, les codes, les tests, les annonces à la con, l'édito...! Pi Carali!
Rhââââ :-)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.