blog.ishinao.net

214月/04

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'
);
?>

実行例

このエントリーを含むはてなブックマークはてなブックマーク - PHPでコードビハインド(@ASP.NET)風に記述してみるテスト (13:51) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
214月/04

宣伝REFERER付きブラウザ? (13:51)

もしかして、宣伝用のREFERERをブラウザというかProxomitronあたりでセットして、あちこち回っている人とかいるんですか? なんかスクリプトを使った絨毯爆撃系ではない雰囲気を感じるREFERERの足跡を最近見かけるのですが。いわゆる絨毯爆撃系REFERER SPAMみたいには迷惑ではないし、場合によってはそういう宣伝方法もありかなと思ったりしつつも、本来期待される値とは異なる値を偽造して通知してくるという手法はやっぱりだめな気がする。

このエントリーを含むはてなブックマークはてなブックマーク - 宣伝REFERER付きブラウザ? (13:51) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
214月/04

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を使う、なんて使い分けが必要なのかな?

このエントリーを含むはてなブックマークはてなブックマーク - AirH&#8221; 128kオプションに申し込んだ (13:51) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
214月/04

構造的弱者の構造的強さ (13:51)

を読んだら、昔自分で書いた文章のことを思い出したのでそれを転載しておこう。

 構造的弱者というものが,逆に構造的な強さを持ってしまうことがある。構造的弱者を保護するための仕組みが,必要以上に行使されてしまう場合だ。

 構造的弱者というものを定義する際には,その定義における弱い立場の人間を標準とする。

 そうすると,その定義には当てはまるものの,本来メインターゲットとしていない人間までもが,構造的弱者を保護するための力を行使することができうる。

 構造的弱者であることを盾にとった強さの行使は,その力を成立させる源となる社会的心情を,逆なですることになるのではないか。

 そうなってくると,もはやその構造的弱者を守るための仕組みそのものの存在意義が疑われ始める。もしもその仕組みがなくなってしまうと,真の構造的弱者が困るのに。

 そのような事態を避けるためには,構造的弱者の定義を変更して本当に保護が必要な人間のみが対象になるようにするか,あるいは構造的弱者の範疇にはいりうるがその保護力は必要ない人間はその力を行使できないようにした方がいいだろう。

このエントリーを含むはてなブックマークはてなブックマーク - 構造的弱者の構造的強さ (13:51) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
214月/04

付箋紙表現を使った究極のWiki (3) (13:51)

やっぱり付箋紙が動かないのはつまらないんで、

を使って付箋紙を動くようにしてみた。

このエントリーを含むはてなブックマークはてなブックマーク - 付箋紙表現を使った究極のWiki (3) (13:51) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments