[初心者向け]PHPフレームワーク学習用教材を開発しました。その名もYukiwikimini On Ethna
フレームワーク学習の役に立てていただければ幸いです。
もしあなたが中級・上級プログラマなら、新人教育などにどうぞお使いください。
勉強法
- ソースコードをgit cloneして動かしてみましょう。
- アプリの挙動を把握したら、ソースコードを読んでみましょう。(コードはこちら)
いろいろ改良してみるのもいいと思います。
例えば、今の実装ではWikiコンテンツをdatabaseディレクトリに1記事1ファイルとして保存しています
これをSQLiteなどのRDBMSや、MemcachedなどのKey/Valueストアに置き換えてみるというのはどうでしょう。
他の課題としては、Ajax化する、モバイル版を作ってみる、なども題材としては面白いでしょう。
ポイント
- コードの重複をさける
- ロジックをアクションクラスやビュークラスにべた書きしない
- 省略できるとこは省略する
コードの重複をさける
これは基本中の基本です。Ethnaでは、ActionFormのform_templateやAppManagerなどをうまく使うことで、コードの重複を避けることができます。
ロジックをアクションクラスやビュークラスにべた書きしない
アクションクラスはMVCでいうコントローラにあたります。ここにロジックをだらだら書くのはおすすめできません。
AppManager(このサンプルの場合ではWiki_PageManager)などにロジックを書いて、アクションやビューからはそれを呼び出すだけにしましょう。
省略できるとこは省略する
意外と知られてないのですが、Ethnaではいろいろ省略できるものがあります。- フォーム値のバリデーションを必要としない場合は、フォームクラスそのものを省略できます。(例:Indexフォームクラスを省略)
- 画面がない場合は、ビューやテンプレート(tpl)は必要ありません。(例:Writeビューを省略)
- ビューがあるからといって、同名のアクションクラスは必須ではありません。(例:Errorアクションを省略)
参考
きっかけ
これを作ったきっかけhttp://sourceforge.jp/ticket/browse.php?group_id=1343&tid=15931