Pour gagner du temps ou impressionner les collègues ?
Vous faites du développement depuis des années dans votre langage favori et vous croyez qu'il a fini de vous surprendre ?
Pas si sûr, car tous les langages ont des secrets, des fonctionnalités cachées que vous rencontrez un beau jour sur le code d'un collègue, sur un projet open-source ou même par une malheureuse (ou heureuse?) faute de frappe.
En PHP par exemple, savez-vous qu'il est possible d'appeler « Echo » avec plusieurs paramètres et faire, en quelque sorte de la concaténation avec une virgule ?
| Code : | Sélectionner tout |
1 2 | echo 'John', 'Doe'; |
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $Bar = "a"; $Foo = "Bar"; $World = "Foo"; $Hello = "World"; $a = "Hello"; $a; // retourne Hello $$a; // retourne World $$$a; // retourne Foo $$$$a; // retourne Bar $$$$$a; // retourne a $$$$$$a; // retourne Hello $$$$$$$a; // retourne World ?> |
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$foo = 'bar';
$bar = 'foobar';
function bar() {
echo 'Hello world!';
}
function foobar() {
echo 'Quelle belle journée';
}
$foo(); // Affiche Hello world!
$$foo(); // Affiche Quelle belle journée! |
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | $person = array(); $person['nom'] = 'John Doe'; $person['age'] = 42; // devient $person = new stdClass(); $person->nom = 'bob'; $person->age = 5; |
| Code : | Sélectionner tout |
1 2 3 4 |
$obj = (object)array('nom' => 'bob', 'age' => 5);
echo $obj->nom; |
PHP a la solution, la routine __autoload() permet d'exécuter du code à chaque instanciation, ce qui permet entre autre, d'inclure le fichier de la classe en question :
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php
error_reporting(E_ALL);
set_include_path(get_include_path() . PATH_SEPARATOR . '../libs/');
function __autoload($classname) {
// chaque classe est stockée dans un fichier unique dans le dossier libs "libs/{$classname}.class.php"
echo $classname;
include_once $classname . '.class.php';
}
$a = new model();
?> |
Vous en connaissez certainement dans votre langage de prédilection. Alors n'hésitez pas ; faites en nous part.
Car rappelez-vous qu'un secret est, comme dit l'expression, « une chose que l'on ne répète qu'à une seule personne ».
Et vous ?
Quelles sont les astuces et secrets de développement favoris ? Dans quel contexte vous en servez-vous ? Comment avez-vous découvert ce secret ?En collaboration avec Gordon Fowler
Vous avez lu gratuitement 10 007 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

?
?