banniere
BLUMAX WebSite
Espace privé
Adresse courriel :
Mot de passe :
Stat
  • 4 inscrits sur le site
  • 0 personne en ligne
  • 38 téléchargements
  • 34 articles
  • 59 réponses dans la FAQ
  • Les 2 derniers inscrits
    - Airwheel
    - PoPo
Articles - Développement Web - x) Convension de dev

Resumer : Quand l'on travaille il est bien d'utiliser des convension de codage.

Quand l'on travaille il est bien d'utiliser des convension de codage.
http://framework.zend.com/manual/fr/coding-standard.html

B.1. Vue d'ensemble

B.1.1. Portée
B.1.2. Buts

B.2. Formatage des fichiers PHP

B.2.1. Général
B.2.2. Indentation
B.2.3. Longueur maximum d'une ligne
B.2.4. Terminaison de lignes

B.3. Conventions de nommage

B.3.1. Classes
B.3.2. Noms de fichiers
B.3.3. Fonctions et méthodes
B.3.4. Variables
B.3.5. Constantes

B.4. Style de codage

B.4.1. Démarcation du code PHP
B.4.2. Chaînes de caractères

B.4.2.1. Chaînes littérales
B.4.2.2. Chaînes de caractères littérales avec apostrophes
B.4.2.3. Substitution de variables
B.4.2.4. Concaténation de chaînes

B.4.3. Tableaux

B.4.3.1. Tableaux indexés numériquement
B.4.3.2. Tableaux associatifs

B.4.4. Classes

B.4.4.1. Déclaration de classes
B.4.4.2. Variables membres de la classe

B.4.5. Fonctions et méthodes

B.4.5.1. Déclaration de fonctions et de méthodes
B.4.5.2. Usage de fonctions et méthodes

B.4.6. Structure de contrôle

B.4.6.1. If / Else / Elseif
B.4.6.2. Switch

B.4.7. Documentation intégrée

B.4.7.1. Format de la documentation
B.4.7.2. Fichiers
B.4.7.3. Classes
B.4.7.4. Fonctions










Convention de codage de DotClear

Que vous développiez un plugin, vouliez corriger un bug ou simplement ajouter une fonctionnalité, l'acceptation de votre code dans le trunk est soumise aux règles suivantes.
Configuration de PHP

Deux valeurs de PHP doivent être à off :


allow_call_time_pass_reference = Off

register_globals = Off

Par ailleurs le niveau d'erreur doit être E_ALL. Il suffit de passer en mode DEBUG (dans inc/prepend.php).

Le code doit fonctionner avec PHP 4.1 minimum.
Indentation, longueur des lignes

Utilisez une identation en tabulations vraies (pas en espaces). La largeur courante (et pratique) d'une tabulation est de 5 espaces dans le code de DotClear.

Il est par ailleurs conseillé de ne pas dépasser 70 caractères dans les lignes.
Structures de contrôle

Les structures de contrôle sont les instructions if, switch, for, while, foreach, etc. Vous devez laisser un espace entre le mot clé de l'instruction et la condition. La position des accolades est à votre discrétion.
Exemple de structures de contrôles :

<?php
if (condition1 && condition1) {
action;
}

foreach ($tableau as $k => $v)
{
action;
action;
}
?>

Appels de fonctions

Les fonctions sont appelées sans aucun espace entre le nom de la fonction, les parenthèses et les paramètres. Par exemple :

<?php
maFonction($var1,$var2);
?>

Si la fonction est retournée dans une variable, on mettra au moins un espace de part et d'autre du signe égal. Par exemple :

<?php
$var = maFonction($var1);
?>

Définitions des fonctions

Les accolades de la fonctions sont placées sous le nom de celle-ci et le code est indenté d'un niveau. Par exemple :

<?php
maFonction($var1,$var2=0)
{
return $var1+$var2;
}
?>

Commentaires

Les commentaires d'une ligne sont fréquemment faits avec le signe #, moins avec les . Les commentaires de plusieurs lignes seront faits avec le style / commentaire / La désactivation d'une portion de code par un commentaire sera faite avec le code / /, de cette manière, il suffit d'ajouter un / pour désactiver le commentaire. Par exemple :

<?php
/
code();
//
/
?>

Inclure des fichiers

Un fichier est inclus dans un autre relativement au premier. Cela est obligatoire. Par exemple :

<?php
require dirname(__FILE__).'/../../fichier.php';
?>

Tags dans le code HTML

Le code PHP est toujours délimité par <?php ?> et non la version abrégée <? ?>. Ceci est obligatoire. La forme <?= ?> est bien entendue proscrite.
Conventions de nommage
Classes

Les classes sont toujours nommées avec des lettres non accentuées. Les mots sont séparés par des majuscules et le nom de la classe commence par une minuscule. Par exemple :

<?php
class maClasse
{
//...
}
?>

Fonctions

Les noms de fonctions suivent les même règles que les classes.
Variables

Les noms des variables doivent avoir un sens. Les mots sont séparés par des _. Par exemple :

<?php
$ma_variable = 'texte';
$var = 'texte...';
?>

Constantes

Les constantes définies directement dans le code sont en capitales. Celles définies dans un fichier .ini sont en minuscule. Le nom d'une constante propre à DotClear commence toujours par DC_. Par exemple :

<?php
# Constante définie
define('DC_FOO',true);

# Constante d'un fichier ini
echo dc_bar;
?>

Conventions HTTP

Dotclear se conforme au maximum à HTTP ce qui implique de suivre un certain nombre de règles.
Modification de données

Tout changement d'état (dans la base de données ou ailleurs) doit obligatoirement passer par une requête HTTP de type POST.

Par ailleurs, toute requête de ce type doit envoyer un champ nommé "dctoken" contenant un identifiant permettant d'assurer la légitimité de celle-ci.

Il est donc nécessaire de passer ce champ à tout formulaire de type POST. Par exemple :

<form action="foo.php" method="post">
<p>....</p>
<p><?php echo dcNonce::form(); ?></p>
</form>

L'appel à la méthode dcNonce::form() insère automatiquement un champ caché contenant la valeur du nonce dans le formulaire.

Enfin, ce qui est valable pour les soumissions de formulaire l'est également pour les requêtes faites via XML HTTP Request (Ajax) de type POST. Dotclear fourni une variable javascript contenant le nonce : dotclear.nonce.

Exemple de requête ajax avec le nonce :

params = {
dctoken: dotclear.nonce,
p: "param"
};

$.post(url,params,function() {
...
});

Par Blumax le 17/04/2015
Aucun commentaire
Vous devez vous connecter pour poster un commentaire
© 2004-2022 blumax.fr