Tout projet o� l'on travaille en collaboration n�cessite une coh�rence et une stabilit� fortes.
L'objectif de ces directives est de fournir un cadre � respecter pour tout le code de Moodle. Il est vrai que certaines parties plus anciennes du code ne les respectent pas toujours ; le code sera corrig�. Tout le nouveau code doit absolument respecter ces directives aussi pr�cis�ment que possible.
Je suis conscient qu'il est ennuyeux de changer votre style si vous avez d'autres habitudes, mais comparez cet emb�tement avec les gros ennuis qu'ont ult�rieurement les personnes qui essaient de comprendre un code compos� dans des styles diff�rents. Bien s�r il y a des avantages et des inconv�nients � chaque style, mais le style de Moodle existe, alors tenez-vous y, s'il vous pla�t.
BON : $quiz
BON : $errorstring
BON : $assignments (pour un tableau d'objets)
BON : $i (mais seulement dans de petites boucles)
MAUVAIS : $Quiz
MAUVAIS : $aReallyLongVariableNameWithoutAGoodReason
MAUVAIS : $error_string
define("FORUM_MODE_FLATOLDEST", 1);
function forum_set_display_mode($mode=0)
{
global $USER,
$CFG;
if ($mode)
{
$USER->mode
= $mode;
} else if (empty($USER->mode))
{
$USER->mode
= $CFG->forum_displaymode;
}
}
if ($quiz->attempts)
{
if ($numattempts >
$quiz->attempts)
{
error($strtoomanyattempts,
"view.php?id=$cm->id");
}
}
$var = 'some text without any
variables';
$var = "with special characters like a new line \n";
$var = 'a very, very long string with a '.$single.' variable in it';
$var = "some $text with $many variables $within it";
/**
* La description doit appara�tre d'abord, avec des ast�risques positionn�s
* exactement comme dans cet exemple. Pour vous r�f�rer � une autre fonction,
* utiliser cette syntaxe : {@link clean_param()}. Apr�s la description de la
* fonction, ajouter celle de chacun des param�tre de la fa�on suivante.
*
* @param int $postid Le type PHP est suivi du nom de la variable
* @param array $scale Le type PHP est suivi du nom de la variable
* @param array $ratings Le type PHP est suivi du nom de la variable
* @return mixed
*/
function forum_get_ratings_mean($postid,
$scale, $ratings=NULL)
{
if (!$ratings)
{
$ratings
= array(); //
Initialize the empty array
if ($rates
= get_records("forum_ratings",
"post", $postid))
{
//
Process each rating in turn
foreach
($rates as $rate)
{
... etc.
foreach ($objects
as $key =>
$thing) {
process($thing);
}
if ($x ==
$y)
{
$a
= $b;
} else if ($x ==
$z) {
$a
= $c;
} else {
$a
= $d;
}
$a = array()
ou $obj = new stdClass();
.optional_variable()
. Utilisez en lieu et place la fonction optional_param()
. Choisissez la valeur PARAM_XXXX correcte pour le type de donn�es que vous attendez. Pour v�rifier et assigner une valeur optionnelle � une variable, utilisez la fonction set_default()
.require_variable()
. Utilisez en lieu et place la fonction required_param()
. Choisissez la valeur PARAM_XXXX correcte pour le type de donn�es que vous attendez.data_submitted()
qu'avec pr�caution. Avant son utilisation, n'oubliez pas de nettoyer les donn�es.$_GET
, $_POST
ni $_REQUEST
. Utilisez la fonction required_param()
ou optional_param()
appropri�e � vos besoins.if (isset($_GET['something']))
. Utilisez plut�t $something = optional_param( 'something',-1,PARAM_INT )
et effectuez ensuite un test correct pour v�rifier si la valeur se trouve dans l'intervalle voulu, par exemple if ($something>=0) {...
.required_param()
, optional_param()
et les autres initialisations de variables initialisation au d�but de chaque fichier, de sorte qu'elles soient faciles � trouver.
. Lors du traitement du formulaire, v�rifiez avec if (!confirm_sesskey()) {error('Bad Session Key');}
.clean_filename()
, pour autant que cela n'ait pas encore �t� fait par une utilisation ad�quate de required_param()
ou de optional_param()
.addslashes()
avant d'�tre r�crites dans la base de donn�es. La fonction addslashes_object()
permet de traiter ainsi un objet complet de donn�es.POST
(d'un formulaire avec method="POST"
), et non de donn�es GET
(c'est-�-dire provenant de l'URL).$_SERVER
, en raison de probl�mes de portabilit�.clean_param()
avec le param�tre PARAM_XXXX ad�quat au type de donn�es.Version: $Id$