PHP Smarty

Smarty

PHPのテンプレートエンジンとして有名なものにSmarty(http://smarty.php.net/)があります。Mac OS X 10.3.9 で使ってみました。

まずはサイトからダウンロード
http://smarty.php.net/download.php

次の手順で sample.smarty ディレクトリの下にセットアップしました。

mkdir sample.smarty
mkdir sample.smarty/htdocs
mkdir sample.smarty/lib
mkdir sample.smarty/lib/Smarty
tar xzf ~/Smarty-2.6.18.tar.gz
mv Smarty-2.6.18/libs/* sample.smarty/lib/Smarty/
rm -fr Smarty-2.6.18/
mkdir sample.smarty/etc
mkdir sample.smarty/etc/templates
mkdir sample.smarty/etc/templates_c
mkdir sample.smarty/etc/cache
mkdir sample.smarty/etc/configs

PHPファイル(sample.smarty/htdocs/index.php)は次のようになります。
<?php
require(‘../lib/Smarty/Smarty.class.php’);
$smarty = new Smarty();

$smarty->template_dir = ‘../etc/templates’;
$smarty->compile_dir = ‘../etc/templates_c’;
$smarty->cache_dir = ‘../etc/cache’;
$smarty->config_dir = ‘../etc/configs’;

$smarty->assign(‘name’, ‘hiro345’);
$smarty->display(‘index.tpl’);

?>

テンプレートファイル(smarty.sample/etc/templates/index.tpl)を用意します。

<html>
<head>
<title>Smarty</title>
</head>
<body>
Hello, {$name}!
</body>
</html>

カレントディレクトリをsample.smarty/htdocsとして実行すると、次のようになります。
———
$ php -f index.php 
<html>
<head>
<title>Smarty</title>
</head>
<body>
Hello, hiro345
</body>
</html>

簡単ですね。ディレクトリの指定が相対ディレクトリなので、実際のWebアプリケーションを開発するときには、絶対ディレクトリにする必要がありそうです。コマンドラインだけで確認してみたわけですが、本格的に使うには、GETパラメータやPOSTパラメータが必要なので、きちんとApacheなども準備しなければならなそうです。

Ruby

Ruby 1.6で動作するプログラムがあるのですが、いまから移植するならやっぱり Ruby 2.0 でしょうか。JRuby 1.0という手もあるのですが。などと考えてみたりする今日この頃。

Kyoto

東京、新大阪と行ってきましたが、帰りに京都駅に寄ってきました。京都ではなくて京都駅だというのがポイントなのですが、たまにはこういうことがあってもいいかな、と思いました。今週は湘南に行く事になったのですが、ちょっと移動が多くて大変なので、前か後のどちらかに宿泊をつけようかと考えています。

Life

教育について話をした。田舎はどうだろうという話がでた。

Return of iBook

再度、iBookを分解。ディスクのマウントをしっかりとするためです。ハードディスクのマウント用の突起が「ねじ」だったということに気がついたので、気力があるうちにやったというわけです。

組み立て中に、「カランカラン」と何かが落ちる音がしたけど、何が落ちたかわからない、とか、マウスが動かない!、とか、無線LANへ接続できない!、とか何かとトラブルが発生したのですが、とりあえずすべてクリアしました。たぶん、調子がよくなったはず…

ちなみに、また足が1つなくなりました。困ったもんだ。

カテゴリー: Mac

rdesktop

Windows VistaマシンへVirtual PC をインストールして、その上でWindows XPを稼働させている環境を用意しています。リモートからWindows XPを使うときには、最初に Vistaマシンへアクセスをしてから Windows XPを起動するのですが、そのままVistaマシンを経由して使っているとどうもレスポンスが良くありません。

ためしに、Vistaはそのままにしておいて、Windows XPへ直接リモートアクセスしたところ、かなり快適に動作しました。なんとなくですが、Vistaではエアロをオンにしてあるので、仮想マシンのWindows XPをその上で表示すると、影響があって遅くなっているような気がします。

とりあえず、快適に動作する方法で対応しようかと考えています。仮想マシンのIPアドレスはDHCPで取るようにしていたのですが、こういう使い方を想定すると、MACアドレスと対応させて、DHCP側から固定で付与するようにしてしまった方がよさそうです。

ところで、インターネットから自分の家のリモートデスクトップへSSH経由でアクセスできるような環境も用意したのですが、最初はうまくいきませんでした。家でチェックするにあたり、Linuxマシンからチェックすることにしようと思って、Fedora Core 6 へ rdesktop 1.5.0 をインストールしました。ソースからコンパイルしましたが簡単に入りました。これを使うとVistaへアクセスできました。ただし、色深度が16までしかサポートしていないようです。rpm版の1.4ではダメでした。

# tar xzf rdesktop-1.5.0.tar.gz
# cd rdesktop-1.5.0
# ./configure –prefix=/usr/local/rdesktop
# make
# make install

画面サイズを指定したい場合
$ /usr/local/rdesktop/bin/rdesktop -g 1024×768 192.168.1.123

フルスクリーン
$ /usr/local/rdesktop/bin/rdesktop -f 192.168.1.123

参考資料
– rdesktop: A Remote Desktop Protocol client
 http://www.rdesktop.org/
– @IT:Windows XPのリモートデスクトップ機能を使うには
 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/431usexprd.html