【PHP】Yii Framework
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/12/10(金) 00:41:11ID:???公式
http://www.yiiframework.com/
チュートリアル
ttp://www.yiiframework.com/doc/guide/
公式フォーラム
ttp://www.yiiframework.com/forum/index.php?/forum/21-japanese/
0220nobodyさん
2011/11/07(月) 18:43:39.36ID:???0221nobodyさん
2011/11/07(月) 20:13:52.22ID:???0222nobodyさん
2011/11/07(月) 22:50:47.25ID:???そりゃすまんこ
でも、上にあるような5ページくらいのサイトでも、コントローラのメソッドとビュー書くだけだからな
これにurlManagerとか簡単に設定して使えるから、小規模向けも作りやすいと思うんだよな
0223nobodyさん
2011/11/08(火) 01:23:34.30ID:???小さいプロジェクトだろうが大きいプロジェクトだろうが、使い方さえ理解してりゃ開発は優位に進めれるよ
大規模向けーだの小規模むけーだの、そういう括りで考えること自体アホらしい
0224nobodyさん
2011/11/08(火) 01:54:02.16ID:???ここを見ている時点で中小規模の開発案件関係者であることは自明
迷い無く自分の好きなFWを選択すれば宜しい
0225nobodyさん
2011/11/08(火) 09:49:01.38ID:CETMnjOeで検索すると、比較したブログ記事が見つかるから参考にして決めるといい
まだ海外の記事しか出にくいけどね
0226nobodyさん
2011/11/08(火) 10:03:07.28ID:???class Test
{
private $_id=1;
}
↑"{"の前に改行入れるのは好みの問題として、
代入式のイコールの前後にスペース入れないのはYiiでしか見たことないw
お前ら違和感ない?
0228nobodyさん
2011/11/08(火) 10:57:52.51ID:???コーディング規約はひとそれぞれだからな、しょうがなす
0229nobodyさん
2011/11/08(火) 11:45:46.55ID:???0230nobodyさん
2011/11/08(火) 16:35:46.18ID:???「=」や「=>」は、やっぱりスペースがあったほうがYii
developerのqiangさん曰く、自分はそういう風に書いてしまうのだそう
でも、コーディング規約はそれぞれ作ってね、っていう
Yiiとの比較はSymfonyやCakePHPがターゲットじゃないですか?
ただ、検索して出てくる比較は安易な比較なので、あまり参考になりません
CakePHPがある程度触れるようになったら
結構Yiiも似たり寄ったりなので、それほど難しくはない思います
ただ、日本語の情報が少ないので、英語ができたほうがYii
0231nobodyさん
2011/11/08(火) 19:26:53.52ID:???そういうのを使ったらいいんじゃね?
使ったことないけど
現実的に読めるソースになるのかな
0232nobodyさん
2011/11/08(火) 19:46:39.34ID:???自分が規約を定義できる立場なら好きに作ってコーディングすりゃいいし、
きまった規約があるなら、それにあわせた定義をつくっておきゃボタンひとつで整形終わる
スペースや改行、インデントの有無なんて、機械的に見れば同じコードなわけで
それを気になるからって、人間が手直しするのは馬鹿げてる。至極どうでもいいと思う
0233nobodyさん
2011/11/08(火) 19:59:13.03ID:???逆に自分がどこをいじったか解り易くて良いんじゃね?と考えるとかw
0235nobodyさん
2011/11/09(水) 20:27:48.93ID:???0236nobodyさん
2011/11/09(水) 21:03:09.89ID:???無駄なスペースやカッコをできるだけ排除しているようだ。
ある意味合理的だが。
コアファイルはいじらないのが前提だし、自分で書くコードは好きにしたらいいさ。
読むだけなら全然問題ないし、ディスるほどじゃないね。
>>235
まったくだ。
0237nobodyさん
2011/11/09(水) 23:32:54.04ID:???無駄な文字は削除したほうがファイルを読み込む時間は短く高速になるから
スペースの有無や改行の有無にもまったく意味がないわけではないんだっけか
つっても、どの道よほどシビアな環境じゃないと体感できる差にはならないのだろうけれど
どちらにせよ、FW内は基本いじらないのが前提だから、
自分の編集するファイルだけ気に入るコードスタイルを使えば問題ないと思う
話題がほしいなら、こういうのとかどうか
ここ見てるyii使ってる奴は、どういう用途で使ったり、どんなものを作ってる?
0238nobodyさん
2011/11/10(木) 00:46:48.70ID:???つうてもキャッシュやアクセラレータがさくっとその微々たる差さえなかったことにしてくれるからなあ
あと話題振り乙
俺はまだ遊びつつ適用性考えてる感じ
今はZFをライブラリ的に使ってる程度の業務です
フルスタック未経験なんで、Cakeより便利なのかどうかもまだよくわかってないす
0239nobodyさん
2011/11/10(木) 09:46:00.60ID:???アクションの再利用と、Giiのカスタマイズを勉強するといいですよ
他のPHPフレームワークでは味わえない生産性の高さにびっくりします
0240nobodyさん
2011/11/10(木) 15:41:02.90ID:???ここら辺のノウハウほしいわー
実際widgetとかをgiiで作ってる人はどんな感じで使ってるのか知りたい
example落ちてないよね?
0241nobodyさん
2011/11/10(木) 15:42:26.17ID:???>>240はHow toを知りたいんじゃなくて、
giiでこんなものを自動生成するとすごい便利ですよ、みたいなのが知りたい
0243nobodyさん
2011/11/10(木) 18:41:11.34ID:???って感じでババーンとアップしてる人とかいたら飛びついちゃうぜ!
ああなんて他力本願な考えだ
0244nobodyさん
2011/11/10(木) 18:52:24.80ID:???全て対応するように書き換えてみるとか?
(というよりそうされていない理由が良く解らないが)
0245nobodyさん
2011/11/10(木) 19:39:45.95ID:???ttp://www.yiiframework.com/extensions/?tag=gii
0247nobodyさん
2011/11/11(金) 18:29:30.59ID:???っていう人がいるけど、生成されるコードに手を加えるのがFWのやり方だろ。
自分が編集した部分だけ、タブがスペースで、FWの元の部分がタブ文字だったりするのはちょっとな
置換したらいいとか言う人もいるが、コアファイルまで手を加えるのか?
最終的にはやっぱりFWの通りコーディングすることになるから、
変なコーディングだと違和感を感じてしまってしょうがない
まぁ我慢して慣れるしかないんだろうけどな
0248nobodyさん
2011/11/11(金) 19:33:40.64ID:???> 生成されるコードに手を加えるのがFWのやり方だろ
はちょっと違うかな。それはいわゆる scaffold
っていうかもう終わった話題だけど、先のあれは
タブvsスペースとか、何も生み出さない戦いとかし出す人がでるからやめようぜって話だよ
> FWの元の部分がタブ文字だったりするのはちょっとな
世界共通のコーディング規約があるわけじゃないし、そんな些細な事気にしてたらハゲるだけだと思うぞ
コードを眺めてうっとりする気持ちはすごくわかるけど、
そんなことに時間割くよか、出来上がったもんみてうっとりする時間取ろうぜ
それでも気になっていやだお耐えられないお!
ってんなら、そこはほぼ文字列こねくり回すのが仕事なWebマらしく
ボタンひとつで全コードをこねくり回してお気に入りスタイルに修正する
俺々フォーマッターでも作ったほうがおそらく有意義だと思うw
0249nobodyさん
2011/11/11(金) 21:57:55.43ID:???0250nobodyさん
2011/11/12(土) 13:17:16.40ID:???実はいろいろ機能があって、gridviewの方が使いやすいということに気付きました
0251nobodyさん
2011/11/12(土) 23:34:37.70ID:???0253nobodyさん
2011/11/13(日) 04:18:18.34ID:???以下のようにCJuiTabsのタブを使うと、なんかかっこいい
アクション側では$model1->save()と$model2->save()をトランザクションで囲って、
form1とform2の内容をまとめてDBに登録する感じ
<?php echo CHtml::beginForm(); ?>
<?php
$this->widget('zii.widgets.jui.CJuiTabs', array(
'tabs' => array(
'フォーム1' => $this->renderPartial('form_mod_form1', array('model'=>$model1), true),
'フォーム2' => $this->renderPartial('form_mod_form2', array('model'=>$model2), true),
),
));
?>
<?php echo CHtml::submitButton('登録'); ?>
<?php echo CHtml::endForm(); ?>
0254nobodyさん
2011/11/13(日) 04:22:13.73ID:???同じく!
管理画面系では使えるけど、表側だと使いにくい。
>>252
俺はページャーはCLinkPagerを拡張して使ってる。
意味ないなんてことはない。
基本機能は揃っててるし、それを拡張しやすい設計なのがYiiのメリットのひとつ。
0256nobodyさん
2011/11/14(月) 01:57:36.62ID:???すまん、指摘の意味が分からん
入れ子のフォームっていうのが曖昧だったかな
http://www.yiiframework.com/doc/guide/1.1/ja/form.builder#sec-6
ここで言ってるようにユーザ登録フォームでログイン情報とプロファイルのサブフォームに分けた場合、
>>253では、ログインタブとプロファイルタブに分けて登録するイメージ
0257nobodyさん
2011/11/14(月) 02:22:51.80ID:???0258nobodyさん
2011/11/14(月) 13:01:23.01ID:???Yiiはいろいろ独自の機構がたくさんあって覚えることが多いな
0259nobodyさん
2011/11/14(月) 15:20:28.62ID:???CListViewなどは、デザインを考えると、リスクが高くて使いにくいし
やはりバックエンドで威力を発揮するかと。
あと、CListViewとCGridViewは用途が違うので、比較対照にはなりません
0260nobodyさん
2011/11/14(月) 15:46:21.42ID:???テンプレートで自由にデザイン出来るじゃんとか思っちゃうんだが、そんな俺に教えてくれ
0261nobodyさん
2011/11/15(火) 11:32:29.44ID:???0262nobodyさん
2011/11/15(火) 15:05:04.63ID:???自分はajaxやらsorter機能が必要ないにもかかわらず、CListViewを使うのは、ちょっと…って感じがします
デザイン部分は、template、cssClassプロパティで調整できますが
そこで調整しなくても、CLinkPagerのみ使用して、直感的に書いたほうが断然わかりやすい
0263nobodyさん
2011/11/15(火) 15:22:18.90ID:???CListViewも内部的にはCLinkPagerを呼んでいる
単にjavascript false, sort falseすれば同じ処理してるのじゃないかなぁ〜とも思う
0264nobodyさん
2011/11/15(火) 15:51:13.18ID:???CPaginationとCLinkPagerでページ作っていったほうがシンプルかなと。
結果同じ処理だったらなおさら最低限のもので組み立てたほうが無駄がなくなるような気がします
0265260
2011/11/15(火) 18:45:33.29ID:???理解できたぜ
0266nobodyさん
2011/11/21(月) 22:53:07.64ID:???0267nobodyさん
2011/11/22(火) 09:19:46.96ID:???0268nobodyさん
2011/11/23(水) 10:48:48.93ID:???0269nobodyさん
2011/11/23(水) 16:50:14.82ID:???0270nobodyさん
2011/11/23(水) 19:04:05.05ID:???フォーラムなどは活発なのでしょうか?
0271nobodyさん
2011/11/23(水) 19:31:06.27ID:???stableは全然更新されてないね
0272nobodyさん
2011/11/23(水) 19:32:33.82ID:???0274nobodyさん
2011/11/24(木) 01:22:36.89ID:???以下のURLからYii2.0のいろいろな議論が見れますよ
http://www.yiiframework.com/forum/index.php?/forum/42-design-discussions-for-yii-20/
開発の雰囲気から読み取ってみても今年の12月に2.0aがリリースされる感じではないですねぇ
ただ自分は、2.0や1.1.9がリリースされる前に、1.1系で勉強することが山ほどあります・・
0275nobodyさん
2011/11/24(木) 11:00:45.11ID:???0276nobodyさん
2011/11/24(木) 15:30:55.29ID:???1.2系や2.0の議論が活発化してるんじゃないですかねぇ?
1.1.9のChange Logはこちらで見れます
http://code.google.com/p/yii/source/browse/trunk/CHANGELOG
0277nobodyさん
2011/11/24(木) 18:53:46.81ID:???みんなYiiを薦めてる。
やっぱりYiiはイイね。
0278nobodyさん
2011/11/24(木) 21:40:35.76ID:???チュートリアルだけでも完全に日本語化してくれないかなぁ
APIやマニュアルは英語でもいいんだけど・・・
0280nobodyさん
2011/11/25(金) 01:35:45.19ID:???あれ読めばとりあえず基本は抑えれるよ
0282nobodyさん
2011/11/25(金) 11:16:56.38ID:???いくら英語力なくても、それくらい辞書使いながらでも出来るでしょ
0283nobodyさん
2011/11/25(金) 20:14:19.30ID:???アプリ作るにあたって、大まかな流れはどのように作っていくかとか
諸々のベストプラクティスはどのように書くかとか
でも、CakePHPなどと一緒で
1. マイグレーション作成
2. フィクスチャ作成して、テスト
3. Giiなりでモデル作成、カスタマイズ
4. Giiなりでコントローラ作成、カスタマイズ
5. ビュー作成
6. キャッシュなどでチューニング
みたいな流れでまずは良いんじゃないの?
慣れてきたら、再利用性を考えて
モジュール、ビヘイビア、コンポーネント、アクションを作ってみたり
Giiのテンプレートを自分の好みの形にカスタマイズしてみたり
自分の触った限りでは
モジュール、ビヘイビア、コンポーネントなどは
Cakeより作りやすい気がします。モジュールはCakeではプラグインになるのかな?
0285nobodyさん
2011/11/25(金) 23:08:17.72ID:???Railsでのマイグレーションの例ですが、Yiiでも意味合いは一緒かと思います
0286nobodyさん
2011/11/26(土) 11:07:30.03ID:ZfCL7aO50288nobodyさん
2011/11/26(土) 16:03:43.28ID:???生産性が全然変わってくる。
パフォーマンスが必要な特殊なSQLとか直接発行したほうがいい場合もあるだろうけど。
0289nobodyさん
2011/11/26(土) 17:09:27.06ID:???それは興味深いな
俺みたいな素人だとCActiveRecord便利すぎとか安易に思っちゃうんだけど、
どういう時に使えないとか弱点みたいなのを教えてくれると嬉しいな
こういう時は使わないほうが便利とかも
0290nobodyさん
2011/11/26(土) 17:36:54.40ID:???単に今までずっとSQLをがんがん書いてきた人にとっては
わざわざActiveRecordを使う必要はないっていうだけの話だと思いますが…
0291nobodyさん
2011/11/26(土) 22:15:33.95ID:???0292nobodyさん
2011/11/26(土) 22:38:07.25ID:???SQLを書いてきたかどうかなんかどうでもいいだろ。
「仕事で書く」限り、生SQLかARか外部O/Rかは大部分は
規約化するからな。その決定権が自分にあるとか、遊びと
か数ページのサンプルサイトなら自由に書いていいが。
微妙な生産性で判断したとか好みで選ぶのでない限り、
AR乗っかってるFWなら半自動的にARになるな。
Zendみたいに切り取り自由っつーなら別だけど。
0293nobodyさん
2011/11/27(日) 00:05:11.13ID:???もしかしてみんな2.0に着手してんのか?
0294nobodyさん
2011/11/27(日) 01:23:37.91ID:???0295nobodyさん
2011/11/27(日) 01:33:35.36ID:???http://code.google.com/p/yii/source/list
ちゃんと更新されてた
qiang氏は9月以降手を付けてないようだが
0296nobodyさん
2011/11/27(日) 02:01:49.77ID:???デモのblogやリポジトリのコアのtestsやらを見て
勉強できるんですね。知りませんでしたw
0297nobodyさん
2011/11/27(日) 08:56:26.92ID:???適当にフォームに値入れて送信するだけだわ
0298nobodyさん
2011/11/27(日) 12:59:58.63ID:???SQL直書きの方が早くて簡単じゃん。
0299nobodyさん
2011/11/27(日) 13:14:02.28ID:???2.0ではバージョン管理がGit/GitHubに変わる計画なんですね
その他、PHPのバージョンは5.3以上、1系との互換性はない様子で
名前空間、無名関数がコアで頻繁に使われる、とのこと
0301nobodyさん
2011/11/27(日) 15:06:06.78ID:???search関数書いてる時はたしかにそう感じる
でも単一データ読みだす時は記述が少ないからすげー便利と思う
0303nobodyさん
2011/11/27(日) 16:09:06.03ID:???・学ぶ上で、知っておいたほうがいいCakePHPとの主な違いはなに?
・CakePHPはページング処理がちょっと複雑なSQLを発行したい場合面倒になるんですが、
Yiiでは問題ないですか?
0304nobodyさん
2011/11/27(日) 17:02:09.23ID:???0306nobodyさん
2011/11/27(日) 21:36:54.60ID:???修正とか他人が書いたものの把握がめんどくさいってのもある
少しでもパフォーマンスをあげないといけない場面ではSQLを弄ることは重要だけど
さしてそうでもない場面まで全部SQL書いてやりくり、ってのは、
再利用性が下がる要素にこそあれ、あんまりメリットがないからなー
O/Rマッピングは楽でいいよ
0307nobodyさん
2011/11/27(日) 21:49:12.25ID:???覚える手間やテスト書く手間はかかるけど、自動化便利だよー。
テストフェーズでいつも手を抜いてるような、いい加減な人はかなり嫌がるけどw
作る手間はあるとはいえ、入出力をテストすんのが殆どだから、大して難しい内容でもないし。
作っちゃえばボタンぽんぽんでテスト終わり、結果が残せてそれ自体も成果物にもなるのは便利。
まー、結合やら納品後に単体レベルの不具合ぼろぼろ出してても、
特にお咎めなしなら、やんなくても実害はないと思うけどなー。
>>298
むしろO/Rマップの何に「時間がかかって簡単じゃない(難しい?)」かがわからないよ!
それ単に理解しようとしてないだけじゃね。
新しいことをも覚える努力放棄してたら、周りから老害だって思われる奴が生まれちゃうんだぜ?
0308nobodyさん
2011/11/27(日) 22:02:59.57ID:???例えば、
Cakeはfindで配列が返ってくる。
Yiiはオブジェクト(モデル)が返ってくる。
Cakeは規約重視。
Yiiはある程度の取り決めを推奨しているがカスタマイズ可能。
0309nobodyさん
2011/11/27(日) 23:15:24.47ID:???テストにしろO/RマップにしろYiiから出たらまた別のもの使わなきゃいけないからな。
PHPだけ使ってるわけでもないし。
まんどくせ。
0310nobodyさん
2011/11/28(月) 00:16:09.87ID:???これ結構同感だわ。
0311nobodyさん
2011/11/28(月) 00:30:26.14ID:???よく知らんけど
0312nobodyさん
2011/11/28(月) 00:35:35.06ID:???RDBMSが仕様はどうあれ、ある程度のわかりやすさとパフォーマンスで成功してるのは理由があると思う。
0313nobodyさん
2011/11/28(月) 00:40:45.81ID:???>O/Rマッピングはその SQL を自動的に生成し, 実行します。
>一番大事な SQL が見えない部分で勝手に実行されるって, 怖くないですか?
>本当に効率のいい SQL を実行しているんでしょうか?
Yiiなら吐き出されるSQLが明確にわかるから、問題に感じたことがないな
SQLでパフォーマンス問題が発生したなら、その対策は出来るということだ
最悪、生で書いてもいい
Yiiの場合、パフォーマンスだけが問題なら対策は出来るので、使ったほうが良いという結論になる
>>309のようにSQLを直接書いたほうがやり易い奴を除いてな
大抵の初心者は、YiiにおいてO/Rマッピングの恩恵を十分に受けることが出来るだろう
0314nobodyさん
2011/11/28(月) 00:46:21.17ID:???というのがそもそもの間違い。
0315nobodyさん
2011/11/28(月) 00:56:12.42ID:???0316nobodyさん
2011/11/28(月) 01:13:05.50ID:???SQLを理解してる上で使いこなせばいいだけだし。
そもそもWEBアプリでORMが使えないような複雑なSQLを頻繁に発行する必要になる設計がおかしい。
そういうのはバッチ処理でやれ。
>>314がいうように
ORMがあるからSQLは知らなくていっていう考えは間違いだと思う。
0317nobodyさん
2011/11/28(月) 16:41:28.30ID:???CakePHPよりも日本語での情報量が圧倒的に少ない
CakePHPより圧倒的に速くWebアプリケーションが作れる
CakePHPよりもやや読み込みが速い
CakePHPのAPIより圧倒的にみやすいAPIがある
CakePHPよりもややextension(plugin)が豊富
CakePHPよりもajax, jQuery, jQuery UIなどと仲が良い
CakePHPよりも圧倒的に再利用性を考えて設計されている
CakePHPよりACLが圧倒的にわかりやすい
CakePHPよりいろんな意味で柔軟なので、アプリケーションの設計で迷う箇所が出てくる場合がある
CakePHPみたいにrecursiveの心配はいらない
CakePHPを触ったあとにYiiを触った人は、CakePHPにはなかなか戻りづらい
かといって自分はCakePHPも嫌いではない
あと、ページング処理の件はYiiでは問題ありませんよ
おそらくCakePHPをある程度触れるひとは
少しの苦労でYiiを触れるようになると思います
0318nobodyさん
2011/11/28(月) 21:54:43.98ID:???0319nobodyさん
2011/11/29(火) 01:49:55.49ID:???>他のFWも検索してみたけどCodeIgniterは678。Symfonyは1580。CakePHPが950。Kohanaが967。Yiiが290。
>なんか意外。
ちょっと引用。http://imagine-that.co.uk/other/ChartExport.png
何だかんだ云って2005年くらいからあるしそれなりに使ってる人
多いのは仕方ないかも。しかしsymfony多いなぁ…
■ このスレッドは過去ログ倉庫に格納されています