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 3 256 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.

?
?