FAQ Desarrollador

From MoodleDocs

Ajuda para codificadores principiantes

Onde podem os principiantes de Moodle obter ajuda?

O Foro Geral de desarrolladores! Sinta-se livre de realizar qualquer pergunta, não importa que tão simple ou avançada seja. Muitas pessoas fazem diferentes níveis de perguntas todo dia, e a comunidade dá a bem-vinda e responde rápido.

A base de dados de Moodle

Onde posso ver um esquema da estrutura da base de datos de Moodle?

Ao instalar Moodle, as tabelas da base de dados são geradas e atualizadas por vários arquivos script de administração de base de dados localizadso em vários lugares. Não existe uma representação esquemática canônica, embora coding guidelines for database structure projeta uma aproximação geral.

A estructura modular del Moodle es la razón por la cual la información de la base de datos no esta almacenada en un único lugar

Por ejemplo: Cada módulo de actividad viene como una carpeta que incluye archivos script. Si el módulo requiere almacenar informacion en la base de datos, deberá incluir los archivos script que definen y actualizan la estructura de la base de datos en una subcarpeta llamada "db"

Cómo leo/fijo información cuando escribo nuevo código de Moodle?

Cómo encuentro el usuario actualmente logueado?

Dentro del objeto global $USER está entre otros el código numérico $USER->id

Cómo encuentro el curso actual?

Dentro del objeto global $COURSE, está el código numérico $COURSE->id

Cómo agrego/recupero registros en en la base de datos sin crear mis propias conexiones de base de datos?

Siempre usa las funciones "datalib", como insert_record() o get_record(). Esto ayuda con la abstracción de la base de datos. (Por ejemplo: ejecutar tanto en MySQL como o Postgres) como también mantener una única conección de base de datos. Moodle usa ADODB para lograr la abstracción de la base de datos.

Mirá un listado de las funciones y un detalle de como usarlas en: the documentation for datalib.php

Cómo leo/fijo los valores de la configuracion?

Para leer los valores de configuración tipicamente accedés directamente al objeto global $CFG, el cual se genera automáticamente por los scripts de núcleo del Moodle.

Para fijar esos valores de configuración "principales" usa set_config($name, $value). Los valores se almacenan en la tabla "config" de la base de datos del Moodle, como dichas funciones manejan el catcheo de la información, debes usarlas siempre en lugar de recuperar los registros directamente.

Existe además una segunda tabla de configuración específica para plugins ("config_plugin"). Estas no son cargadas automaticamente en el objeto $CFG, por o cual para recuperarlas deberás usar get_config($plugin, $name). Para fijarlas usa set_config($name, $value, $plugin).