【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/
0176nobodyさん
2011/10/05(水) 23:47:59.94ID:???イーガーローディングってやつな
0177nobodyさん
2011/10/06(木) 03:27:48.56ID:???0178nobodyさん
2011/10/06(木) 09:51:50.26ID:???http://www.yiiframework.com/forum/index.php?/forum/15-job-opportunities/
https://www.odesk.com/jobs/skill/yii-framework/
http://www.freelancer.com/work/yii-framework-job/
0179nobodyさん
2011/10/06(木) 14:22:39.36ID:???<?php echo CHtml::activeDropDonwList('yii_id', $yii_id, $model->yiiOptions, array('submit' => '')); ?>
とか便利だよ。第4引数でしたすみません。選択すればsubmitボタンを押さず条件絞ったりできる
$model->yiiOptionsはモデルにメソッドを作っておく
public function getYiiOptions() { ほにゃらら }
0180nobodyさん
2011/10/18(火) 10:07:58.93ID:???php自体人口が減ってるのか?
0181nobodyさん
2011/10/18(火) 14:30:27.90ID:???Cakeみたいに質問の多い場所もあるからね
0182nobodyさん
2011/10/18(火) 20:38:15.62ID:???0183nobodyさん
2011/10/18(火) 20:47:13.10ID:???0184nobodyさん
2011/10/18(火) 21:25:08.82ID:???0185nobodyさん
2011/10/20(木) 22:49:10.09ID:wuD0xn5y例えば主キーはidでなければならないみたいな。
0186nobodyさん
2011/10/20(木) 23:16:19.10ID:???cakeみたくテーブル名とモデルの命名規則もない。
0187nobodyさん
2011/10/21(金) 00:16:47.69ID:1AJsmT5x0188nobodyさん
2011/10/22(土) 14:49:28.07ID:???サポートされていないってドキュメントに書いてあってびっくりした
別のフィールドをつくってカンマ区切りなどでデータ登録しときましょうみたいな感じだったな。
ちょっとめんどくさかった。
0189nobodyさん
2011/10/22(土) 14:59:49.68ID:???modelにvalidate rule書けばいいんじゃないの?
あと話違うけど、複数フィールドのuniqueってデータベース自体では設定できるものもあるの?
0190nobodyさん
2011/10/22(土) 20:37:32.57ID:???自分でvalidation ruleをcountByAttributes使って書かないといけない。
単一だったらrules()にuniqueの配列追加したらそれでOKだよね。
そういういみでのデフォルト
DBの複合のuniqueは一般的に使われる大体のDBであるんじゃね?
とりあえずmysql postgresql oracleにはある
0192nobodyさん
2011/10/23(日) 01:17:56.99ID:???0193nobodyさん
2011/10/25(火) 23:10:53.87ID:???別にサポートなくてもいいとは思ってしまう
0194nobodyさん
2011/10/25(火) 23:57:03.59ID:???正規化してテーブル分けた方が最終的にいいものが出来る気がする
0195nobodyさん
2011/10/26(水) 00:18:52.00ID:???どうしてもMANY_MANYが必要だよね。
0196nobodyさん
2011/10/26(水) 17:49:46.36ID:???0197nobodyさん
2011/10/26(水) 23:34:08.68ID:???全然駄目じゃない。
0198nobodyさん
2011/10/27(木) 17:09:44.97ID:???MANY_MANYも余裕で吸収してくれる
イーガーローディング使えば、読み出し回数も減らせるし
0199nobodyさん
2011/10/27(木) 19:50:26.07ID:Oi33f/rV正規化すれば複合キーが消えるなんてことはないんだけどな。
複合キーを消すため別途主キー用の項目を設ける(いわゆるid項目)
は明らかに正規化崩し。
正規化の結果複合キーが現れるのは普通にあることだし、それを理由に
ろくなシステムじゃないとか言っちゃう奴が設計するシステムの方が危なっかしい。
0200nobodyさん
2011/10/27(木) 20:43:39.56ID:???0201nobodyさん
2011/10/28(金) 02:19:36.20ID:???0202nobodyさん
2011/10/28(金) 11:58:39.90ID:???0203nobodyさん
2011/10/28(金) 23:12:06.39ID:???0204nobodyさん
2011/10/29(土) 01:01:31.03ID:???シナリオを使うのか、Yii::app()->controller->action->idを使うのは、どっちがいいかわかんない
0205nobodyさん
2011/10/31(月) 21:30:27.37ID:???個人的にはシナリオはrulesを分けるために使うって認識なんだが
0206nobodyさん
2011/10/31(月) 21:38:08.08ID:???0207nobodyさん
2011/10/31(月) 23:30:13.53ID:???0208nobodyさん
2011/10/31(月) 23:55:00.29ID:???0209nobodyさん
2011/11/01(火) 01:10:53.88ID:???文字列であっても一意に識別できる値であればID
0211nobodyさん
2011/11/05(土) 01:52:25.82ID:nAFFPCR9代入で = の前後にスペース入ってなかったり
こんな感じ↓
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
0212nobodyさん
2011/11/05(土) 12:19:31.90ID:???Yiiは大中小どのへんをカバーできますか?
0213nobodyさん
2011/11/05(土) 12:53:50.24ID:???0214nobodyさん
2011/11/05(土) 14:20:40.80ID:???0215nobodyさん
2011/11/05(土) 14:50:03.58ID:???まあ5ページでもよほど動的なら…いやどういうケースなら5ページになるのか想像つかないな
別案件で作ったテンプレ流用でさくっと終わらせたいとかなら、10数ページ程度のインフォメーションサイトでも無意味ではないんじゃね
0216nobodyさん
2011/11/05(土) 15:44:40.23ID:???0217nobodyさん
2011/11/05(土) 16:57:31.06ID:???ゆるゆる(中小規模用途)
ってことじゃね?指揮官次第でどっちでもいいんだろうが。
0218nobodyさん
2011/11/07(月) 17:22:40.12ID:???大規模の要件ってのを知らないから、大規模向けに向いてないとは言えないけど
0219nobodyさん
2011/11/07(月) 17:30:32.03ID:???どう考えても小規模向けって感じではないです
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系で勉強することが山ほどあります・・
■ このスレッドは過去ログ倉庫に格納されています