php - CoolCoyote.net

Archive pour le mot-clef ‘php’

Installation de Composer sous Linux et Windows

mardi 25 septembre 2012

Informations tirées des blogs :

Installation sous Linux

Utiliser la commande

> curl -s https://getcomposer.org/installer | php

Ou alors si curl n’est pas installé :

> php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

Idéalement, on va déplacer ensuite le fichier composer.phar dans /user/local/bin pour pouvoir y accéder de façon globale sur le système:

> mv composer.phar /usr/local/bin/composer

Désormais si l’on fait un :

> composer --version

On doit avoir un résultat du type:

Composer version 6bd7ca0

Si on veut installer directement composer dans le répertoire /usr/local/bin :

> curl -s https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin

Installation sous Windows

Nous n’avons pas de commande curl, donc nous allons utiliser la deuxième méthode. Je pars du principe que nous utilisons WAMP sous Windows 7, que nous avons une installation avec les répertoires par défaut, que la version de PHP est la 5.3.13 et que vous savez utiliser la console de commandes Windows.

Tout d’abord, ouvre le fichier php.ini qui se trouve dans le répertoire c:\wamp\bin\php\php5.3.13 et assurez-vous que la ligne

extension=php_openssl.dll

est décommentée (supprimez le point virgule au début de la ligne). Assurez vous également d’ajouter le chemin c:\wamp\bin\php\php5.3.13 à la variable Path de votre système, cela permettra d’utiliser la commande php n’importe où.

Pour cela, Menu Démarrer / Panneau de configuration / Système et Sécurité / Système / Paramètres système avancés. Cliquez sur le bouton « Variables d’environnement », cherchez la variable Path dans la première fenêtre et double cliquez dessus. A la fin de la ligne rajoutez :

;c:\wamp\bin\php\php5.3.13

N’oubliez pas le point-virgule ! Validez et fermez tout.

Ouvrez maintenant une console et lancez la commande :

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

Un message devrait vous indiquer que l’installation s’est bien passée. La problématique sous Windows est que contrairement à Linux, on ne va pas pouvoir utiliser directement la commande composer et qu’il faudra installer une copie de composer.phar dans chaque répertoire de projet. Il est possible d’améliorer cela en bidouillant un peu 🙂

Commencez par déplacer composer.phar dans le répertoire c:\wamp\bin\php\php5.3.13

Toujours dans ce répertoire, créez le fichier composer.bat que vous allez ouvrir avec un éditeur de texte (le bloc notes fera l’affaire). Saisissez les commandes suivantes :

@echo off
php c:\wamp\bin\php\php5.3.13\composer.phar %*

Et sauvegardez (évidemment personnalisez si vos répertoires ne sont pas les mêmes).

Ouvrez à nouveau une console et tapez

composer --version

Normalement, tout devrait fonctionner. Désormais vous pouvez utiliser composer comme sous Linux ! Une simple mise à jour de composer.phar dans le répertoire /usr/local/bin ou c:\wamp\bin\php\php5.3.13\ vous permettra de profiter de cette nouvelle version partout

L’opérateur + sur les tableaux en PHP

vendredi 25 mai 2012

Dans cet article nous allons nous pencher sur l’opérateur + et sur son action sur les tableaux en PHP.

Dans le cas des tableaux, le + représentera une union et non pas une addition aveugle de deux tableaux.

Prenons le cas le plus simple, l’union de tableaux associatifs:

1
2
3
4
5
6
7
8
9
10
11
<?php
$array1 = array(
    'cle1' => 'bleu',
    'cle2' => 'blanc',
);
 
$array2 = array(
    'cle3' => 'rouge',
);
 
print_r($array1 + $array2);

Le résultat de ce code :

Array
(
    [cle1] => bleu
    [cle2] => blanc
    [cle3] => rouge
)

Jusque là, aucun problème, les deux tableaux ont fusionné et le tableau $array2 a été ajouté à la suite de $array1. Prenons maintenant un premier cas particulier : les deux tableaux ont une clé en commun :

Lire le reste de cet article »

Installer Eclipse et PDT séparément sur Windows

dimanche 7 novembre 2010

Si vous ne voulez pas utiliser Eclipse uniquement pour faire du PHP, mieux vaut installer la version classique d’Eclipse, puis d’installer PDT (PHP Development Tool) séparément.

En ce qui me concerne j’ai commencé par télécharger la version « Classic » d’Eclipse que l’on peut trouver sur cette page. A l’heure où j’écris ces lignes il s’agit de Eclipse Classic 3.6.1. Téléchargez le zip en fonction de votre système (32 ou 64 bits). Dézippez ensuite votre fichier dans le répertoire Program Files. Vous obtenez un répertoire eclipse. Entre-y et faites un raccourcit de eclipse.exe vers le bureau par exemple.

Lire le reste de cet article »

Portée des fonctions

jeudi 17 juin 2010

La dernière fois, je me posais la question de savoir comment Symfony faisait pour proposer dans ses vues des fonctions telles que __() (les helpers) puisque je pensais que la seule solution de rendre une fonction utilisateur locale à une méthode de classe était de la déclarer directement dans la méthode et que je n’ai trouvé aucun moyen de transmettre cette fonction à cette méthode (comme cela se passe pour les variables). Et pour cause, on n’en n’a pas besoin!

Lire le reste de cet article »

Les composants de Doctrine – Le composant Table

lundi 14 juin 2010

Maintenant que nous avons initialisé Doctrine (vois l’article sur l’introduction à Doctrine), nous allons pouvoir commencer à l’utiliser.

Comme nous l’avons dit, avec Doctrine tout est objet. Nous aurons donc accès à des classes qui vont nous permettre de travailler les données. On appelle ça des composants. Doctrine fournit plusieurs composants. En voici trois essentiels :

  • Le composant Record qui représente un enregistrement d’une table
  • Le composant Collection qui représente un ensemble de Record
  • Le composant Table qui représente notre table et nous permettra d’accéder aux composants Collection et Record

Dans cet article nous allons étudier le composant Table.  Il permet comme son nom l’indique d’accéder à une table de notre base de données et d’interagir avec elle. Pour cela il nous faut une instance de la classe représentant notre table :

1
2
3
<?php
require_once('bootstrap.php');
$table = Doctrine_Core::getTable('Produits');

Lire le reste de cet article »

Installation de APC sous Debian

lundi 7 juin 2010

APC est un cache d’OPCodes pour PHP (version inférieure à 5.5). Il permet de mettre en cache au niveau serveur le code de PHP précompilé afin de ne pas refaire ce traitement.

Vous trouverez plus d’informations dans l’article de Julien Pauli sur developpez.com.

Ici il s’agit de voir comment l’installer sous Debian. Très facile finalement, il existe un paquet pour ça:

> apt-get install php-apc

Il faudra bien sûr redémarrer Apache.

Par défaut, le fichier permettant le monitoring du cache est situé dans /usr/share/doc/php-apc et s’appelle apc.php.gz. Il faudra donc le décompresser:

> gzip -d apc-php.gz

Il vous suffit de déplacer ce fichier où bon vous semble.

Si vous installez le package à partir de dotdeb, le fichier de monitoring ne sera pas présent. Dans ce cas, grâce à un phpinfo(), récupérez la version d’apc installée puis rendez vous sur http://pecl.php.net/package/apc

Choisissez votre version d’APC, localisez apc.php et téléchargez le.

A noter que le fichier de config d’APC se situe dans:

/etc/php5/conf.d/apc.ini

Vous pourrez trouver toutes les directives de configuration dans la documentation sur php.net, notamment le paramètre apc.shm_size qui permet d’ajuster la ram utilisée.

Introduction à Doctrine

mardi 12 janvier 2010

Cette année je suis passé à Doctrine. Les raisons étaient diverses:

  • Il était temps pour moi de laisser tomber la vieille extension mysql de PHP et de passer à de l’objet.
  • Trouver un système qui s’intègre facilement dans un modèle MVC
  • Pouvoir faire de l’abstraction de base de données
  • Idéalement un système qui va me faire gagner du temps dans mes développements.

Après avoir regardé plusieurs solutions, je me suis donc tourné vers Doctrine:

  • Il s’interface avec PDO, donc abstraction de base de données
  • Les performances semblent au rendez-vous
  • Il génère automatiquement le modèle du MVC
  • Support des fonctionnalités récentes de MySQL
  • Utilisé par défaut dans Symfony
  • Tout est objet

Bref je me suis dis que c’était le top. Et c’est vrai que quand on le maîtrise c’est vraiment sympa. Sauf que la transition s’est quand même un peu faite dans la douleur. La doc est présente mais dans certains cas j’ai quand même perdu pas mal de temps à chercher des solutions à mes problèmes. Je me suis donc dit qu’il était peut-être possible d’apporter quelques compléments d’information.

Lire le reste de cet article »

Dépendances et exceptions

samedi 9 janvier 2010

A l’heure où j’entends beaucoup parler d’objet, de framework, de dépendance faible, d’injection de dépendance etc. je me suis posé une question. Admettons que dans mon petit framework sans prétention j’ai envie que mes modules soient complètement indépendants, c’est-à-dire que je puisse les prendre un à un et les utiliser avec un projet complètement différent, hors framework. Zend Framework fait cela. Cependant je me suis demandé comment gérer des exceptions personnalisées dans ce cas ?

En effet, dans mon framework, j’ai créé une classe d’exception qui hérite de Exception et qui rajoute des fonctionnalités comme par exemple une méthode permettant d’afficher le message d’erreur bien formaté en HTML avec un fond rouge et presque un gyrophare sur le dessus. Oui mais voilà, quand dans un de mes modules j’ai besoin d’utiliser une exception et que j’ai à afficher le message en utilisant une méthode personnalisée de mon exception, cela casse complètement l’indépendance de mon module. Je ne peux plus le sortir de son contexte car il dépend désormais de la classe d’exception de mon framework ce qui est contraire à ce que je veux.

Lire le reste de cet article »

Configuration d’un serveur dédié chez OVH

mercredi 15 juillet 2009

Ça faisait un moment que je n’avais pas eu à configurer un serveur dédié pour de la production. L’occasion d’en faire un petit article, le but étant de faire un serveur très basique, sans gestion de boîte mails, sans LDAP, sans chroot, etc. Juste une base LAMP.

Ce serveur dédié a été choisi chez OVH. J’ai bien sûr demandé une Debian nue mais ça n’a pas vraiment été le cas. En fait, OVH livre une distribution Debian avec un noyau personnalisé et plusieurs outils installés par défaut. Suite à une mésaventure lors du passage de Etch à Lenny sur un de mes dédiés, j’ai décidé de ne plus laisser le noyau d’OVH mais d’installer un noyau standard. Si cette manipulation vous intéresse, voyez ce billet. Sinon ce qui suit fonctionne quand même parfaitement. Ces infos sont désormais obsolètes, GRUB2 semble parfaitement gérer les noyaux OVH automatiquement.

Lire le reste de cet article »

Installation PHP5/Apache2.2/MySQL5 sous Windows

samedi 16 août 2008

Cette installation est effectuée sous Windows XP Pro SP2, mais devrait fonctionner sous Vista sans problème. Elle est destinée à une installation en tant que plateforme de développement, pas à une installation de production.

Installation de PHP

Télécharger la dernière version de PHP sur php.net (la dernière version est la 5.2.6 au moment de cet article). Prenez la version zip package.

A la racine de votre disque dur c: créeez un répertoire php et dézippez-y l’archive PHP.

Lire le reste de cet article »