-
mars 7th, 2012PHPVoici quelques fonctions qui vont retourner la date de la veille en PHP. Et dans la foulée, une fonction qui retourne une date à plus ou moins
X jours!
function getYesterday() { return date('Y-m-d', time() - (60*60*24)); } function getYesterday() { return date('Y-m-d', strtotime('yesterday')); } function getYesterday() { return date('Y-m-d', strtotime('-1 day')); }Voici la fonction qui
retourne une date à plus ou moins x jours (par défaut, la veille)
function getDayDiff($diff = '-1') { //$diff doit être au format +X ou -X, X étant un entier return date('Y-m-d', strtotime($diff.' day')); }Tags: date, fonction, php -
mars 1st, 2012PHPParlons un peu de ce que l’on peut trouver sur le net en terme d’optimisation PHP, quelques articles TRES utiles:
- Un HOW-TO à base de benchmark, de conf Apache, et de bonnes idées en tous genres chez PHPLens
- Une liste des meilleures pratiques (les meilleures façons d’utiliser echo, quelle fonction pour calculer la taille d’une
chaîne, etc..) chez Chazzuza
- En français cette fois, chez Vulgarisation-Informatique un benchmark des différentes fonctions de base de PHP, buy cialis online low price pour choisir la meilleure!
Tags: benchmark, développement, optimiser, php -
octobre 22nd, 2010PHPLa syntaxe PHP:
Un script PHP est contenu entres 2 balises:
<?php ?> l'utilisation de ce format de balise est conseillé
<? ?> l'utilisation de ce format de balise est déconseillé (on les appelle des balises courte)
pour utiliser les balises courte, il faut activer au préalable la directive short_open_tag dans le fichier de configuration php (php.ini)
<?= »message »;?> l’utilisation de
ce format est équivalent à <?php echo »message »;?>
Chaque instruction est suivie d’un ; (point-virgule).
La dernière instruction d’un bloc php n’exige pas un ; à la fin.Les opérateurs:
Php dispose de plusisieurs opérateurs:
Les opérateurs arithmétiques:- Soustraction // $a - $b + Addition // $a + $b * Multiplication // $a * $b / Divison // $a / $b % Modulo // $a % $b : reste de a divisé par b
Les opérateurs d’assignation:
= : égal à // $a=2; j'assigne 2 à la variable $a. => : Pour les tableaux on utilise => pour assigner une valeur à un élément d'un tableau. $mon_tableau=array(0=>"Un", 1=>"Deux") .= : .= est un opérateur de concaténation et d'assignation à la fois // $a = "Hello "; $a .= "World"; maintenant $a comporte "Hello World". Opérateurs sur les bits: & : Et | : Ou ^ : Ou exclusif ~ : Non << : Décalage à gauche >> : Décalage à droite
Tags: bits php, syntaxe php, variables; constantes -
octobre 11th, 2010PHPsubstr:
substr est une fonction qui retourne une sous-chaîne d’une chaîne de caractères.
substr(string $chaine, int $debut, int $longueur)
$chaine: représente la chaîne de caractères initiale.
$debut: est l’index de début de la cha
îne de caractères qu’on veut extraire. Si $debut est négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne.
Si $debut dépasse la longueur de la chaîne
de caractères, alors substr retournera une chaîne vide.
$longueur: est
un paramètre optionnel qui indique la longueur de la chaîne de caractères à extraire.
Exemples:
<?php $ma_chaine = "je ne veux pas travailler"; $ma_sous_chaine = substr($ma_chaine, 3); echo ($ma_sous_chaine); // retournera "ne veux pas travailler" $ma_sous_chaine = substr($ma_chaine, 2); echo ($ma_sous_chaine); // retournera " ne veux pas travailler" $ma_sous_chaine = substr($ma_chaine, 0,2); // on extrait une chaine d'une longueur de 3 chars à partir de l'indice 0 echo ($ma_sous_chaine); // retournera "je" $ma_sous_chaine = substr($ma_chaine, -4); echo ($ma_sous_chaine); // retournera "ller" $ma_chaine = "abcdefghi"; $ma_sous_chaine = substr($ma_chaine, -4); // retournera "fghi" $ma_sous_chaine = substr($ma_chaine, -4,2); // retournera "fg" ?>
Tags: chaîne de caractères, php, substr -
octobre 7th, 2010PHPPhp.ini
php.ini est le
fichier de configuration du moteur php5.
Il contient des dizaine de directives. Chaque directive a une signification et un rôle particulier.
Le fichier php.ini est un fichier de type ini. C’est un fichier texte
divisé en plusieurs sections et chaque section contient un ceratin nombre de paramètres de configuration.
Une section commence par [nom_de_la_section]
Une directive est sous la forme: paramètre = valeur
Les lignes qui commencent par ; sont des commentaires.
à l’installation du moteur php le fichier php.ini se trouve dans /etc/php5/apache2/php.ini sous debain.
Read the rest of this entry »Tags: php, php.ini -
octobre 7th, 2010PHPPhp5 propose un ensemble de fonctions pour obtenir, traiter et formater les dates.
Nous vous proposons ici un tour des fonctions les plus utilisée.
Date:
date() est sans doute la fonction la plus utilisée. Elle permet d’obtenir une date
à partir d’un timestamp unix.
date($format, $timestamp) prend 2 parmaèttres:
$format: le format de sortie de la date.
Les jours :
d : 01 à 31
D : Mon à Sun
j : 1 à 31
l : (‘L’ minuscule) en anglais Sunday à Saturday
N : 1 (pour Lundi) à 7 (pour Dimanche)
S : st, nd, rd ou th.
w : 0 (pour dimanche) à 6 (pour samedi)
z canadian pharmacy no prescription : 0 à 366
Read the rest of this entry »Tags: années PHP5, dates, jours php5, mois php5, php, semaines php5, timestamp php, timezone -
octobre 4th, 2010PHPZend framework (ZF):
ZF est l’un des frameworks php les plus utilisés dans le développement d’applications web avec PHP5. C’est à la fois un moyen simple, puissant et structuré qui permet de gagner beaucoup de temps dans vos développements.
Il peut être utilisé de 2 façons différentes:
1- En se servant de ses composants individuellement.
2- En se servant de son implémentation du model MVCDans notre exemple nous allons vous montrer comment se servir des deux modules Zend_Application et Zend_Tool.
Prérequis:
1- Système d’exploitation Linux ou windows (dans notre article on utilisera une debian lenny)
2- Unserveur web apache2.
3- php5.
4- Mysql5.Tags: guide, php, Tutoriel, Zend framework, Zend_Application, Zend_Tool -
septembre 30th, 2010PHPUn site internet qui fait 1000 visites par jour sollicite autant de fois votre serveur pour afficher à chaque fois la page d’accueil.
Pour soulager votre serveur, il est judicieux d’utiliser un système de cache, qui va stocker une « image » de vos pages à la première visite et servir cette image aux prochains visiteurs.
On évite des requêtes en trop, de la charge processeur, etc… que du bénéfice.D’après le site php.net
Le « Alternative PHP Cache » (APC) est un cache d’opcode libre et ouvert pour PHP. Son objectif est de fournir un framework libre, ouvert et robuste pour la mise en cache et l’optimisation de code intermédiaire PHP.
(plus d’informations sur le site de php.net http://php.net/manual/fr/book.apc.php)Il existe également d’autres systèmes de cache beaucoup plus puissants, tels que memcached ou encore varnish. Ils ne jouent pas tous au même niveau, certains font du cache HTTP, d’autres peuvent faire du cache SQL également.
Je vous conseille au préalable de faire un benchmark d’une URL de votre site pour faire un comparatif avant/après et constater que vous êtes extrêmenet satisfait de cet article ô combien utile :p
Vous pouvez effectuer ce benchmark avec http://webwait.com/ par exemple. C’est moins précis qu’un apache bechmark, mais c’est bien plus simple.Voici donc le moyen de mettre en place APC sur votre serveur Debian
APC est disponible via PECL, outil qui est lui-même fourni par l’ensemble de classes PEAR.apt-get install php5-dev php-pear pecl install apc
Il est fort probable que la commande vous pose la question suivante:
Use apxs to set compile flags (if using APC with Apache)? [yes]
Répondez yes si vous utilisez Apache, no sinon
Créez ensuite le fichier
vi /etc/php5/apache2/conf.d/apc.ini
et insérez dans le fichier
extension=apc.so
Maintenant redémarrez votre serveur Apache
/etc/init.d/apache2 restart
Voilà, APC est installé et fonctionne avec votre serveur Apache2 et PHP
Vous pouvez accéder à un ensemble
de statistiques fournies par APC
Pour cela, copiez le fichier de statistiques vers un répertoire accessible par URL (ou plus simplement le DocumentRoot). Puis éditez le fichier pour changer le mot de passe à votre convenance.cp /usr/share/php/apc.php /chemin/vers/le/document/root/apc.php vi /chemin/vers/le/document/root/apc.php
il faut modifier les lignes:
defaults('ADMIN_USERNAME','admin'); defaults('ADMIN_PASSWORD','password');Accédez y par l’url correspondant au DocumentRoot http://url…/apc.php
Et voilà les jolies stats!
Tags: apc, cache, debien, optimiser, php -
septembre 29th, 2010PHPIl peut être pratique d’obtenir des logs d’erreur détaillés en provenance de PHP. Corriger les plus petits de ces bugs, même une NOTICE, peut optimiser votre code de manière non négligeable.
Editer le fichier php.ini (sur Debian, dans une installa
tion par défaut, le fichier php.ini chargé pour Apache2 se trouve là /etc/php5/apache2/php.ini)
Il y a souvent plusieurs php.ini, pensez à modifier celui dont vous avez besoin (sur Debian toujours, vous pouvez faire un locate php.ini pour trouver la liste des fichiers portant ce nom. Pour savoir comment installer locate, cliquez ici.)Localisez la ligne
display_errors
Pour activer les logs PHP
display_errors=On
Pour désactiver les logs PHP
display_errors=Off
Pour le niveau d’erreurs, localisez la ligne
error_reporting
Voici les options disponibles, combinables entre elles
; E_ALL - Tous les erreurs et warnings, n'inclue pas E_STRICT ; E_ERROR buy generic viagra - Erreurs fatales ; E_RECOVERABLE_ERROR - Erreurs presque fatales ; E_WARNING - Erreurs non fatales ; E_PARSE - Erreurs de compilation/parsing ; E_NOTICE - Notices d'execution (ce sont des warnings qui proviennent la plupart du temps d'une erreur dans votre code, mais il est possible que ce soit intentionnel (utiliser une variable non initialisée, ...) ; E_STRICT - Notices d'execution, l'activer pour obtenir des suggestions de modification de votre code par PHP afin d'assurer une meilleure interopérabilité ; E_CORE_ERROR - Erreurs fatales qui surviennent pendant le démarrage de PHP ; E_CORE_WARNING - Warnings (erreurs non fatales) qui surviennent pendant le démarrage de PHP; ; E_COMPILE_ERROR - Erreurs fatales à la compilation ; E_COMPILE_WARNING - Erreurs non fatales à la compilation ; E_USER_ERROR - Messages d'erreur générés par l'utilisateur ; E_USER_WARNING - Warnings générés par l'utilisateur ; E_USER_NOTICE - Notices générées par l'utilisateur Quelques exemples ; - Affiche toutes les erreurs, à l'exception des notices et warnings standards ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Affiche toutes les erreurs, à l'exception des notices ; ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT ; ; - Affiche seulement les erreurs ; ;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
Pour préciser dans quel fichier les logs doivent s’écrire, localiser la ligne
error_log
et la changer pour par exemple
error_log=/var/log/php5.log
ou encore pour écrire dans le fichier syslog
error_log = syslog
Enfin, une fonction PHP très pratique est la fonction
log_error
Celle-ci va vous permettre d’écrire dans le fichier de log précisé plus haut au lieu de faire des affichages complets pour débuguer votre code.
Elle s’utilise tout simplement:
log_error("message à envoyer dans les logs");Tags: erreur, error, error_log, Logs, log_error, notice, php, warning -
septembre 27th, 2010PHPOn ne maîtrise pas toujours l’ensemble de son architecture, et il arrive qu’une machine serve à la fois pour le développement et la production.
Dans ces cas là, et dans la mesure ou le serveur est en production, on désactive l’affichage des erreursPHP dans le fichier php.ini.
Mais il existe un moyen d’activer les
logs d’erreur PHP pour un VirtualHost spécifique directement depuis la configuration du VirtualHost.
Il suffit de rajouter la lignephp_flag display_errors On
dans la balise
On obtient une config du genre:
... DocumentRoot.... ErrorLog... ... php_flag display_errors On ... Après redémarrage, les erreurs PHP s’afficheront comme par magie!
Tags: Apache2, display_errors, erreur, flag, Logs, virtualhost -
