PHPでコードビハインド(@ASP.NET)風に記述してみるテスト (13:51)
ひとまずこのレベルならばふつうに動く。ごついクラスを作ってかぶせれば、もっとASP.NETっぽいこともいろいろできるだろう(簡略化のために以下のサンプルではshort_open_tagをonにしているけれども、個人的にはshort_open_tagをoffにしつつ、phpx側の処理にもう一段ラッピングするアプローチの方がいいと思う。イベントハンドラもどきみたいなこともできるだろうし)。
ただ問題は、コードビハインド風の記述方法がさしてすばらしいとは思えないところにある。コンパイル言語ならば、ロジックをコードビハインドに分離しておいてそっちはコンパイルしつつ、テンプレート的な部分は自由に変更できる、というアプローチもそれなりに有効だろうが。
でもまあ、一般的なテンプレートエンジンを使った記述方法よりも、テンプレートとファイル(URL)とロジックの関係が明確になるという利点は結構捨てがたいかも。一般的なテンプレートエンジンを使うと、パーツのテンプレートファイルと本体のテンプレートファイルの管理がいまいちきれいにできないんだよな。でもその利点のためだけにこれだけのオーバーヘッドを許容できるかなー。
.htaccess
AddType application/x-httpd-php .phpx php_value short_open_tag on php_value auto_prepend_file code_behind_engine.php
code_behind_engine.php
<?php
_CBE_EXECUTE();
function _CBE_EXECUTE() {
$__currentFile = $_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME'];
$__scriptFile = $__currentFile.'.php';
if (file_exists($__scriptFile)) {
include $__scriptFile;
}
include $__currentFile;
exit;
}
function h($str) {return htmlspecialchars($str);}
?>
test.phpx
<html> <head> <title><?=h($title) ?></title> </head> <body> <h1><?=h($title) ?></h1> <ul> <?php foreach ($hash as $key => $value): ?> <li><?=h($key) ?> is <?=h($value) ?></li> <?php endforeach; ?> </ul> </body> </html>
test.phpx.php
<?php $title = 'テスト'; $hash = array( '123' => 'abc', 'あいう' => 'XYZ', 'http://ishinao.net/' => 'ishinao@ishinao.net', '<b>aaa</b>' => 'bold' ); ?>
実行例
宣伝REFERER付きブラウザ? (13:51)
もしかして、宣伝用のREFERERをブラウザというかProxomitronあたりでセットして、あちこち回っている人とかいるんですか? なんかスクリプトを使った絨毯爆撃系ではない雰囲気を感じるREFERERの足跡を最近見かけるのですが。いわゆる絨毯爆撃系REFERER SPAMみたいには迷惑ではないし、場合によってはそういう宣伝方法もありかなと思ったりしつつも、本来期待される値とは異なる値を偽造して通知してくるという手法はやっぱりだめな気がする。
AirH” 128kオプションに申し込んだ (13:51)
ゴールデンウィーク対策として、AirH"の128kオプションに申し込んでおいた。一昨日の昼にPicnic(https://picnic.ddipocket.co.jp/telmecall/servlet/main)とかいうDDI Pocketユーザー向けWebサイトで申し込み、本日開通。
32k契約中(128kオプション無効)のときには、128k接続用電話番号にはダイアルアップできないのね。128kがだめだったら、自動的に32kで接続してくれたりするかと思っていのに。そうなると、切り替えの前後でダイアルアップ先を意識して切り替える必要があるのか。面倒だな。
ただ、まだほとんど使っていないんだけど、128k接続って32kと比べるとずいぶん不安定っぽいな。粘り腰に欠けるというか、単純に言うと、回線状態が悪くなったらすぐに切断されてしまうっぽい。その印象が本当ならば、普段は32k中心で使って、電波状態がいいときだけ128kを使う、なんて使い分けが必要なのかな?
構造的弱者の構造的強さ (13:51)
- 弱者の特権を権力として濫用する者 - http://amrita.s14.xrea.com/d/?date=20040421#p01
を読んだら、昔自分で書いた文章のことを思い出したのでそれを転載しておこう。
- 構造的弱者の構造的強さ - http://ishinao.net/ruins/diary/200007.htm#20001025223520
構造的弱者というものが,逆に構造的な強さを持ってしまうことがある。構造的弱者を保護するための仕組みが,必要以上に行使されてしまう場合だ。
構造的弱者というものを定義する際には,その定義における弱い立場の人間を標準とする。
そうすると,その定義には当てはまるものの,本来メインターゲットとしていない人間までもが,構造的弱者を保護するための力を行使することができうる。
構造的弱者であることを盾にとった強さの行使は,その力を成立させる源となる社会的心情を,逆なですることになるのではないか。
そうなってくると,もはやその構造的弱者を守るための仕組みそのものの存在意義が疑われ始める。もしもその仕組みがなくなってしまうと,真の構造的弱者が困るのに。
そのような事態を避けるためには,構造的弱者の定義を変更して本当に保護が必要な人間のみが対象になるようにするか,あるいは構造的弱者の範疇にはいりうるがその保護力は必要ない人間はその力を行使できないようにした方がいいだろう。