ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

PHP/CSS/PERL/DB/SERVERコミュの[雑談?] PHP+MYSQL+HTMLでの構造の考え

  • mixiチェック
  • このエントリーをはてなブックマークに追加
筆者ブログで乱文している所ですが、

ちょっと書き残しておこうかと。


私はプログラムを書く際に、

プログラム処理部分をphpファイル。
パソコン画面表示部分をhtmlファイル。
データベース処理部分をphpファイルだがincludeやrequire向けに分けて作成しているんですが、

例えば、プログラムを作成する人と、htmlを作成する人が違う環境、
いわゆるデザイナーと協働する時に便利なわけですね。

その利便性をさらに向上させるために、html上で、php処理によって書き換わる部分や、出力する部分には、特定のルールにのっとった記述をしてもらっています。

さらに例えば、html上で変数を書き込みます。$DATA1$みたいに。


そんなこんなで、html上で置換される要素をphpに直接書いていたんですよ。
しかし、htmlで新しい変数が登場するとphpでも追加を行ったり、変化時には同様に修正が必要なので、
めんどくさい。

あげく、DB部分も変更が必要になってくるので、どうしてもめんどい。


というわけで、もういっちょルールを頑張って、データベースのカラム名で必ず処理するようにすると、
データベースを変更すると、phpもhtmlも変わるような書き方が出来ないかと実験。

例として、データベースで管理者テーブルM_ADMINを作成したとすると、

create tabel M_ADMIN うんたらかんたら
M_ADMIN_name varchar(32) not null primary_key ,
M_ADMIN_id varchar(16) not null unique ,
M_ADMIN_ps varchar(16) not null ,

とか用意したとすると、

管理者登録画面のhtml例えば、html/regist_admin.htmlで、
inputフォーム内の要素に

<input type="text" name="INPUT[INPUT_M_ADMIN_name]" value="$INPUT_M_ADMIN_name$">
みたいにかくんですね。

んで、php側例えば、script/regist_admin.phpで、
$file_data = file("../regist_admin.html");

// 要素を読み込む場合はselect * from M_ADMINで
$rs = mysql_query("DESCRIBE M_ADMIN;");
$i=0;
while($i < mysql_result($rs,$i,0)){
 $column_name = mysql_result($rs,$i,0);
 $_SERVER["TEMP"][$column_name] = "";
} // END while
array_walk($file_data , 'temp_replace');

// あとは本番出力。

// テンプレート上の変数を置換
function temp_replace(&$data_value,&$data_key){
 if(is_array($_SERVER["TEMP"])){
  foreach($_SERVER["TEMP"] as $key => $value){
   $data_value = str_repalce("\$".$key."\$",$value,$data_value);
  } // END foreach
 } // END if
} // function END

とかでやるようになりました。
さらに、データベースのカラム名にルールを課すことができれば、
M_ADMIN_name#max8#とかにする事で、inputフォームの制御とかできそうですが、
まだ考えが確定しない。

selectボックスとかradioボタンである判別は入れてもいいかなーと思ってますが、
M_SELECT_ADMIN_name とか
M_INPUT_ADMIN_name とか
M_RADIO_ADMIN_name とか
M_TAREA_ADMIN_name とか程度は対応できそうだなぁ。と

一箇所変えれば全部変わるようにしたいですのぅ。

コメント(4)

どもども、お久しぶりで御座います。

画面に仰山カラムあるところとか、変更が果てしなくやる気がでなくなるので、
面倒くさがり理論を構築しておかないと、低い山も越えられないという、
とてもプログラマ向きじゃない性質のせいで苦労しますw

しかし、HTMLのデザインについても、
CSSでレイアウトするより、TABLEでレイアウトする方が早いんですよねぇ、
もうちょっとCSSが簡単に編集できればのぅ。DW。
びっちり書きたいけど、
将来といわずに、
なんなら
次の日に変更があるかもしれないと
思いながら、
日々
コードも、デザインも書いて置くと、

やっぱりキタワァ!

みたいな毎日を送れますが、

キタケド嬉しくネェ!

と思わざるを得ないので、
そこまで変更かよぅ!
という時は、再度交渉するが、

ぬぅん。

得てして、
うまく
まとまらない、

変更が多いのは
相手がもう一つ
本腰を入れて考えてないか、

構想が甘すぎるか、
作成者の
補助力不足か。

とかいう背景が付きまといつつも、
いつも編集を行うにつれて、
コードが腐ってくるのが、

イクない!

まるで新品のノートには
綺麗にかけるけど、
2ページ目から字が汚くなる人?子?

DIVDIV!SPAN!
腐りにくい書き方。
当初からもこれからも命題っす。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

PHP/CSS/PERL/DB/SERVER 更新情報

PHP/CSS/PERL/DB/SERVERのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング