Astuces/hack php

Description

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... :-)

Codes Sources

A voir également

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.