Triplex Systemsの開発メモです。開発の手順・開発に関するTipsをまとめます。

自作フレームワーク:Triplex Framework(仮称)

開発に至った動機

  • 自分に合ったフレームワークが欲しい
  • Ruby on Railsは良くできている
  • よし、Rubyやっちゃうか?
  • でも、やっぱ、PHPの仕事が多いんだよね
  • PHPのフレームワークは、どれもしっくりこない
  • じゃあ、自分でフレームワークを作っちゃえ

理念

  • 自分の使いやすいものを作る
  • IDEの補完機能を生かして、流れるような開発ができるようにする
  • 目的を達成するためなら、車輪の再開発も辞さない
  • 上記に反さない限り、速度を優先

ver4.0の特徴

  • クラス名の規約を設けることで、クラスファイルをオートロード
  • mod_rewriteによるURL美化
  • 正規表現とルールの両方を用いたコントローラ名マッピング機構
  • DBオブジェクトも自作→PDOがmysqliを使っていない?
  • テーブルのスキーマから設定ファイルを自動生成
  • 設定ファイルに記述したフィルタを自動適用するTableクラス
  • 命名規約の採用で、自動的に外部結合を行うTableクラス
  • Formクラスと仲の良いDataObjectクラス
  • hasManyに対応したDataObjectクラス
  • hasManyのソートにも対応したDataObjectクラス
  • PDTでの補完に対応したDataObjectクラス
  • 親子関係の自己結合に対応したDataObjectクラス
  • その他、いろいろ便利なDataObjectクラス
  • Form変数をホワイトリスト方式で取り込み
  • Form変数を自動サニタイズ
  • Form変数を指定に従って変換処理
  • From変数を指定に従ってバリデート処理
  • ASP.NETのVIEW_STATEに似たフォーム値引き継ぎ機構
  • VIEW_STATEを自動的に処理
  • セッションを使ったメッセージ一覧保持機構
  • Smartyテンプレートを使ったメール送信機能
  • Smartyテンプレートを使ったView
  (デザイナーとの協業を重視してパフォーマンスを犠牲に)
  • フレームワークを便利にするSmartyプラグインいろいろ
  • yamlファイルによる設定値の管理
  • オブジェクトキャッシングによるパフォーマンスの向上
  (yamlロードのオーバーヘッドの問題を解決)
  • csvファイルのアップロード処理の定形化
  • ファイルのアップロード処理の定形化
  • ファイルのアップロードで仮フォルダに保存する機能
  (確認画面を挟んだ場合の処理を念頭に)
  • いろいろ出来るページャクラス
  • ログイン機能の組み込み(拡張性は、要検討)
  • ユーザ権限機構の組み込み(拡張性は、要検討)
  • 例外処理機能(これから作り込み)

システム要件

  • PHP5.2以上(PHP5.1だと、なんか変?)
  • PDO-mysqlが使用できる環境
  • mcrypt関数が使用できる環境
  • 今のところ、MySQLの方言しか知らない
  • Apacheのmod_rewrite

このページへのコメント

J66tL9 I value the blog post.Much thanks again. Really Cool.

0
Posted by check this out 2013年12月21日(土) 13:41:30 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

管理人/副管理人のみ編集できます