「PHP」の記事
7 件
-
メニューを、データで管理する — アプリメニューと NGWT_APP_MENU の JSON
NGWはアプリごとに専用のメニュー体系を出す。40超のアプリに40通りのメニュー。それをHTMLにベタ書きせず、NGWT_APP_MENU テーブルの1列にJSON配列として持つ。起動可能アプリは職員区分ごとに NGWT_BOOT_MANAGER で管理し、メニューで隠し起動で防ぐ。データで持つから、並べ替えも権限の出し分けも自治体ごとの差し替えも、デプロイなしでできる。
-
ひとりのワガママは、みんなの設定 — 個人設定 ngwPersonalInfo と Property枠
「カレンダーは日曜始まりがいい」「いや月曜だ」。どちらも正しい主張を、NGWはどちらかに決めず、各自で選べる個人設定に昇格させる。ngwPersonalInfo.php と NGW_STAFF_PROPERTY の汎用Property枠、そして「みんなの既定+ひとりの上書き」という設計の話。
-
日付は和暦で見せる — 日付ピッカーと ngwFunc_SWHenkan
役所の日付は和暦で表示する。単純な整形に見えて、改元・元号の表記ゆれ・区切りと、制度の重みが詰まっている。NGWはそれを ngwFunc_SWHenkan というひとつの関数に集約し、CreateDBWebで「DATE」と定義するだけで和暦の日付ピッカーが生成される。
-
セレクトボックスは6行で作る — 共通ヘルパー(function)に揃える
NGWには数えきれないほどのセレクトボックスがある。それを、たった6行とひとつの共通関数ngwFunc_MakeSelectBoxに統一している。しかもその6行はCreateDBWebが生成する。手書きしないから、ばらつきが入らない。
-
NGWを作るアプリ「CreateDBWeb」 — テーブルを定義すれば、動くアプリが生まれる
NGWの画面の多くは手書きではなく、DBのテーブル定義から自動生成されている。その生成器がCreateDBWebだ。架空のNGWT_SAMPLEテーブルを題材に、「アプリを作るアプリ」の仕組みと、それがNGWの一貫性を支えている理由を書く。
-
NGWのアプリはどう動くか — SubModeという背骨
「ひとつのアプリが動く仕組み」を公開していく連載の第1回。すべての画面が従う共通の型=SubModeディスパッチと、描画→部分再描画→確定→帳票というライフサイクルを、実際のコードで解説する。
-
外字をSVGで差し込む — 純PHPでTrueTypeの輪郭を抽出する
BMP外の一文字だけを検出し、そのグリフ輪郭を純PHPでSVGに起こしてPDFへ差し込む。豆腐問題の解決編。