Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

include_php

Nome Attributo Tipo Obbligatorio Default Descrizione
file stringa nessuno Nome del file php da includere
once booleano no true Se includere o no il file php più di una volta nel caso venga richiesto più volte
assign stringa no nessuno Nome della variabile cui sarà assegnato l'output di include_php

Nota Tecnica

include_php è deprecato da Smarty, in quanto potete ottenere la stessa funzionalità attraverso una funzione utente. L'unica ragione per usare include_php è se avete una reale necessità di tenere fuori la funzione php dalla directory dei plugin o dal vostro codice applicativo. Vedere l'esempio di template a componenti per i dettagli.

i tag include_php sono usati per includere uno script php nel template. Se la security è abilitata, lo script php si deve trovare nel percorso di $trusted_dir. Il tag include_php deve avere l'attributo "file", che contiene il percorso al file da includere, che può essere assoluto relativo alla directory $trusted_dir.

include_php è un ottimo modo per gestire template a componenti, e tiene il codice PHP separato dai file dei template. Diciamo che abbiamo un template che mostra la navigazione del nostro sito, che viene prelevata dinamicamente da un database. Possiamo tenere la logica PHP che ottiene il contenuto del database in una directory separata, ed includerla in cima al template. Ora possiamo includere questo template ovunque senza preoccuparci che l'applicazione abbia preventivamente caricato i dati del database.

Per default, i file php sono inclusi una sola volta, anche se richiesti più volte nel template. Potete specificare che devono essere inclusi ogni volta con l'attributo once. Se impostate once a false, lo script verrà incluso tutte le volte che viene richiesto nel template.

Opzionalmente potete passare l'attributo assign, che specifica un nome di variabile cui sarà assegnato l'output di include_php, invece di essere visualizzato.

L'oggetto smarty è disponibile come $this all'interno dello script PHP che viene incluso.

Example 7.9. funzione include_php

load_nav.php
-------------

<?php

	// carichiamo le variabili da un db mysql e le assegnamo al template
	require_once("MySQL.class.php");
	$sql = new MySQL;
	$sql->query("select * from site_nav_sections order by name",SQL_ALL);
	$this->assign('sections',$sql->record);

?>


index.tpl
---------

{* percorso assoluto, o relativo a $trusted_dir *}
{include_php file="/path/to/load_nav.php"}

{foreach item="curr_section" from=$sections}
	<a href="{$curr_section.url}">{$curr_section.name}</a><br>
{/foreach}

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors