Joomla! Programmierung/Framework
Aus Joomla! Dokumentation
Ein Framework (engl. für „Rahmenstruktur, Fachwerk“) ist ein Programmiergerüst, das in der Softwaretechnik, insbesondere im Rahmen der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen, verwendet wird.
Ein Framework ist selbst noch kein fertiges Programm, sondern stellt den Rahmen, innerhalb dessen der Programmierer eine Anwendung erstellt, zur Verfügung, wobei u. a. durch die in dem Framework verwendeten Entwurfsmuster auch die Struktur der individuellen Anwendung beeinflusst wird. Beispielsweise unterstützten die MFC das Model-View-Controller-Muster.
Ein Framework gibt somit in der Regel die Anwendungsarchitektur vor.
- Von Wikipedia
Joomla! Framework
Joomla! 1.5 ist ein dreigeteiltes System.
Erweiterungen Ebene
Der Anfang, die Erweiterungen Ebene, besteht aus Erweiterungen des Joomla Frameworks und seine Anwendungen:
- Modules ToDo Verlinken
- Components ToDo Verlinken
- Templates ToDo Verlinken
Anwendungen Ebene
Die Mitte, die Anwendungen Ebene, besteht aus Anwendungen, welche die Framework JApplication Klasse erweitern. Aktuell sind vier Applikationen in Joomla! vorhanden:
- JInstallation ist für die Installation von Joomla! auf einem Webserver verantwortlich und wird nach dem Installationsvorgang gelöscht.
- JAdministration ist für die Backend Administration verantwortlich.
- JSite ist für das Frontend der Webseite verantwortlich.
- XML-RPC ToDo Verlinken unterstützt remote Administration der Joomla! Webseite.
Framework Ebene
Zuunterst, die Framework Ebene, besteht aus:
- dem Joomla! Framework selbst, dessen Klassen weiter unten aufgelistet sind.
- Programmbibliotheken die für das Joomla! Framework von Nöten sind oder für 3rd Party Entwickler zur Verfügung gestellt werden.
- Plugins ToDo Verlinken erweitern die vorhandene Framework Funktionalität.
Joomla! Framework Pakete
Die Klassen des Joomla! Framework sind lose in die verschiedenen unten aufgelisteten Pakete gruppiert. Die Links bringen Sie zu weiteren Informationen und, wo es möglich ist, Anwendungsbeispielen für jede Klasse. Sie können das Joomla! Framework und die eingebundenen Programmbibliotheken auch auf api.joomla.org, eine automatisch von phpDocumentator generierte Auflistung des Joomla! Quellcodes, durchsuchen. Diese zwei Quellen, eine per Hand erstellt, die andere automatisch generiert, sind dazu gedacht, sich gegenseitig zu ergänzen.
Wenn Sie uns beim Verbessern dieser Referenz helfen wollen, lesen Sie bitte Joomla! API Referenz Projekt.
Grundlegende Klassen
Eine der wichtigsten Klassen des Joomla! Frameworks, die statische JFactory Klasse, sollten sie zu allererst kennenlernen. Sie stellt über das Singleton Entwurfsmuster Instanzen wichtiger Basisklassen zur Verfügung, z.B. die Konfiguration, Datenbank, Benutzer usw.
Access
Application
Die Joomla! Implementation der Elemente des MVC Patterns (Model, View und Controller) wird hier definiert.
- JApplication
- JApplicationHelper
- JCategoryTree
- JCategoryNode
- JComponentHelper
- JController
- JMenu
- JModel
- JModelItem
- JModelList
- JModuleHelper
- JPathway
- JRouter
- JView
Backup
Base
Cache
- JCache
- JCacheCallback
- JCacheOutput
- JCachePage
- JCacheStorage
- JCacheStorageApc
- JCacheStorageEaccelerator
- JCacheStorageFile
- JCacheStorageMemcache
- JCacheStorageXCache
- JCacheView
Client
Database
- JDatabase
-
JDatabaseQuery
-
JDatabaseQueryElement
- JDatabaseMySQL
- JDatabaseMySQLi
-
JDataLoad
-
JDataLoaderSQL
- JRecordSet
- JTable
- JTableARO
- JTableAROGroup
-
JTableAsset
-
JTableBackup
-
JTableBackupEntry
- JTableCategory
- JTableComponent
- JTableContent
-
JTableExtension
- JTableMenu
- JTableMenuTypes
- JTableModule
-
JTableNested
- JTablePlugin
- JTableSection
- JTableSession
-
JTableTree
-
JTableUpdate
- JTableUser
-
JTableUsergroup
Document
- JDocument
- JDocumentError
- JDocumentFeed
- JDocumentHTML
- JDocumentJSON
- JDocumentPDF
- JDocumentRaw
- JDocumentRenderer
- JDocumentRendererAtom
- JDocumentRendererComponent
- JDocumentRendererHead
- JDocumentRendererInstallation
- JDocumentRendererMessage
- JDocumentRendererModule
- JDocumentRendererModules
- JDocumentRendererRSS
- JDocumentVCARD
- JDocumentXML
- JFeedEnclosure
- JFeedImage
- JFeedItem
Environment
Error
Event
Filesystem
- JArchive
- JArchiveBzip2
- JArchiveGzip
- JArchiveTar
- JArchiveZip
- JFile
- JFilesystem
- JFilesystemFTP
- JFilesystemHelper
- JFilesystemSSH
- JFilesystemPHP
- JFolder
- JPath
- JStream
- JStreamString
- JStringController
Filter
Form
- JForm
- JFormField
- JFormFieldAccessLevels
- JFormFieldAccessSections
- JFormFieldCalendar
- JFormFieldCategories
- JFormFieldCheckbox
- JFormFieldCombo
- JFormFieldEditor
- JFormFieldEditors
- JFormFieldFile
- JFormFieldHelpsites
- JFormFieldHidden
- JFormFieldIntegers
- JFormFieldLanguages
- JFormFieldList
- JFormFieldMedia
- JFormFieldPassword
- JFormFieldRadio
- JFormFieldSpacer
- JFormFieldText
- JFormFieldTextarea
- JFormFieldTimezones
- JFormFieldUserGroups
- JFormRule
- JFormRuleBoolean
- JFormRuleEquals
- JFormRuleEmail
- JFormRuleUsername
- JFormValidator
HTML
Es befinden sie in ihm Standard HTML Elemente z.B. zur Erzeugung von Selectlisten oder Toolbars, eine Klasse die für die Paginierung zuständig ist, Klassen welche das Erstellen von Seitenelementen aus der Mootools Bibliothek vereinfachen wie z.B. Tabs oder Slider, und auch der Form Token zum Schutz Ihrer Formulare kann hiermit leicht erzeugt werden.
- JButton
- JButtonConfirm
- JButtonCustom
- JButtonHelp
- JButtonLink
- JButtonPopup
- JButtonSeparator
- JButtonStandard
- JEditor
- JElement
- JElementCalendar
- JElementCategory
- JElementEditors
- JElementFileList
- JElementFolderList
- JElementHelpsites
- JElementHidden
- JElementImageList
- JElementLanguages
- JElementList
- JElementList_AssetGroups
- JElementMenu
- JElementMenuItem
- JElementPassword
- JElementRadio
- JElementSection
- JElementSpacer
- JElementSQL
- JElementText
- JElementTextarea
- JElementTimezones
- JElementUserGroup
- JHtml
- JHtmlAccess
- JHtmlAcl
- JHtmlBehavior
- JHtmlContent
- JHtmlEmail
- JHtmlForm
- JHtmlGrid
- JHtmlImage
- JHtmlList
- JHtmlMenu
- JHtmlSelect
- JContent
- JPagination
- JPaginationObject
- JPane
- JPaneTabs
- JPaneSliders
- JParameter
- JToolBar
Installer
- JDependency
- JExtension
- JInstaller
- JInstallerComponent
- JInstallerFiles
- JInstallerHelper
- JInstallerLanguage
- JInstallerLibrary
- JInstallerModule
- JInstallerPackage
- JInstallerPlugin
- JInstallerSQL
- JInstallerTemplate
- JLibraryManifest
- JPackageManifest
Language
Plugin
Registry
- JRegistry
- JRegistryFormat
- JRegistryFormatINI
- JRegistryFormatPHP
- JRegistryFormatXML
- JRegistryFormatJSON
Session
- JSession
- JSessionStorage
- JSessionStorageApc
- JSessionStorageDatabase
- JSessionStorageEaccelerator
- JSessionStorageMemcache
- JSessionStorageNone
- JSessionStorageXcache
Task
Template
- JTemplate
- patTemplate_Function_Sef
- patTemplate_Function_Translate
- patTemplate_Modifier_SEF
- patTemplate_Modifer_Translate
Updater
User
Utilities
- JArrayHelper
- JBuffer
- JDate
- JSimpleCrypt
- JSimpleTemplate
- JSimpleXML
- JSimpleXMLElement
- JString
- JUtility

