Desenvolvendo um componente/Introdução MVC

Desenvolvendo um componente/Introdução MVC

Esta é uma série de múltiplo-artigo de tutoriais sobre como desenvolver um componente de modelo-exibição-Contoller para Joomla versão 3.1.

Começar com a introduçãoe navegar os artigos nesta série usando a caixa de navegação para a direita (os artigos desta série).

Requisitos

Você precisa de Joomla 3.0 (com PHP, MySQL, Apache e Microsoft II) ou maior para este tutorial.

Juntei um monte de informações, e então eu comecei a migrar o componente do novo Joomla 2.5 para 3.0. Abaixo está algumas informações importantes usadas para a migração:

Use "display_errors na" para ajudar na depuração de erros.

Migração Joomla 2.5 para Joomla 3.0:

Lembre-se de que você precisa para adicionar o legado de qualquer lugar que você estiver estendendo diretamente JModel, JView ou JController. Se é indirecta (como através de JModellist) você não precisa, já cuidei de. Fora isso e o fato de que, conforme anunciado há muito tempo obsoleto código foi removido (acho que JParameter é o maior impacto) extensões só precisar pequenas alterações... embora você vai querer olhar para as mudanças de saída que Kyle está trabalhando em. Claro se você estiver criando aplicativos stand-alone da plataforma o novo MVC e JApplicationWeb/JApplicationCLI são completamente a maneira que você deve trabalhar, e a coisa agradável sobre a forma como temos feito isto é que os novos pacotes já estão bem ali no seu servidor, tendo chegado com o CMS. (Elin na lista de desenvolvimento)

Amostras:

DS

Desde que nós removemos a constante DS em 3.0, precisamos substituir os usos da constante em com_media. A mudança mais discreta é simplesmente substituí-la com constante DIRECTORY_SEPARATOR do PHP desde que o DS é um alias para isso.

(joomlacode)

if(!definido('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
//$controller = JController::getInstance('HelloWorld');
$controller= JControllerLegacy:getInstance('HelloWorld');
//class HelloWorldViewHelloWorlds estende JView
classeestende-se JViewLegacy
classeestende JControllerLegacy
classeestende JModelItemLegacy
classeestende JModelFormLegacy
JRegistry:getValue() agora é JRegistry:se()
//Convert amostra de JRegistry com LoadJSON - amostra de sourcecode Joomla 3.0
//                             $params = new JRegistry;
//                             $params -> loadJSON ($ this -> item -> params);
//                             $this -> item -> params = $params;
                                $params=nova JRegistry;
                                $params->loadString($item->params);
                                $item->params=$params;

Código-fonte aqui: https://joomlacode.org/gf/project/hellojoomla3/frs/

Novo MVC em Joomla 3.0

"A versão 12.1 da plataforma introduziu um novo formato para o paradigma de model-view-controller. No, as classes JModel, JView e JController agora são interfaces e as classes base abstratas são agora JModelBase, JViewBase e JControllerBase, respectivamente. Em adicional, todas as classes foram simplificadas removendo um monte de acoplamento com o CMS Joomla que é desnecessário para autônomos aplicativos da plataforma Joomla."... [Plataforma Joomla Manual MVC - https://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]