phpのオレオレフレームワークを作ろう - イントロ
プロジェクトに入るといつも・・・
大体、どこかの賢い人がFuelとかLaravelとかSymphonyとかを使って色々いい感じに開発できるように環境を作ってくれている。
けどね、良かれと思った事が過剰サービスになってるところが良くあるんですよよ。
いやだなぁって思うこと
- どのDBでも動くから~とか言われても、DBがmysqlからPostgresに変わった事なんて一度もないざんす。
- 人が増えるたびにORMをメンバーに学習してもらうのが面倒くさい。
- ちょっとでも条件文を作ろうと思うと、不具合を埋め込まれやすい。 (コードレビューをそこまでしてられない時もあるんです)
- オラオラとphp周りのライブラリは取り込んでいるが、フロントエンドの技術が全く入っていない。
じゃ、作ればいいやん
ってことで、下の要件を満たすものを作っていくよ。
- レイアウトは定義したのを使える。
- 当然画面ごとにレイアウトは変えれる。
- テンプレートエンジンを使ってリストとかはいい感じに表示できる。
- DBはプレーンに近いSQLで叩ける。
- ただし・・・
- 論理削除などは自力。
- オブジェクティブな構造では戻ってこない。
- ただし・・・
- ログイン機能や検索機能、登録機能とかは簡易にできるように、ラッパークラスがある。
- フロント回りの技術(メタ言語、webpackなどなど)が使えるようになっている。
- レスポンシブにできるようになってる。
- 説明書がちゃんとある(重要)
うん、いい感じ。
ベースに何使おう
FuelとかSymphonyは使ったことあるし、Laravelは少し遅いらしいし。。。
あ、Zend Framework2使ってみよう!!有名だし、きっといい感じのはずや!(この決断が後で悲しい思いをする・・・)
テンプレートは使ってみて不満が無かったのでmustacheで。
画面周りはReactを入れてみたいけども、それだと開発者が少なそうだからmaterialize cssを使おう。
タスクランナーはとりあえずGulpで。
説明書はコードベースで書けるsphinxを使ってみよう!
これで一旦実装していってみよう!!! ある程度できたらGitHubに公開していくよ。