Injection de dépendances et currying

Je travaille en ce moment sur un port d'essence en JavaScript, qui me sert de sandbox pour mieux comprendre la programmation fonctionnelle. Comme pour la librairie originale, je voulais conserver la possibilité de tout configurer par injection de dépendances.

La première idée qui m'est venue est d'utiliser des factory functions, de cette manière :

function fetchUserFactory(fetch) {
  return function fetchUser(id) {
    return fetch('http://example.com/api/users/' + id);
  };
}
Lire la suite

De bons défauts

Il est courant qu'une fonction puisse retourner une valeur par défaut.

Par exemple, imaginez une méthode qui fouille dans les données d'un objet pour retourner une partie de ces données. Si cette méthode ne trouve pas ce qu'elle cherche, on choisira en général entre 2 options : lancer une exception ou retourner une valeur par défaut.

Le traitement d'exception pouvant se révéler un peu lourd à gérer, particulièrement sur des méthodes souvent utilisées, on préférera la plupart du temps retourner une valeur par défaut.

class Collection {

	protected $_data = array( );

	public function getData( $key ) {
		if ( isset( $this->_data[ $key ])) {
			return $this->_data[ $key ];
		}
		return false;
	}
}
Lire la suite

Gérer vos URL avec CakePHP

Entre les contrôleurs et les vues, il est parfois un peu difficile, voire pénible, de maintenir les différents liens de vos applications. Si ils sont tous codés "en dur", ils chargent le code inutilement et doivent être modifiés un par un si une règle de routage est changée.

Pour mieux s'y retrouver, je vous propose une petite astuce qui vous fera sûrement gagner du temps, et vous évidera bien des emmerdements.

Lire la suite

Récupérer une page web en PHP

Il est souvent utile de récupérer une page web en PHP, par exemple lors d'un appel à une API.

Le moyen le plus répandu de le faire est d'utiliser la librairie CURL, mais même pour une simple requête GET, elle doit être initialisée et configurée.

Voici ce que l'on pourrait faire pour récupérer une page :

// initialisation
$resource = curl_init( );

// configuration
curl_setopt( $resource, CURLOPT_URL, 'http://www.toto.fr/page' );
curl_setopt( $resource, CURLOPT_RETURNTRANSFER, true );

// récupération du fichier
$page = curl_exec( $resource );

// libération de la ressource
curl_close( $resource );
Un peu lourd, non ?

Heureusement pour nous, PHP propose nativement une autre fonctionnalité encore peu connue : les flux.

Lire la suite

Retour utilisateur avec Ajax et JQuery

Une des choses les plus importantes quand on utilise Ajax est de donner un retour à l'utilisateur. Il doit savoir à tout moment si un traitement est en cours, si il peut accéder à telle ou telle partie du site.

Au minimum, on a toujours besoin d'indiquer qu'on est en train de traiter des données. L'exemple le plus célèbre est sûrement le .gif de Facebook, vous savez, les 3 petites barres bleues ?

Le problème avec l'utilisation d'une image, c'est qu'il est nécessaire d'ajouter du code pour l'afficher. Alors si comme moi vous souhaitez simplement donner un retour à vos visiteurs le plus simplement du monde voici une petite astuce 😉

Lire la suite

Utilisez à fond votre adresse gmail !

Cet article sera très court car il n'y a pas grand chose à dire, mais croyez-moi ça peut vous être très utile !

Je vais donc vous parler de gmail. Mais pas des différentes "extensions", de l'interface, etc, mais bien de votre adresse. Pour la suite, on va dire que je possède un compte toto@gmail.com.

Lire la suite

Boostez votre créativité !

La créativité est un terme très à la mode en ce moment. Tout le monde veut être créatif, plus créatif, et rassurez-vous tout le monde le peut ! Il suffit de s'en donner les moyens.

Cet article sera une sorte de traduction de cette vidéo, déjà postée sur mon blog. John Cleese, un des grands de l'humour, notamment membre des Monty Python, y explique sa vision de la créativité, et comment il en repousse les limites.

Lire la suite

Optimisez vos affichages avec echo

Attention ! Cet article s'adresse aux plus tatillons d'entre vous ! Je vais traiter ici d'une petite astuce pour optimiser l'utilisation de l'instruction echo en Php. Cette astuce consiste à rendre plus rapide l'affichage de chaînes concaténées en utilisant une syntaxe alternative. Si je vous ai prévenu que cela s'adressait aux optimisateurs fous, c'est qu'elle prendra une importance raisonnable sur un site à gros trafic par exemple, ou si vous affichez beaucoup de chaînes concaténées.

Si vous ne pensez pas faire partie de ces personnes, rien ne vous interdit de lire la suite pour votre culture ;).

Lire la suite