PHP: 2007年11月アーカイブ

ちょっと疑問なことがありました。
phpのヒアドキュメントで一部の処理でエラーが出て先に進めないという事態が!!
まぁ、記述と考え方が間違っていたというのが正しいのですが
それって、だめなの?と思っちゃったので記録に残しておきます。

$data =<<<EOF
 サンプル文章です。
この中に変数は使えるはずです。
例えば[$str_sample]

しかし、これはエラーになります。 [$str_sample.testです。] EOF;

「$変数」と「.」(ドット)の使用が続くと処理として成り立たない模様でした。
深く調査しなかったので知っている方がおりましたらご教授いただけませんでしょうか。

Smartyのテンプレート内で、さらにテンプレートを読み込み
そこに設定してある変数に値を設定したいという処理が必要になり調べてみました。

調査したところ{include}という関数が存在することがわかりました。
使い方は下記のような雰囲気です。
{include file="***.tpl"}

読み込んだテンプレート内に記述している変数などには
読み込み元と同様の変数対応が出来るようです。


<?php
$file_name = "read.tpl";
$include_file_name = "sample.tpl";
//Smartyへ値をセット
//Smartyのテンプレート読込み(read.tpl)
?>

read.tpl
<head>
読み込み元です。
ファイル名は「$file_name」です。
下は読み込んだファイルの中身です。
-------------------------------------------------
{include file="sample.tpl"}
-------------------------------------------------
</head>

sample.tpl
読み込まれたファイルです。
ファイル名は「$include_file_name」です。


[出力]
読み込み元です。
ファイル名は「read.tpl」です。
下は読み込んだファイルの中身です。
-------------------------------------------------
読み込まれたファイルです。
ファイル名は「sample.tpl」です。
-------------------------------------------------

このアーカイブについて

このページには、2007年11月以降に書かれたブログ記事のうちPHPカテゴリに属しているものが含まれています。

前のアーカイブはPHP: 2007年8月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

PHP: 2007年11月: 月別アーカイブ

Powered by Movable Type 4.261