Smartyを使って環境変数やリクエスト変数を出力しちゃうよ

smarty

みなさーん、Smartyのマニュアルで予約変数の項目を見ていたら環境変数やリクエスト変数を簡単に出力する方法があることを知ってしまいました。。
今までは、PHP側で設定してSmartyにassignしていましたよ・・・。

環境変数、リクエスト変数とは

PHPでは$_ENVを使って表示できるやつですね。こんな感じで使いますよね。

$remote_addr = $_ENV['REMOTE_ADDR'];
$host = $_ENV['HTTP_HOST'];
$script = $_ENV['SCRIPT_NAME'];

Smartyで取得する方法は

{$smarty.env.REMOTE_ADDR}
{$smarty.env.HTTP_HOST}
{$smarty.env.SCRIPT_NAME}

と書くことで可能です。便利!

また、リクエスト変数もSmartyで表示できちゃいます。
PHPでは

$id = $_GET['id'];
$user_name = $_POST['user_name'];

と記述するものを、Smartyでは

{$smarty.get.id}
{$smarty.post.user_name}

※↑オススメできない使用方法

のようにして使用することが可能です。
ただし、リクエスト変数はそのまま表示してしまうと悪意のあるjavascriptが実行されてしまう可能性があるため、

{$smarty.get.id|escape:'html'}
{$smarty.post.user_name|escape:'html'}

※↑オススメできる使用方法

としてエスケープするようにしましょう。

いやー、Smartyって本当に素晴らしいですね・・・!

プロから直接学べるプログラミングスクールの紹介!PHPコースあり!

自己流でプログラミングを覚えようとすると、環境設定でつまづく、書いたプログラムがなぜ動かないか解決できず、多大な時間を浪費してしまいがちです。

担当の指導者(メンター)が付いてくれるTechAcademyなら、分からないことをどんどん質問して解決できます!コードレビューしてもらえるのも素晴らしい点ですね。

【TechAcademy】家で学べるプログラミングスクール

Web制作会社が立ち上げたWebデザイナー育成スクール Web塾超現場主義

Web制作に実際に携わっている講師陣が、現場で通用するスキルを伝授します!卒業後は転職支援、仕事紹介などを行っており、フリーランス独立する道を探すこともできそうです。

また「独立・開業はちょっと...」という方へは、当社の制作案件をお手伝いして頂く道も開けます。
Facebookアカウントでコメント

※本コメント機能はFacebookによって提供されており、この機能によって生じた損害に対してザ サイベースは一切の責任を負いません。

smarty

ABOUTこの記事を書いた人

とみっち

埼玉でザ サイベースを主催しています。Webクリエイター。フリーランス歴7年。飄々と生きています。これでも育児頑張ってます。長野市出身。 @tomicci 詳しいプロフィール【興味】ギター/DTM/Web/車/田舎/旅/酒/育児 自然の音からデスメタルまで聴きます。【運営サイト】 ザ サイベース おと風景