弊社では社内にいくつかのライブラリを持っています。その一つがafromと呼ばれるもので、フォームなどの画面遷移コントロールモジュールになっています。
元々このaformは弊社のCTOである浅川が開発し、社内で整備をしてきました。現在ははVer5.0まで来ています。以下本人が大分前に社内で発言した内容の一部をご紹介します。
aformの思想は、
aform0 漁民(漁師の産直ネット店舗)
aform1 農民(農家の産直ネット店舗)のために開発されました。もう10年くらい前の話です。更に、このaform0とaform1の間には、デザイナーに 使ってもらうためのバリエーションがあります。もっともそれはその場限りで作ったもののため、現在は残っていま せん。
nameをいじるというアイデアは私が十数年前に最初に作ったCGIで実現しました(これをつくりながらCGIを理解した)
例えば注文フォームにおいて、商品名、重さ、金額というのを、フォームに直接書いて漁民が、簡単に更新できる様にしたときに思いついた。これがaform0です。
次に導入したのが、aform1でした(農民用)。
これはHomePage Builderで、何も考えずに、確認画面を作ることを目的 としています。
htmlは、非プログラマが作るべき、というのが原則です。そのため、拡張子を、php(MとC)と、html (V)で使い分けています。そ れはテンプレートつかえば良いという指摘もありますが、テンプレートでは、HomePage BuilderやDreamweverのプレビューが使えない ので駄目なのです。そもそも、PHP自身が巨大なテンプレートエンジンなのに、そいつの 上に、さらにテンプレートのせるのはナンセンスです。
初代のPHPは、まったく使う気のしないテンプレートエンジンでした。それが、制御構造に拡張をくわえて言語になってしまったのが現状 です。なので、Smartyなども、生き残れば、また別の言語になってくる可能性はある。
テンプレート使うなら、JAVAとかCで書いたものを使う方が良い。JavaScriptの使用は、上記の通り非プログラマに使わせる、という 原則を考慮した際、なじみません。
昔はregister_global = ONの想定してつくっていたのですが(DEFAULTOFFは苦肉の拡張)名称 なんて今はもう使ってません。変数を番号で扱うのはダサイですし、チエックキーに拡張性がありません。
・・・・スクリプト部分の開始/終了記号に<?php,?>では無く、 aspライクな<%,%>を使っていますが、これはaformを作成した当時、aspタ グ以外の書式を、Dreamweverが正しく処理できなかったからです。aspタグですと、プレビューではaspと勘違いしてしまうためです。 そのため、昔のソースとそれを元にしたものについては、aspタグが残っています。
現在のDreamweverは、<?phpと書くと、拡張子がphpの場合には関数補完などをしてくれるので、今は<?phpで書くようにしてください。 ただし、ショートタグの<? ?>は使わないでください。xml を使う場合に不都合があるためです・・・・
コメント