FAQ Desarrollador: Difference between revisions

From MoodleDocs
Line 26: Line 26:
Dentro do objeto global $COURSE, está o código numérico $COURSE->id  
Dentro do objeto global $COURSE, está o código numérico $COURSE->id  


===Como adiciono/recupero registros na base de dados sem creiar minhas própriass conexiones de base de datos?===
===Como adiciono/recupero registros na base de dados sem creiar minhas próprias conexões de base de dados?===


Siempre usa las funciones "datalib", como insert_record() o get_record(). Esto ayuda con la abstracción de la base de datos.
Sempre use as funcões "datalib", como insert_record() o get_record(). Isto ajuda com a abstração da base de dados.
(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.
(Por exemplo: executar tanto em MySQL como em Postgres) como também manter uma única conexão de base de dados. Moodle usa ADODB para conseguir a abstração da base de dados.


Mirá un listado de las funciones y un detalle de como usarlas en:  
Veja uma lista das funções e um detalhe sobre seu uso em:  
[http://moodle.sourceforge.net/dhawes-phpdoc/moodlecore/_lib_datalib_php.html the documentation for datalib.php]
[http://moodle.sourceforge.net/dhawes-phpdoc/moodlecore/_lib_datalib_php.html the documentation for datalib.php]



Revision as of 04:19, 4 December 2007

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 localizados 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 estrutura modular de Moodle é a razão pela qual a informação da base de dados não está armazenada num único lugar.

Por exemplo: Cada módulo de actividade vem como uma carpeta que inclui arquivos script. Se o módulo precisa armazenar informação na base de dados, deverá incluir os arquivos script que definem e atualizam a estrutura da base de datos numa subcarpeta chamada "db"

Como leio/estabeleço informação quando escrevo novo código de Moodle?

Como encontro o usuário atualmente logado?

Dentro do objeto global $USER está entre outros o código numérico $USER->id

Como encontro o curso atual?

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

Como adiciono/recupero registros na base de dados sem creiar minhas próprias conexões de base de dados?

Sempre use as funcões "datalib", como insert_record() o get_record(). Isto ajuda com a abstração da base de dados. (Por exemplo: executar tanto em MySQL como em Postgres) como também manter uma única conexão de base de dados. Moodle usa ADODB para conseguir a abstração da base de dados.

Veja uma lista das funções e um detalhe sobre seu uso em: 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).