Αναρτήσεις που έγιναν από τον/την Valery Fremaux

Hi Tomaz

tell me,

how came the miss of access control on the 2.0 version you are working on ? I checked my 1.9 version. seems it controls the course access.

Do we have some changed in 2.0 API, or a distinct stating point ?

Regards.

Moodle en français -> Développement de Moodle -> L'API Moodle 1.9 (et 2 d'ailleurs) à jour

από Valery Fremaux -

Suite à la décision de Moodle.org de récupérer leur domain phpdocs.moodle.org pour diffuser la doc depuis leurs serveurs, le volume de doc n'est pas fonctionnel (i don't knwo why ?)

L'ancien moteur de doc de Val'EISTI continue de tourner tous les soirs ici :

http://moodlephpdocs.valeisti.fr/

Μέσος όρος βαθμολογίας: -

Moodle en français -> Développement de Moodle -> Requètes SQL -> Re: Requètes SQL

από Valery Fremaux -

Attention que la documentation émergente commence à donner de plus en plus souvent la syntaxe de Moodle 2.

Les requêtes s'écrivent dans le code. La plupart du temps, les fonctions get_record, get_records, get_field, set_field, update_record, insert_record, permettent les opérations de base.

les fonctions get_records_select permettent de peaufiner une clause WHERE plus complexe.

Les fonctions de l'API de base de données Moodle ne permettent pas de faire des jointures,

On n'utilise la versions : get_records_sql($sql) avec une expression complète d'une requête UNIQUEMENT lrosque l'on fait des jointures sur plusieurs table, ou alors que la fin de la requête (GROUP BY, ORDER BY, HAVING etc) sont lourdes ou alors qu'il y a des sous-requêtes.

en général, il est plus "propre" de se constituer une librairie "locallib.php" dans laquelle les requêtes sont exécutées et fournissent leurs résultats à travers une jeu de fonctions (API interne métier). Ceci permet de centraliser l'expression de son SQL à un seul endroit.

La librairie locallib.php devient alors une librairie systéamtique interne du module.

L'usage de l'API de Moodle est TRES FORTEMENT CONSEILLEE, plutôt que tenter des execute_sql() sauvages à partir de la librairie native php.

En effet, l'API prend en charge les optimisations d'AdoDB, le cache de résultat et le "monitoring" de la santé de MySQL.

La littérature conseille d'exploiter une couche plus intérieure de fonctions (même primitives pour la plupart, mais sur des noms en xxxxx_recordset).

Ces fonctions sont conseillées lorsque le résultat de requête est trés grand (par exemple, fouiller les logs) et permet d'optimiser l'uage de la mémoire lors du parcours des résultats (plutôt que charger 100.000 lignes de résultat en mémoire PHP)

Cheers.

  

 

Ah, vu !

j'avais pas bien identifié le lézard...

quand on enregistre à 4 les listes restent à 2, ça c'est un bug en effet κλείσιμο ματιού

Val