Udvikling af en MVC Component/Indledning

 
Udvikling af en MVC Component/Indledning

Dette er en multiple-artikel serie af tutorials om hvordan man kan udvikle en Model-View-Contoller komponent til Joomla Version 3.1.

Begynder med Introduktion, og navigere artiklerne i denne serie ved hjælp af boksen navigation til højre ( artikler i denne serie).

Krav

Du har brug for Joomla 3.0 (med PHP, MySQL, Apache og Microsoft II) eller større for denne tutorial.

Jeg samlet en masse oplysninger og derefter begyndte jeg at overflytte komponenten i den nye Joomla 2.5 til 3.0. Nedenfor er nogle vigtige oplysninger, der bruges til overførslen:

Bruge "display_errors på" til at hjælpe i fejl debug.

Overflytter Joomla 2.5 til Joomla 3.0:

Husk at du skal tilføje Legacy ethvert sted, du direkte udvider JModel, JView eller JController. Hvis det er indirekte (som gennem JModellist) du ikke behøver at, det har allerede taget hånd om. Bortset fra dette og det faktum, at som annonceret længst forældet kode er blevet fjernet (jeg vil gætte på at JParameter er den største virkning) udvidelser bør behøver kun mindre ændringer... selvom du gerne vil se på output-ændringerne, Kyle arbejder på. Hvis du bygger stand alone platform programmer den nye MVC og JApplicationWeb/JApplicationCLI er helt den måde du bør arbejde og det gode ved den måde, vi har gjort dette er, at er de nye pakker naturligvis allerede lige der på din server, der er ankommet med CMS. (Elin udvikling listen)

Prøver:

DS

Da vi har fjernet DS konstanten i 3.0, vi har brug at erstatte anvendelserne af konstanten i com_media. Den mest diskret ændring er til blot at udskifte det med PHP'S DIRECTORY_SEPARATOR konstant, da DS er et alias til der.

(joomlacode)

if(!defineret('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
//$controller = JController::getInstance('HelloWorld');
$controller= JControllerLegacy:getInstance()'HelloWorld');
//class HelloWorldViewHelloWorlds forlænger JView
klasseudvider JViewLegacy
klasseudvider JControllerLegacy
klasseudvider JModelItemLegacy
klasseudvider JModelFormLegacy
JRegistry:getValue() nu er JRegistry:()
//Convert prøve at JRegistry med LoadJSON - prøve fra Joomla 3.0 kildekode
//                             $params = ny JRegistry;
//                             $params -> loadJSON ($ this ->-element > params);
//                             $this -> punkt -> params = $params;
                                $params=nye JRegistry;
                                $params->loadString($item->params);
                                $item->params=$params;

Her kildekode: http://joomlacode.org/gf/project/hellojoomla3/frs/

Nye MVC i Joomla 3.0

"Version 12,1 af platformen indført et nyt format for model-view-controller paradigme. Fornyede, klasserne JModel, JView og JController er nu grænseflader og de base abstrakte klasser er nu JModelBase, JViewBase og JControllerBase henholdsvis. I yderligere, alle klasser er blevet forenklet at fjerne en masse kobling med Joomla CMS, der er unødvendig for standalone Joomla Platform applikationer."... [Joomla Platform manuel MVC - http://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]