<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sportegioco</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sportegioco"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Sportegioco"/>
	<updated>2026-06-29T12:14:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881339</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881339"/>
		<updated>2022-02-14T11:53:12Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte del componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il model è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
La seguente riga si trova comunemente all&#039;inizio di Joomla! File PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. [[S:MyLanguage/JEXEC| JEXEC]] contiene una spiegazione dettagliata.&lt;br /&gt;
&lt;br /&gt;
==Tutorial sulla progettazione di un componente MVC==&lt;br /&gt;
Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/9/it&amp;diff=881338</id>
		<title>Translations:Absolute Basics of How a Component Functions/9/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/9/it&amp;diff=881338"/>
		<updated>2022-02-14T11:53:12Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Il model è la parte del componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il model è il solo elemento che deve essere cambiato, non la view o il controller.&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/56/it&amp;diff=881337</id>
		<title>Translations:Absolute Basics of How a Component Functions/56/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/56/it&amp;diff=881337"/>
		<updated>2022-02-14T11:48:43Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*  Joomla! 3.x&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/55/it&amp;diff=881336</id>
		<title>Translations:Absolute Basics of How a Component Functions/55/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/55/it&amp;diff=881336"/>
		<updated>2022-02-14T11:48:41Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*  Joomla! 2.5&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/54/it&amp;diff=881335</id>
		<title>Translations:Absolute Basics of How a Component Functions/54/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/54/it&amp;diff=881335"/>
		<updated>2022-02-14T11:48:38Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*  Joomla! 1.5&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881334</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881334"/>
		<updated>2022-02-14T11:48:27Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
La seguente riga si trova comunemente all&#039;inizio di Joomla! File PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. [[S:MyLanguage/JEXEC| JEXEC]] contiene una spiegazione dettagliata.&lt;br /&gt;
&lt;br /&gt;
==Tutorial sulla progettazione di un componente MVC==&lt;br /&gt;
Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/53/it&amp;diff=881333</id>
		<title>Translations:Absolute Basics of How a Component Functions/53/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/53/it&amp;diff=881333"/>
		<updated>2022-02-14T11:48:26Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881332</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881332"/>
		<updated>2022-02-14T11:48:11Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;==Tutorial sulla progettazione di un componente MVC==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
La seguente riga si trova comunemente all&#039;inizio di Joomla! File PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. [[S:MyLanguage/JEXEC| JEXEC]] contiene una spiegazione dettagliata.&lt;br /&gt;
&lt;br /&gt;
==Tutorial sulla progettazione di un componente MVC==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/52/it&amp;diff=881331</id>
		<title>Translations:Absolute Basics of How a Component Functions/52/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/52/it&amp;diff=881331"/>
		<updated>2022-02-14T11:48:11Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;==Tutorial sulla progettazione di un componente MVC==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tutorial sulla progettazione di un componente MVC==&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881330</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881330"/>
		<updated>2022-02-14T11:47:53Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Ciò consente un punto di ingresso sicuro in Joomla! piattaforma.  JEXEC contiene una spiegazione dettagliata.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
La seguente riga si trova comunemente all&#039;inizio di Joomla! File PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. [[S:MyLanguage/JEXEC| JEXEC]] contiene una spiegazione dettagliata.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/51/it&amp;diff=881329</id>
		<title>Translations:Absolute Basics of How a Component Functions/51/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/51/it&amp;diff=881329"/>
		<updated>2022-02-14T11:47:52Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Ciò consente un punto di ingresso sicuro in Joomla! piattaforma.  JEXEC contiene una spiegazione dettagliata.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. [[S:MyLanguage/JEXEC| JEXEC]] contiene una spiegazione dettagliata.&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881328</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881328"/>
		<updated>2022-02-14T11:47:27Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;La seguente riga si trova comunemente all&amp;#039;inizio di Joomla! File PHP:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
La seguente riga si trova comunemente all&#039;inizio di Joomla! File PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/50/it&amp;diff=881327</id>
		<title>Translations:Absolute Basics of How a Component Functions/50/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/50/it&amp;diff=881327"/>
		<updated>2022-02-14T11:47:26Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;La seguente riga si trova comunemente all&amp;#039;inizio di Joomla! File PHP:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La seguente riga si trova comunemente all&#039;inizio di Joomla! File PHP:&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/49/it&amp;diff=881326</id>
		<title>Translations:Absolute Basics of How a Component Functions/49/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/49/it&amp;diff=881326"/>
		<updated>2022-02-14T11:47:10Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;==JEXEC==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==JEXEC==&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881325</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881325"/>
		<updated>2022-02-14T11:47:00Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/48/it&amp;diff=881324</id>
		<title>Translations:Absolute Basics of How a Component Functions/48/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/48/it&amp;diff=881324"/>
		<updated>2022-02-14T11:46:59Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file php per visualizzare la viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881323</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881323"/>
		<updated>2022-02-14T11:46:38Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/47/it&amp;diff=881322</id>
		<title>Translations:Absolute Basics of How a Component Functions/47/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/47/it&amp;diff=881322"/>
		<updated>2022-02-14T11:46:38Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881321</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881321"/>
		<updated>2022-02-14T11:46:21Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/46/it&amp;diff=881320</id>
		<title>Translations:Absolute Basics of How a Component Functions/46/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/46/it&amp;diff=881320"/>
		<updated>2022-02-14T11:46:20Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881319</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881319"/>
		<updated>2022-02-14T11:44:31Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/45/it&amp;diff=881318</id>
		<title>Translations:Absolute Basics of How a Component Functions/45/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/45/it&amp;diff=881318"/>
		<updated>2022-02-14T11:44:30Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file xml per aggiungere un tipo di voce di menuː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881317</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881317"/>
		<updated>2022-02-14T11:44:12Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/44/it&amp;diff=881316</id>
		<title>Translations:Absolute Basics of How a Component Functions/44/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/44/it&amp;diff=881316"/>
		<updated>2022-02-14T11:44:12Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file php contenente la view predefinitaː &amp;lt;tt&amp;gt;views/&amp;lt;nome_componente&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881315</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881315"/>
		<updated>2022-02-14T11:43:52Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/43/it&amp;diff=881314</id>
		<title>Translations:Absolute Basics of How a Component Functions/43/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/43/it&amp;diff=881314"/>
		<updated>2022-02-14T11:43:52Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un altro file html per il controllo in backgroundː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881313</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881313"/>
		<updated>2022-02-14T11:43:29Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/42/it&amp;diff=881312</id>
		<title>Translations:Absolute Basics of How a Component Functions/42/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/42/it&amp;diff=881312"/>
		<updated>2022-02-14T11:43:28Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file php che rappresenta il model stessoː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881311</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881311"/>
		<updated>2022-02-14T11:43:05Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/41/it&amp;diff=881310</id>
		<title>Translations:Absolute Basics of How a Component Functions/41/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/41/it&amp;diff=881310"/>
		<updated>2022-02-14T11:43:05Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file php che carica la classe controllerː &amp;lt;tt&amp;gt;&amp;lt;nome_componente&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881309</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881309"/>
		<updated>2022-02-14T11:42:43Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/40/it&amp;diff=881308</id>
		<title>Translations:Absolute Basics of How a Component Functions/40/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/40/it&amp;diff=881308"/>
		<updated>2022-02-14T11:42:43Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file php che rappresenta il controller stessoː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881307</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881307"/>
		<updated>2022-02-14T11:42:26Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/39/it&amp;diff=881306</id>
		<title>Translations:Absolute Basics of How a Component Functions/39/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/39/it&amp;diff=881306"/>
		<updated>2022-02-14T11:42:26Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Un file html che è solo un file di sicurezza con un colore di sfondoː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881305</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881305"/>
		<updated>2022-02-14T11:41:55Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Un componente di base conterrà i seguenti file all&amp;#039;interno della sua directoryː&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;br /&gt;
*A html file that is just a security file with a background colorː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/38/it&amp;diff=881304</id>
		<title>Translations:Absolute Basics of How a Component Functions/38/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/38/it&amp;diff=881304"/>
		<updated>2022-02-14T11:41:54Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Un componente di base conterrà i seguenti file all&amp;#039;interno della sua directoryː&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un componente di base conterrà i seguenti file all&#039;interno della sua directoryː&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881303</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881303"/>
		<updated>2022-02-14T11:33:24Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A basic component will contain the following files within its directoryː&lt;br /&gt;
*A html file that is just a security file with a background colorː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/37/it&amp;diff=881302</id>
		<title>Translations:Absolute Basics of How a Component Functions/37/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/37/it&amp;diff=881302"/>
		<updated>2022-02-14T11:33:24Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Il componente Hello World!  verrebbe archiviato in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881301</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881301"/>
		<updated>2022-02-14T11:32:41Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Components are stored in a directory within your Joomla! installation, specifically at: *&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; . I componenti sono...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
The Hello World! component would be stored in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A basic component will contain the following files within its directoryː&lt;br /&gt;
*A html file that is just a security file with a background colorː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/36/it&amp;diff=881300</id>
		<title>Translations:Absolute Basics of How a Component Functions/36/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/36/it&amp;diff=881300"/>
		<updated>2022-02-14T11:32:41Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Components are stored in a directory within your Joomla! installation, specifically at: *&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; . I componenti sono...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
I componenti sono memorizzati in una directory all&#039;interno di Joomla! installazione, in particolare presso:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;percorso_di_joomla&amp;gt;/components/com_&amp;lt;nome_componente&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881299</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881299"/>
		<updated>2022-02-14T11:31:59Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;==Struttura delle directory di base MVC==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Struttura delle directory di base MVC==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
The Hello World! component would be stored in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A basic component will contain the following files within its directoryː&lt;br /&gt;
*A html file that is just a security file with a background colorː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/35/it&amp;diff=881298</id>
		<title>Translations:Absolute Basics of How a Component Functions/35/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/35/it&amp;diff=881298"/>
		<updated>2022-02-14T11:31:58Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;==Struttura delle directory di base MVC==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Struttura delle directory di base MVC==&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881297</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881297"/>
		<updated>2022-02-14T11:31:33Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Hello World! esempio:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! esempio: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MVC Basic Directory Structure==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
The Hello World! component would be stored in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A basic component will contain the following files within its directoryː&lt;br /&gt;
*A html file that is just a security file with a background colorː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/34/it&amp;diff=881296</id>
		<title>Translations:Absolute Basics of How a Component Functions/34/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/34/it&amp;diff=881296"/>
		<updated>2022-02-14T11:31:32Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;Hello World! esempio:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello World! esempio:&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/33/it&amp;diff=881295</id>
		<title>Translations:Absolute Basics of How a Component Functions/33/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/33/it&amp;diff=881295"/>
		<updated>2022-02-14T11:31:18Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/32/it&amp;diff=881294</id>
		<title>Translations:Absolute Basics of How a Component Functions/32/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/32/it&amp;diff=881294"/>
		<updated>2022-02-14T11:31:16Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;administrator access&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;administrator access&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/31/it&amp;diff=881293</id>
		<title>Translations:Absolute Basics of How a Component Functions/31/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/31/it&amp;diff=881293"/>
		<updated>2022-02-14T11:31:12Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/30/it&amp;diff=881292</id>
		<title>Translations:Absolute Basics of How a Component Functions/30/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/30/it&amp;diff=881292"/>
		<updated>2022-02-14T11:31:07Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;user access&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;user access&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881291</id>
		<title>Absolute Basics of How a Component Functions/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Absolute_Basics_of_How_a_Component_Functions/it&amp;diff=881291"/>
		<updated>2022-02-14T11:31:04Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;È possibile utilizzare l&amp;#039;URL del componente o un  Menu per passare al componente. In questo articolo discuteremo dell&amp;#039;utilizzo dell&amp;#039;URL.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos&#039;è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.&lt;br /&gt;
&lt;br /&gt;
==Cos&#039;è un Componente di Joomlaǃ==&lt;br /&gt;
{{Chunk:Component/en}}&lt;br /&gt;
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).&lt;br /&gt;
&lt;br /&gt;
==Introduzione all&#039;MVC==&lt;br /&gt;
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l&#039;interfaccia e l&#039;interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l&#039;input tradizionale, elaborazione, l&#039;output in una logica di architettura GUI.&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Il model è la parte della componente che incapsula i dati dell&#039;applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev&#039;essere incapsulata nel model. In questo modo, se un&#039;applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all&#039;interazione. Per un&#039;applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all&#039;utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all&#039;utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Il controller è responsabile della risposta alle azioni dell&#039;utente. Nel caso di un&#039;applicazione web, un&#039;azione dell&#039;utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall&#039;utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.&lt;br /&gt;
&lt;br /&gt;
== Joomla! Spiegazione del Component Framework  ==&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.&lt;br /&gt;
&lt;br /&gt;
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:&lt;br /&gt;
&lt;br /&gt;
The class &#039;&#039;HelloWorldView&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; risiede in &#039;&#039;site/views/&#039;&#039;&#039;helloworld&#039;&#039;&#039;/view.html.php&#039;&#039; e utilizzerà la classe &#039;&#039;HelloWorldModel&#039;&#039;&#039;HelloWorld&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;helloworld&#039;&#039;&#039;.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi supponiamo solo di voler usare una view immaginaria &#039;&#039;fluffy&#039;&#039;, dovresti avere:&lt;br /&gt;
&lt;br /&gt;
La classe &#039;&#039;HelloWorldView&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; che risiede in &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/view.html.php&#039;&#039;. La view utilizzerà &#039;&#039;HelloWorldModel&#039;&#039;&#039;Fluffy&#039;&#039;&#039;&#039;&#039; nel file &#039;&#039;site/models/&#039;&#039;&#039;fluffy&#039;&#039;&#039;&#039;.php&#039;&#039;. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: &#039;&#039;site/views/&#039;&#039;&#039;fluffy&#039;&#039;&#039;/tmpl/default.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accesso a un Component Joomlaǃ==&lt;br /&gt;
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 | 1&lt;br /&gt;
 | user access&lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | 2&lt;br /&gt;
 | administrator access &lt;br /&gt;
 | &amp;lt;tt&amp;gt;&amp;lt;yoursite&amp;gt;/joomla/administrator/index.php?option=com_&amp;lt;component_name&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Hello World! example: &amp;lt;tt&amp;gt;localhost/joomla/index.php?option=com_helloworld&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MVC Basic Directory Structure==&lt;br /&gt;
Components are stored in a directory within your Joomla! installation, specifically at:&lt;br /&gt;
*&amp;lt;tt&amp;gt;htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_&amp;lt;component_name&amp;gt;/&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
The Hello World! component would be stored in &amp;lt;tt&amp;gt; htdocs/&amp;lt;path_to_joomla&amp;gt;/components/com_helloworld/&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A basic component will contain the following files within its directoryː&lt;br /&gt;
*A html file that is just a security file with a background colorː &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the controller itselfː &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that loads the controller classː &amp;lt;tt&amp;gt;&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file that represents the model itselfː &amp;lt;tt&amp;gt;models/&amp;lt;component_name&amp;gt;.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;models/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file containing the default viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A xml file for adding a menu item typeː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/default.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/tmpl/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Another html file for background controlː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/index.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*A php file for displaying the viewː &amp;lt;tt&amp;gt;views/&amp;lt;component_name&amp;gt;/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JEXEC==&lt;br /&gt;
The following line is commonly found at the start of Joomla! PHP files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.&lt;br /&gt;
&lt;br /&gt;
==Tutorials on Designing a MVC Component==&lt;br /&gt;
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.&lt;br /&gt;
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]&lt;br /&gt;
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]&lt;br /&gt;
* [[S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction| Joomla! 3.x]]&lt;br /&gt;
* [[S:MyLanguage/J4.x:Developing_an_MVC_Component| Joomla! 4.x]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
[[Category:Explanations{{#translation:}}]]&lt;br /&gt;
[[Category:Component Development{{#translation:}}]]&lt;br /&gt;
[[Category:Beginner Development{{#translation:}}]]&lt;br /&gt;
[[Category:Development Recommended Reading{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/29/it&amp;diff=881290</id>
		<title>Translations:Absolute Basics of How a Component Functions/29/it</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Absolute_Basics_of_How_a_Component_Functions/29/it&amp;diff=881290"/>
		<updated>2022-02-14T11:31:04Z</updated>

		<summary type="html">&lt;p&gt;Sportegioco: Created page with &amp;quot;È possibile utilizzare l&amp;#039;URL del componente o un  Menu per passare al componente. In questo articolo discuteremo dell&amp;#039;utilizzo dell&amp;#039;URL.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;È possibile utilizzare l&#039;URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell&#039;utilizzo dell&#039;URL.&lt;/div&gt;</summary>
		<author><name>Sportegioco</name></author>
	</entry>
</feed>