Utilizando o insertObject e updateObject do Joomla!

Bom dia a todos,
Para quem está desenvolvendo alguma aplicação dentro do CMS Joomla! e precisa persistir objetos e não está muito a fim de seguir todos os padrões da API de persistência do Joomla! pode utilizar duas funções legais, a insertObject e updateObject.
Para situações simples elas atendem bem devido a abstração de comandos SQL para os inserts e updates. Para utilizá-las você precisa inicialmente de uma instância da DBO do Joomla!, para isto você deve fazer isso:

[php]

$dbo = &JFactory::getDBO();

[/php]

Depois os objetos que você quer persistir ou atualizar precisam ser do tipo stdClass:

[php]

$turma = new stdClass();

$turma->id = null;

$turma->descricao = $_POST[‘turma’];

$turma->status = $_POST[‘status’]

[/php]

Neste exemplo de código acima temos um objeto para inserir, assim chamamos a função da API do Joomla! para persistí-lo:

[php]

$dbo->insertObject(‘turma’, $turma);

[/php]

A função insertObject recebe dois parâmetros, onde o primeiro é o nome da tabela e o segundo é o objeto a ser persistido. Caso você estiver trabalhando com prefixos no nome da tabela você deve utilizar a chave ‘#__’ antes do nome da tabela, neste caso seria ‘#__turma’.

A função updateObject é bem semelhante, mas você deve especificar a chave primária da tabela para o UPDATE, sendo assim temos:

[php]

$dbo->updateObject(‘turma’, $turma, ‘id’);

[/php]

Referências

Documentação JFactory – http://help.joomla.org/content/view/714/125/

Espero que tenha sido útil e até a próxima.