ガバメントクラウド

ガバメントクラウドの最下に標準仕様書というものがあったので、個人的に355頁の実装を始めてみた。
・./imgs/
・./models/
・./succeeds/
・./supports/
のフォルダを作ってから、以下を実行すると、PHPのひな形を吐き出してくれる。
ViewクラスにHTMLのテンプレも書いてから吐き出せばもっと楽になるでしょう。
まあ問題はその後に必要になるデータベースなわけですが、そこは、upper、this、this_rayer、type、name、dataというものをとにかく構造化し続ける感じにしたいところ。テーブルが一つで済むので。
吐き出す$controller.phpが大きくなりすぎるので、それはまた異なるファイルを最後に手書きした。
<?php
//【住民記録システム】業務フロー1.1.7
$names = array("旧氏の管理_from_請求人_to_開始","旧氏の管理_from_開始_to_内容確認","旧氏の管理_from_内容確認_to_本人確認","旧氏の管理_from_本人確認_to_受理","旧氏の管理_from_受理_to_入力照合","旧氏の管理_from_入力照合_to_終了");



$controller_names = array();
$model=<<<ENDOFSOURCE
<?php

class Model{

function process($data){



	return true;
}

}


?>
ENDOFSOURCE;


for($c=0;$c<count($names)-1;++$c){
//	for($d=0;$d
ENDOFSOURCE;
		file_put_contents("./succeeds/from_{$names[$c]}_to_{$names[$c+1]}.php",$view);

$view=<<<ENDOFSOURCE
<?php

class View{

function process($data){

print<<<ENDOFEHTML
support from_{$names[$c]}_to_{$names[$c+1]}


ENDOFEHTML;


	return true;
}

}


?>
ENDOFSOURCE;
		file_put_contents("./supports/from_{$names[$c]}_to_{$names[$c+1]}.php",$view);
		$controller_names[] = "if(isset($_POST["from_{$names[$c]}_to_{$names[$c+1]}"])){
	$controller = "from_{$names[$c]}_to_{$names[$c+1]}";
}";


	//}
}

$controller_name = implode("else ",$controller_names);


$controller =<<<ENDOFSOURCE

process($data)){
	require("./succeeds/{$controller}.php");
}else{
	require("./supports/{$controller}.php");
}
$view = new View();
$view->process($data);

?>
ENDOFSOURCE;

file_put_contents("./controller.php",$controller);
?>
<?php
$controller = "";
$pattern = "/x{0000}|x{0001}|x{0002}|x{0003}|x{0004}|x{0005}|x{0006}|x{0007}|x{0008}|x{0009}|x{000A}|x{000B}|x{000C}|x{000D}|x{000E}|x{000F}";
$pattern.= "|x{0010}|x{0011}|x{0012}|x{0013}|x{0014}|x{0015}|x{0016}|x{0017}|x{0018}|x{0019}|x{001A}|x{001B}|x{001C}|x{001D}|x{001E}|x{001F}";
$pattern.= "/u";

if(isset($_POST)){
	foreach($_POST as $key => $value){
		if(preg_match("/^from_(.*?)_to_(.*?)$/",$key) && !preg_match($pattern,$key)){
			$controller = $key;
		}
	}
}
if($controller==""){
	$controller = "from_他のサイト_to_管理項目";
}

$data = array();

require("./models/{$controller}.php");
$model = new Model();
if($model->process($data)){
	require("./succeeds/{$controller}.php");
}else{
	require("./supports/{$controller}.php");
}
$view = new View();
$view->process($data);

?>
にほんブログ村 音楽ブログへにほんブログ村 にほんブログ村 音楽ブログ 作曲へにほんブログ村 にほんブログ村 哲学・思想ブログへにほんブログ村 にほんブログ村 哲学・思想ブログ 哲学へにほんブログ村 にほんブログ村 IT技術ブログへにほんブログ村 にほんブログ村 IT技術ブログ プログラム・プログラマーへにほんブログ村
Copyright (C) 2024 Mannersy.com click and mail.