J3.x:Ontwikkeling van een MVC Component/Inleiding
From Joomla! Documentation
< J3.x:Developing an MVC Component
Artikelen in deze reeks
Het toevoegen van een menu aan de website
Het toevoegen van een model aan de website
Een 'variable request' toevoegen in het menu type
De database gebruiken
Basis beheergedeelte
Het toevoegen van taalbeheer
Het toevoegen van acties in het beheergedeelte
Het toevoegen van decoraties aan het beheergedeelte
Het toevoegen van controles
Het toevoegen van categorieën
Het toevoegen van configuratie
Het toevoegen van een installatie/deïnstallatie/update script-bestand
Een formulier op de website toevoegen
Het gebruik van de taal filterfunctie
- Een modaal venster toevoegen
- Het toevoegen van associaties
- Het toevoegen van uitchecken
- Het toevoegen van volgorde
- Het toevoegen van niveaus
- Het toevoegen van versies
- Het toevoegen van tags
- Het toevoegen van rechten
- Het toevoegen van batch-proces
- Het toevoegen van cache
- Het toevoegen van een feed
Het toevoegen van een update-server
Dit is een reeks van artikelen met handleidingen over het ontwikkelen van een Model-View-Controller Component voor Joomla! versie.
Begin met de Introductie en navigeer door de artikelen van de reeks door middel van de navigatieknop onderaan of het vak rechts (Artikelen in deze reeks).
Opmerkingen
- Als u Joomla! pas ontdekt hebt, lees dan Absolute basisprincipes van hoe een component functioneert.
- Deze tutorial is overgenomen uit Christophe Demko: Ontwikkelen van een Model-View-Controller Component/2.5
- "'WAARSCHUWING:"' deze handleiding zal niet de opmerkingen van Demko herhalen. Om deze te zien, neem dan een kijkje op de originele handleiding voor Joomla! 2.5:Ontwikkelen van een MVC-Component voor Joomla! 2.5 - Introductie
Eisen
U heeft Joomla! 3.0 (met PHP, MySQL en Apache/Microsoft-IIS) of hoger nodig voor deze tutorial. Ik verzamelde veel informatie en toen begon ik met het migreren van het component van de nieuwe Joomla! 2.5 naar 3.0. Hieronder wordt een aantal belangrijke gegevens gebruikt voor de migratie. Zie ook alle informatie over migratie Het upgraden van versies. Gebruik "display_errors On" om te helpen met debuggen bij fouten.
Migreren Van Joomla! 2.5 naar Joomla! 3.0
Vergeet niet dat je Legacy moet toevoegen op elke plaats waar u direct JModel, JView of JController 'extend'. Als dit indirect (zoals door JModelList) gebeurt, hoeft het niet; er is al voor gezorgd. Anders dan dat, en het feit dat, zoals lang geleden aangekondigd, verouderde code verwijderd is (ik denk dat JParameter de grootste impact heeft), behoeven extensies slechts kleine wijzigingen ... Hoewel u zult willen kijken naar de veranderingen van de uitvoer waar Kyle aan werkt. Natuurlijk, als u stand-alone platform toepassingen bouwt, is de nieuwe MVC en JApplicationWeb/JApplicationCLI volledig de manier waarop je moet werken; daarnaast is het aardige van de manier waarop we dat hebben gedaan, dat de nieuwe pakketten al direct op uw server meegekomen zijn met het CMS.
Voorbeelden: DS Sinds we de DS constante in 3.0 verwijderd hebben, moeten we het gebruik van de constante in com_media vervangen. De meest onopvallende verandering is eenvoudig te vervangen met PHP's DIRECTORY_SEPARATOR constante aangezien DS een alias is. De aanbevolen manier is echter om eenvoudig de slash te gebruiken, bijvoorbeeld 'components/com_example/models/example.php' in plaats van 'components'.DS.'com_example'.DS.'models'.DS.'example.php'. Dit is windows veilig.
(joomlacode)
if(!defined('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
//$controller = JController::getInstance('HelloWorld');
$controller = JControllerLegacy::getInstance('HelloWorld');
//class HelloWorldViewHelloWorlds extends JView
class HelloWorldViewHelloWorlds extends JViewLegacy
class HelloWorldController extends JControllerLegacy
class HelloWorldModelHelloWorld extends JModelItemLegacy
class HelloWorldModelUpdHelloWorld extends JModelFormLegacy
JRegistry::getValue() now is JRegistry::get()
//Convert sample to JRegistry with LoadJSON - Sample from Joomla! 3.0 sourcecode
// $params = new JRegistry;
// $params->loadJSON($this->item->params);
// $this->item->params = $params;
$params = new JRegistry;
$params->loadString($item->params);
$item->params = $params;
Hier de source-code: http://joomlacode.org/gf/project/hellojoomla3/frs/
Nieuwe MVC in Joomla! 3.0
"Versie 12.1 van het platform introduceert een nieuwe indeling voor het model-view-controller paradigma. In principe zijn de klassen JModel, JView en JController nu interfaces en de basis abstracte klassen zijn nu JModelBase, JViewBase en JControllerBase, respectievelijk. Daarnaast zijn alle klassen vereenvoudigd, door veel van de koppeling met het Joomla! CMS te verwijderen, waar dat niet nodig was voor de zelfstandige Joomla! Platform applicaties." ... Joomla! Platform Handleiding MVC