FAQ Desarrollador

Jump to: navigation, search

Ajuda para codificadores principiantes

Onde podem os principiantes de Moodle obter ajuda?

O Fórum Geral de desenvolvedores! Sinta-se livre de realizar qualquer pergunta, não importa que tão simples 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

Como leio/estabeleço os valores da configuração?

Para ler os valores da configuração tipicamente acessa diretamente ao objeto global $CFG, o qual é gerado automáticamente pelos scripts de núcleo do Moodle.

Para estabelecer esses valores de configuração "principais" usa set_config($name, $value). Os valores se armazenam na tabela "config" da base de dados do Moodle, como estas funções administram o catching da informação, deve usá-las sempre em lugar de recuperar os registros diretamente.

Existe ademáis uma segunda tabela de configuração específica para plugins ("config_plugin"). Estas não são carregadas automaticamente no objeto $CFG, portanto para recuperá-las deve usar get_config($plugin, $name). Para estabelecê-las usa set_config($name, $value, $plugin).