include_php 関数LOGIN

include_php 関数

include_php 関数:

include_php は、PHP コードをテンプレート ファイルから分離する、テンプレートのコンポーネント化の問題を解決する良い方法です。

例: サイト ナビゲーションを表示するためにデータベースからデータを動的に取得するテンプレートがあるとします。データ コンテンツは php で取得できます。 論理部分を分離し、別のフォルダー

に保存し、テンプレートの先頭に php スクリプトを含めます。その後、前のデータベースを気にせずに、このテンプレートをどこにでも含めることができます。情報はプログラムによって取得されました。

PHP ファイルがテンプレート内で複数回呼び出された場合でも、デフォルトではそれらは 1 回だけ含まれます。once 属性を設定して、それを示すことができます。

once 属性が false に設定されている場合、ファイルは呼び出されるたびに再インクルードされます。assign 属性が設定されています。 、この属性に対応する変数名は、インクルードされる PHP ファイルの出力を保存するために使用されるため、インクルードされる PHP ファイルの出力は直接表示されません。

#smarty オブジェクトには、含める php ファイル内の $this を通じてアクセスできます。

load_nav.php:

<?php
// load in variables from a mysql db and assign them to the template
// 从mysql数据库中取得数据,将数据赋给模板变量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:

{* absolute path, or relative to $trusted_dir *}
{* 绝对路径或 $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}

次のセクション

<?php echo "include_php函数";
コースウェア