スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPのフレームワーク「Yii」

Yiiに出会うまで

実はここ数カ月、フレームワークジプシーとでもいうべき生活をしていた。
Railsは素晴らしい!。とは思うんだけれど、Rubyは嫌い。自分のRuby嫌いは、PHP/FIとかの時代からのもので、多分治らないだろう。

で、PHPを主に使ってきた身としては、やっぱりPHPがいい。
CakePHPが人気らしいけれど、どうも好きになれない。
Code Igniterは実際ある程度使い込んでみて、いいとは思うんだけれど、「小さいアプリを素早く作る」ことに特化している感じで、限界がある。

そんな中、最近見つけたすごく新しいフレームワークがYii。なんかゲーム機みたいな名前たけれど、ドキュメントを見る限り良く出来ている感じ。

http://www.yiiframework.com/

主観的なYiiの特長

「生産性が高い」とか「○分でアプリが作れる」とか「多彩なヘルパー」とか、そういうありきたりなことは、やめといて、他と比べてなにがいいのかってところをまとめてみると。
PHP5専用である
いまさらPHP4に対応する理由がわからない。そのために、APIが汚くなるなんて言語道断。
ドキュメントが充実している。
英語しかないけれど、すごくよみやすく、新しいフレームワークなのにサンプルも豊富。
APIがとにかくきれい。
「慎重に設計されたAPI」という言葉が、Yiiのドキュメントにはよく出てくるけれど、よく考えられている印象。
後発の利を生かして、他のフレームワークの良いところをどん欲に取り入れてまとめた感じ。
デフォルトのテンプレートがきれい
どうでもいいことのように思えて、すごく嬉しいこと。
うるさくないユーザーにはscaffoldで生成したまま納入していいかもってくらいきれい。

まったくいじってないデフォルトのままのスクリーンショット(クリックするとフルサイズが見れます)
いくらなんでもRailsの真っ白なあれは納入できないしね。「ちょっとCSSを整えれば・・・」てのもナシ。手間は少ないほうがいいんです
ActiveRecordが高機能っぽい * 未検証 *
そんなに使い込んでないのでわからないけれど、バリデーションやアソシエーションとか、欲しい機能が揃っている感じ。
モジュールによる、コードの再利用ができそう *未検証*
もっとも注目している点。
基本的に普通のMVCフレームワークなんだけれど、「アプリケーション」と「モジュール」という考え方があって
通常は、
 application1
  - controllers
  - models
  - views
という構成なんだけれど、モジュールを作ると
 application1
  - controllers
  - models
  - views
  - modules
   - module1
    - controllers
    - models
    - views
   - module2
    - controllers
    - models
    - views
という構成にできる。アプリケーションに直接MVCを実装するんじゃなくて、モジュールとしてそれぞれMVCをひとまとめにすることによって、よく使う機能を再利用しやすくできるんじゃないかと。
まあ、正直これは未検証。ディレクトリ階層が深くなるってデメリットはあるので、やってみないとわからない。
エクステンションが探しやすい
http://www.yiiframework.com/extensions/?sort=download
ホントに探しやすい。

Yiiのよろしくないところ

いいことばっかり書いてもあれなので、いじってみてよくないところも列挙。
実績がない
1.0.0が2008年12月3日らしい。文句なく実績は全然ない。
あ、でも、自分が人柱になる気満々です。3か月くらいしたら、なにか報告できるんじゃないかと思います。
環境を選ぶ
実績の次に壁になりそうな点。
PDOが必須らしいし、mcryptもあったほうがいい。なんてことを考えるとレンサバな人にはきついかも。
テスト機能もまだまだな感じ
今年に入ってリリースされた1.1.0でようやくテストが標準搭載。
ユニットテストは結構いい感じだけれど、コントローラーのテストはSelenium必須とか。ハイパワーなPCでないと、おそくてたまんなそう。
不安定なところもあるかも
Railsやsymfonyみたいにコマンドラインツールとかがついてるんだけれど、こいつらがバンバンWarning出たりする。そりゃぁ完成度がそこまで高いってわけではない。
クラスの命名規則がMFCっぽくて気持ち悪い
どうでもいいことだけれど、CControllerとか、CActiveRecordとか、Windowsでプログラムしなくてはならなかった時代のいやな記憶が蘇ります。
他のフレームワークのライブラリを読み込んでもクラス名がかぶらないようにって、配慮の意味もあらるしいけれど・・・

まだまだあるけれど、こんなところかなぁ。。。それでもCodeIgniter以来の「使ってみたいフレームワーク」なので、色々やってみようと思います。
スポンサーサイト

テーマ : ホームページ・ブログ制作
ジャンル : コンピュータ

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
プロフィール

takakino

Author:takakino
長いことPHPとかJavaとか、その昔はPerlとか。Webのシステム屋をずーっとやってきました。
最近Scalaにはまっています。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
Yii (5)
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
Twitter
Twitterこそこそやってます
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。