【PHP】Yii Framework
レス数が950を超えています。1000を超えると書き込みができなくなります。
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/
0002nobodyさん
2010/12/10(金) 00:46:34ID:???いい加減スレくらいはあってもYiiよね! XD
チュートリアルをはじめ、ここ1年弱くらいのドキュメントは
殆ど翻訳されてない感じ
ttp://code.google.com/p/yiidoc/
アクティブな日本語の参加者がいないみたい
ほかに日本コミュ ttp://www.yiijan.org/ なんてのもあったけど、
こっちは立てた人いなくなっちゃったので放置みたい
0003nobodyさん
2010/12/10(金) 15:53:55ID:???0004nobodyさん
2010/12/10(金) 21:52:02ID:???0005nobodyさん
2010/12/10(金) 22:27:51ID:???Railsでおなじみ。
0006nobodyさん
2010/12/11(土) 02:01:34ID:???ページャー、テーブルの結合&取得周りがやりづらい。
Controllerとwidgetsとアクティブレコードを拡張したフォームクラスがすごく便利。
0007nobodyさん
2010/12/11(土) 10:47:06ID:???スレは別にいらない
0008nobodyさん
2010/12/11(土) 18:36:42ID:???まぁ利用者は少ないよねぇ
趣味でやってる人はいるけど、本腰入れて取り組んでる人は殆どみないや
英語資料がメインだから、PHPで何とかしようって感じの案件だと
結局ノウハウがあるとか、日本語資料があるとかで別のヤツになっちゃうもんな
0009nobodyさん
2010/12/11(土) 21:54:49ID:???0010nobodyさん
2010/12/11(土) 22:35:02ID:???でも本当に良いフレームワークなら流行っているはず。
というわけで既に終わってるフレームワーク。
0011nobodyさん
2010/12/11(土) 23:40:23ID:???0012nobodyさん
2010/12/12(日) 10:14:37ID:???国外では結構人気出てるけど、日本のPHP案件なんて
既存の知識で出来る範囲の〜ばっかだから…
0013nobodyさん
2010/12/12(日) 12:01:24ID:???PHP自体が新しい技術とかに縁が無い使われ方しかしてない言語だと思うわ。日本では特に
0014nobodyさん
2010/12/13(月) 11:51:49ID:???一昔前のトーシロWEBデザインな金額しか出ないからな。
いくらYiiや他FWが良くても日本じゃ使えない。
億出るような案件は大手が自分とこのゴリ押しするか
オフショアだから結局日本人にオハチは回らん。
0015nobodyさん
2010/12/13(月) 11:54:55ID:???遊びならいいけど、手っ取り早く金にしたいならスマホアプリ覚えたほうがいいぜ。
俺らおっさんらは10年前のJava黎明期にガッポリ稼げたけど、いまじゃjavaや
PHP覚えても、道楽かガテンか二者択一だしな。
0016nobodyさん
2010/12/13(月) 23:22:20ID:???0017nobodyさん
2010/12/16(木) 00:32:24ID:???ドキュメント読むのが辛い
0018nobodyさん
2010/12/19(日) 15:56:39ID:kmNFj/rC0019nobodyさん
2010/12/19(日) 17:48:17ID:???0020nobodyさん
2010/12/22(水) 16:37:44ID:???ヒントだけでも教えて頂ければありがたいです。
0021nobodyさん
2010/12/23(木) 01:04:17ID:???あらかじめcreateするテーブルのモデルをつくっておくしかないんじゃね?
テーブルの構成が動的に変わるとしたら無理だな。
0022nobodyさん
2010/12/24(金) 05:20:09ID:???createするのはセッション毎に独自の作る必要あるだろうけど
0023nobodyさん
2010/12/24(金) 23:19:04ID:???ってかtemp tableにする必要はあるの?
0024nobodyさん
2010/12/26(日) 17:56:44ID:???原文みないと食い違いに気づかないトラップにはまってしまった
0025nobodyさん
2010/12/26(日) 22:50:12ID:???フォーラムに似たような話題があるけど
http://www.yiiframework.com/forum/index.php?/topic/8728-using-ar-for-temporary-tables/
0026nobodyさん
2011/01/03(月) 17:52:44ID:iWYHFPXshttp://www.yiiplayground.cubedwater.com/
0027nobodyさん
2011/01/03(月) 17:57:26ID:iWYHFPXsYii PlaygroundはYiiにはどんな機能があるか、どんな仕組みか紹介してるサイトみたいです
0028nobodyさん
2011/01/03(月) 20:23:47ID:???0029nobodyさん
2011/01/10(月) 15:05:31ID:???0030nobodyさん
2011/01/15(土) 12:35:17ID:???0031nobodyさん
2011/01/15(土) 14:50:16ID:???自社サービス作るのに使ってみたけど公式ドキュメントとyiiのソースの往復で疲れる(´・ω・`)
0032nobodyさん
2011/01/15(土) 14:52:38ID:???0033nobodyさん
2011/01/15(土) 19:23:35ID:???0034nobodyさん
2011/01/16(日) 23:54:29ID:???まぁ俺はYiiに賭けるより、vpsが一般化して極小予算で
Javaが見直される方に賭けちまったけどな。
0035nobodyさん
2011/01/17(月) 14:48:20ID:???0036nobodyさん
2011/01/19(水) 15:02:21ID:LMDPoOlH0038nobodyさん
2011/01/20(木) 21:43:56ID:???0039nobodyさん
2011/01/20(木) 21:48:44ID:???0040nobodyさん
2011/01/21(金) 00:32:30ID:???Javaを信奉してる奴って他の言語触った事ないんだろうな。
あの時代遅れのポンコツ具合。なんで文字列はオブジェクトなのに
数値はオブジェクトじゃないんですか?
死ねよw
0041nobodyさん
2011/01/21(金) 03:15:39ID:???0042nobodyさん
2011/01/21(金) 21:09:40ID:???あくまで好みの話
0043nobodyさん
2011/01/24(月) 01:14:31ID:???0046nobodyさん
2011/01/28(金) 03:04:17ID:???0047nobodyさん
2011/02/11(金) 22:52:56ID:???0048nobodyさん
2011/02/11(金) 23:13:57ID:???0049nobodyさん
2011/02/11(金) 23:14:28ID:???0050nobodyさん
2011/02/12(土) 19:53:04ID:???0051nobodyさん
2011/03/01(火) 00:57:06.53ID:l/RvlBkbすくなくとCakeなんぞよりずっと良く出来てると思うんだけど、
帯に短したすきに長しなのかな〜?
0052nobodyさん
2011/03/01(火) 03:09:46.84ID:???あえていうなら出遅れってとこかね。
3大フレームワーク以外のフレームワークを使う必要性が低いのかな。
ユーザー増えてほしいな。
0053nobodyさん
2011/03/01(火) 03:45:13.11ID:???他のFW知らんけど
0054nobodyさん
2011/03/01(火) 20:15:20.09ID:l/RvlBkb日本人は二言目には実績実績だからなぁ・・・
0055nobodyさん
2011/03/02(水) 00:44:16.47ID:???0056nobodyさん
2011/03/02(水) 10:19:43.01ID:???そう、それだよ。
だから機能的にハァ?なものが日本だけで
流行ってたりする。理由は日本語資料が多
いのと日本語のサポートコミュニティがあ
るからw
PHPがらみでいうと某CMSとかさ。
0057nobodyさん
2011/03/02(水) 14:42:09.65ID:???0058nobodyさん
2011/03/02(水) 20:28:14.94ID:???0059nobodyさん
2011/03/02(水) 21:08:01.88ID:???正式板で出てくると苦しいのかな。しばらくは豊富なプラグインの
おかげで優位性を保てるだろうがその後はねー。
yiiも次のメジャーバージョンアップで5.2を切り捨てたりして。
0060nobodyさん
2011/03/03(木) 22:43:59.33ID:???悪いといえば悪い時期に出たのかもしれないが、今現在はベストなフレームワークだと思う
0061nobodyさん
2011/03/03(木) 22:43:59.53ID:???悪いといえば悪い時期に出たのかもしれないが、今現在はベストなフレームワークだと思う
0062nobodyさん
2011/03/04(金) 00:19:08.40ID:???0063nobodyさん
2011/03/10(木) 22:50:25.41ID:???0064nobodyさん
2011/03/13(日) 23:46:58.57ID:???2.0は5.3以上にするってかいてあるよ。
でもまだ開発スタートしてないね。
0065nobodyさん
2011/03/14(月) 03:23:33.58ID:jkVEBQeU0066nobodyさん
2011/03/14(月) 04:36:35.60ID:???0067nobodyさん
2011/03/14(月) 08:22:00.12ID:???0068nobodyさん
2011/03/16(水) 16:53:22.34ID:???日本語翻訳の拡張をChromeにでも入れて
オフィシャルのWiki, Forum,Class Referenceなんか参考にしながらやってると
そのうちわかってくるよ CakePHPより触ってて楽しいよ
0069nobodyさん
2011/03/16(水) 20:17:40.29ID:???結局日本語ry だしなw
0070nobodyさん
2011/03/16(水) 20:38:11.34ID:???機能も豊富な上に、クラスが拡張しやすくなってて、自由度も高い。
0071nobodyさん
2011/03/28(月) 10:39:41.57ID:???0072nobodyさん
2011/03/28(月) 23:58:54.62ID:???0073nobodyさん
2011/04/15(金) 12:04:18.04ID:ntMT7Xiq漢字以外だとリクエスト失敗するの何とかならんのかしら?
コントローラとアクションが見つからないっぽいんだけど
0074nobodyさん
2011/04/15(金) 12:07:46.35ID:???0076nobodyさん
2011/04/27(水) 18:47:48.49ID:F6WKxp2ACDbConnection はデータベースコネクションをオープンできません。:could not find driver
もしかしてサーバ側のライブラリ不足のため??requirementsチェックだとMysqlPDOに注意が出ていたけど
0077nobodyさん
2011/04/27(水) 19:53:49.68ID:???諦める
0078nobodyさん
2011/04/28(木) 11:10:37.24ID:???レンタルVPSとか使うといいよ。安いし
0079nobodyさん
2011/04/28(木) 15:34:27.51ID:???0080nobodyさん
2011/05/11(水) 03:23:13.76ID:LnOBLB+l0081nobodyさん
2011/05/14(土) 00:02:31.66ID:???利用者が少しでも増えてくれるといいなー
0082nobodyさん
2011/06/03(金) 00:55:07.31ID:m+XJnvbx0083nobodyさん
2011/06/30(木) 19:18:22.43ID:???初めて触るけど結構使いやすいかも。
cakeほどブラックボックス化されていない感じがいい
0084nobodyさん
2011/06/30(木) 23:29:38.65ID:???0085nobodyさん
2011/07/01(金) 12:47:31.76ID:???日本での知名度が低いとかかな
0086nobodyさん
2011/07/01(金) 13:50:59.95ID:???CIはちょっと盛り上がるかと思ったのに、すぐ落ち着いてしまった
0087nobodyさん
2011/07/01(金) 14:24:56.36ID:???0088nobodyさん
2011/07/01(金) 14:42:38.19ID:???CIも使ってみたけどモデルが貧弱でコーディング量は多くなってしまった。
Yiiは日本語ドキュメント少ないし英語読めないPGにはキツイかも
0089nobodyさん
2011/07/01(金) 14:47:20.96ID:???でもWEB PGとしてそれは致命的じゃないのかなぁ
新しい技術を利用する機会が狭まりすぎる
0091nobodyさん
2011/07/01(金) 21:41:44.91ID:???PerlのCatalyst+DBICで組んでたけど、PHPだとCIのModelの薄さが逆に生SQLを適度に隠蔽する手段として馴染んでしまった
確かに、CI_Model素のままだとbelongs_toとかhave_manyを自力で書く煩わしさはあるけどね
もうちょっとコーディング量減らしたいなあというときにYiiのARぐらいがちょうどいい気がする
0092nobodyさん
2011/07/09(土) 23:45:20.84ID:ewx16BgMYiiの場合モデルやコントローラをどう構成するのがベター?
0094nobodyさん
2011/07/13(水) 10:23:08.48ID:???0095nobodyさん
2011/07/15(金) 10:36:17.35ID:g6cwdg+oConfigure::write('Routing.prefixes', array('admin', 'manager'));
と書けば、admin, manager, 一般userのアクション分けられるし
app_controllerで$this->params['prefix']を条件としてadmin, manager, 一般usreのレイアウトも分けられるし
そういうのをYiiでもやりたいんですけど、どう攻めていいのかわからないんです
0096nobodyさん
2011/07/16(土) 02:35:09.02ID:???そこで分けるのがシンプルっていうか基本なのでは?
0097nobodyさん
2011/07/19(火) 15:34:10.45ID:???0098nobodyさん
2011/07/23(土) 09:15:03.50ID:???0099nobodyさん
2011/07/23(土) 12:45:00.37ID:???オフィシャルのフォーラムなどを調べて思いました。ありがとうございました。
0100nobodyさん
2011/07/23(土) 12:51:42.49ID:???ちなみに、Auth関連は何を使用してますか?
0101nobodyさん
2011/07/25(月) 09:01:52.84ID:???0102nobodyさん
2011/08/02(火) 20:41:32.19ID:???Codeigniter2はORM使ってないんだから、はやくて当然だよね?
あんまり意味ない比較な気がする。
Yii使いとしては、yiiliteもスキーマキャッシュも使ってないし、納得いかないなw
0103nobodyさん
2011/08/03(水) 23:25:00.57ID:???Yiiは機能豊富でこの速さだからすごいと思うけどなぁ
0104nobodyさん
2011/08/04(木) 00:12:13.94ID:???0105nobodyさん
2011/08/04(木) 00:16:19.51ID:???機能殆どないのに遅かったら話にならん
yiiの早いってのは、それなりの機能を低コストで作成できる速さもあると思う
0106nobodyさん
2011/08/04(木) 18:16:32.80ID:???他のってそんな遅いの?
0107nobodyさん
2011/08/04(木) 18:33:53.39ID:???ノウハウ持ちが少なくて国内利用は少ないと思うけど
0108nobodyさん
2011/08/04(木) 23:04:48.83ID:???Yiiは生産性も高いし、速度も速いし、管理もしやすいですよ。
CakePHPでいっぱいいっぱいなもの作っている人にはおすすめのFMです。
0109nobodyさん
2011/08/04(木) 23:54:58.84ID:???最初にYii選んで使うって人は居るんじゃないか
0110nobodyさん
2011/08/05(金) 21:42:28.17ID:???今はpython-djangoに移行してるみたいだが
0111nobodyさん
2011/08/06(土) 00:40:31.22ID:???ログイン機能がどういう仕組みになってるかで一苦労だよこっちは・・・。
0113nobodyさん
2011/08/06(土) 23:54:25.05ID:???・・・がんばれよー
0114nobodyさん
2011/08/10(水) 12:39:16.71ID:???個人的にはフォームにモデルがあるのがちょっとびっくりしたかな
0115nobodyさん
2011/08/10(水) 18:01:57.89ID:???admin/adminとか決め打ちで判定してるところを
DBモデルからユーザ情報引っ張ってくるように改変してるんだけど、それでいいんだよね?
0116nobodyさん
2011/08/10(水) 18:37:47.14ID:???後はユーザロール系の拡張ぶち込んでサンプルみれば尚良し
といったものの、最近はyii使ってないなぁ
近頃はNode.jsばっかりでphpが恋しいよ
0117nobodyさん
2011/08/10(水) 23:24:52.74ID:???0118nobodyさん
2011/08/11(木) 15:07:54.84ID:???あとフォームビルダ使ってview作ってる人っている?良さがまだ見えてこないんだけど・・・
0119nobodyさん
2011/08/11(木) 15:46:51.50ID:???けど直感的でない気がして使ってない
0120nobodyさん
2011/08/16(火) 10:03:46.75ID:???それならrenderPartialでいいやってなって、自分も使ってないんですよねぇ。ありがとう
0121nobodyさん
2011/08/19(金) 18:01:25.30ID:???ちょっとした小銭稼ぎの話がきてあんまり確認しないでOKしちゃったんだが
0122nobodyさん
2011/08/19(金) 18:31:59.45ID:???0124nobodyさん
2011/08/19(金) 18:39:41.71ID:???この辺が有るのと無いのでは雲泥の差があるよ
0125nobodyさん
2011/08/20(土) 00:13:28.27ID:???サーバーにうpしたら動かなかった…。
"class HogepiyoController" HogepiyoController.phpにしたらサーバーでもちゃんと動作した。
命名規則守ってなかったのがいけなかったんだが、開発環境のwindowsでは動いただけにちょっとはまってしまった。
なんでだろう?
0126nobodyさん
2011/08/20(土) 03:21:48.37ID:???Unix系OSでは区別する
OSによって大文字小文字の扱いが違うことによる差異
YiiFramework内で名前から大文字小文字が命名規則に沿ってることを前提に
ロードするファイルのパスを組み立てて、必要なファイルだけを最低限の数だけ読み込むようになっているから
命名規則に沿わないと、OSのファイル名の扱いによる差異が起きる
0127nobodyさん
2011/08/20(土) 03:22:07.42ID:???0128nobodyさん
2011/08/20(土) 10:54:40.76ID:???ググったら大文字・小文字の扱いの違いで起こる混乱もちょくちょくあるようで…。
勉強になりました、ありがとうございます。
0129nobodyさん
2011/08/23(火) 19:54:53.32ID:???0130nobodyさん
2011/08/24(水) 01:10:39.74ID:???ttp://www.yiiframework.com/extension/ext4yii/
ってのがある。むしろ簡単に使えるか試して結果を聞かせてほしい
0131nobodyさん
2011/08/26(金) 13:06:35.49ID:zqS5wSah0132nobodyさん
2011/08/30(火) 23:44:03.51ID:???0133nobodyさん
2011/08/30(火) 23:48:17.46ID:???0135nobodyさん
2011/09/02(金) 02:26:06.55ID:???Yii 1.1 Application Development Cookbookは、
電子書籍版が2,348円($30.59)だけど、packtlibに登録すると1,861円(£14.99)/月で読める
600冊くらい読み放題になるからいろんな書籍をつまみ食いしたい人はいいんじゃないかこれ
http://packtlib.packtpub.com/books
なんか宣伝みたいになったけど、ちょっと感動したから・・・
ちなみに電子書籍版で「Agile Web Application Development with Yii1.1 and PHP5」も一緒にカートに入れて、
Promotional Codeに「y11adaweb」を入れると2冊とも半額になるぞ
0136nobodyさん
2011/09/03(土) 23:50:56.16ID:???つーか、予約して買ったし。Libは英語がサクサク読めれば
価値あるけど、たとえばSpring3とか無いから、意外に使えんぞ。
0137nobodyさん
2011/09/05(月) 01:17:37.49ID:???0138nobodyさん
2011/09/07(水) 18:12:28.30ID:???0139nobodyさん
2011/09/07(水) 18:55:03.17ID:???0140nobodyさん
2011/09/09(金) 11:36:43.58ID:???コントローラでの一元管理ってどういうことだろう?
俺もフォームビルダーの利点がイマイチ分からんのだが、
アクティブフォームを使えばモデル別にPOST配列が分かれるんだから、入れ子にも対応できるし、
再利用性って言っても、結局フォーム定義をモデルのルールと結びつけるんだから、再利用性に違いがないような気が・・・
CActiveFormが導入される前の物って感じなのかな
0141nobodyさん
2011/09/10(土) 11:37:40.24ID:???うーん、購入を躊躇するんならやめるのをお勧めする
どっちかってーと、「こういう使い方がありますよ、って内容だし。
referenceを期待するならやるとけ。
最近はzend使ってるが、そこそこ日本語リソースもあるし
RoR系じゃないからそれなりに使えてる。
0142nobodyさん
2011/09/11(日) 19:39:38.56ID:???0143nobodyさん
2011/09/13(火) 21:28:20.45ID:???0144nobodyさん
2011/09/22(木) 11:08:26.56ID:???0145nobodyさん
2011/09/24(土) 16:55:48.99ID:???i18n/data/ja_jp.phpもしくはi18n/data/ja.php
のcurrencyFormatを直接書き換えないと駄目なのかな?
一応、下みたいに修正すれば正常にフォーマットされるみたいだけど
'currencyFormat' => '?#,##0.00',
↓
'currencyFormat' => '#,##0?',
0146nobodyさん
2011/09/26(月) 02:42:38.87ID:???俺みたいな人はYii使うと幸せになりますか?
0147nobodyさん
2011/09/26(月) 04:29:29.36ID:???速度的に言うとCodeIgniter > Yii > CakePHPな感じです
0148nobodyさん
2011/09/26(月) 04:37:23.79ID:???ただ標準でプロファイル機能とログが揃ってるから、チューニング楽だけどね
0149nobodyさん
2011/09/26(月) 04:49:46.26ID:???管理画面などは驚くほど簡単にかつ高速で作れますよ。
0150nobodyさん
2011/09/26(月) 09:21:13.81ID:???キャッシュ機能も豊富で使いやすいよ。
YiiはORMをフルに使ってる分、CodeIgniterのほうが速いだろう。
でもCodeIgniterは書くコードの量が多すぎてしんどい。
あとはまあつくるもの次第。
0151nobodyさん
2011/09/30(金) 07:52:37.96ID:???0152nobodyさん
2011/09/30(金) 08:33:13.83ID:???なんというか、LLはターゲットシステムが
こじんまりしたものから出ん方が幸せになると思う。
いまPHPでそれなりの規模のシステムを組んでるが
つくづくそう思う。
0153nobodyさん
2011/09/30(金) 11:29:02.92ID:???0154nobodyさん
2011/09/30(金) 12:17:20.02ID:???お前の意見があるならまずしも
その大手もそう思ってるかも知れないのに
思ってないかも知れないが
0155nobodyさん
2011/09/30(金) 13:54:49.18ID:???確かに本格的な業務系アプリなら辛いかもしれないな
0156nobodyさん
2011/09/30(金) 14:53:45.46ID:???0157nobodyさん
2011/09/30(金) 14:55:12.10ID:???これはphpの書きやすさを認めながらも、性能に不満があるという証明でもあるんじゃないかな
0158nobodyさん
2011/09/30(金) 14:56:13.75ID:???フロントエンドね
0159nobodyさん
2011/09/30(金) 15:01:42.86ID:???どこの誤爆?
0160nobodyさん
2011/09/30(金) 15:01:46.40ID:???0161nobodyさん
2011/09/30(金) 16:06:54.69ID:???って古過ぎるよなぁ…
0162nobodyさん
2011/09/30(金) 17:40:35.22ID:???0163nobodyさん
2011/09/30(金) 18:04:18.67ID:???0164nobodyさん
2011/09/30(金) 20:47:23.02ID:???久しぶりに見ると下らないことに反応してるの見ると悲しくなるわ
0165nobodyさん
2011/09/30(金) 20:57:20.96ID:???0166nobodyさん
2011/09/30(金) 21:25:56.51ID:???たまに気になったタイトルのやつは読むけど、とてもあんな量毎日は無理だ
俺みたいなやつはYii使ってるやつで少ないのかな・・・サミシス
0167nobodyさん
2011/09/30(金) 21:59:58.18ID:???使い始めたら何か書くこともあるだろう
0168nobodyさん
2011/10/01(土) 07:09:48.10ID:???コアのソースもみやすいし、
つまずくことがあっても既に公式のフォーラムにあがってたりするし、
解決しちゃうんだよね。
0169nobodyさん
2011/10/01(土) 08:10:54.21ID:???公式のAPI閲覧システムをローカルでも動かしたいな
ajaxフォームで絞り込めるやつ
0170nobodyさん
2011/10/01(土) 21:19:41.39ID:???0171nobodyさん
2011/10/05(水) 08:51:33.73ID:???言語仕様はPHP、思想はRoR。Cakeに比べて縛りが緩いくらいだろ。
0172nobodyさん
2011/10/05(水) 09:15:42.60ID:???0173nobodyさん
2011/10/05(水) 09:28:00.27ID:???言葉で上手く説明できないけど、実際使い込んでみたらわかる。
0174nobodyさん
2011/10/05(水) 20:05:24.23ID:???getAbc()を$this->abcで使えたり
モデルをビューにまで持っていく考えだったり
知らない間にjQueryが使われていたり
CUserIdentityクラスに突っ込みどころが多いとこだったり
アクションクラスってのを作れたり
Giiテンプレートをカスタマイズしてどうすればより簡単にMVCが作れるか考えたり
どうやればより高速になるんだ?と興奮しながらさまざまなチューニングを試したり
初めて使う第3引数に夢のようなサプライズがあったりするとこだよ!
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系で勉強することが山ほどあります・・
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多いなぁ…
0320nobodyさん
2011/11/29(火) 02:00:29.79ID:???0321nobodyさん
2011/11/29(火) 02:33:56.91ID:???まあYiiの開発してない俺には関係ない話だが
0322nobodyさん
2011/11/29(火) 15:09:56.38ID:???Yii2.0のフォーラムみたいです
0323nobodyさん
2011/11/29(火) 17:41:16.51ID:???0324nobodyさん
2011/11/29(火) 18:18:11.77ID:???去年から登録してるのに初投稿・・・
なんか嬉しいです
0325nobodyさん
2011/11/30(水) 00:20:52.15ID:???なんで80回以上も投稿してる奴が、デフォルトコントローラの変更も分からねんだよ・・・
want to change default url from site/index to mycontroller/myaction
http://www.yiiframework.com/forum/index.php?/topic/24895-want-to-change-default-url-from-siteindex-to-mycontrollermyaction/
0326nobodyさん
2011/11/30(水) 01:22:11.47ID:???kokomoさんだって丁寧に答えていてすばらしいじゃないですか
と言いつつ、ここらへんもじわじわきますw
http://www.yiiframework.com/forum/index.php?/topic/25780-carraydataprovider-annd-sorting-of-related-models/page__p__123949#entry123949
http://www.yiiframework.com/forum/index.php?/topic/25663-strange-validation-problem/page__p__123520#entry123520
0327nobodyさん
2011/12/08(木) 16:26:44.69ID:???キャッシュがけっこう楽に設定できるので
最初から機能豊富でファイル数は多いものの、小規模でも使おうってなってきた
やっぱりYiiはすばらしい!
0328nobodyさん
2011/12/11(日) 00:29:13.12ID:???0329nobodyさん
2011/12/12(月) 01:38:24.21ID:???0330nobodyさん
2011/12/13(火) 11:09:31.44ID:EhkO03Ef色々カスタマイズするようなセンスが無いのでお仕着せで使えるのがあると
ありがたいんだけど。
0331nobodyさん
2011/12/13(火) 23:45:01.43ID:???何を作りたいのさ?みたいな
0332nobodyさん
2011/12/14(水) 04:10:51.81ID:Yi5sP1ARここにもテーマがいろいろあるのでどうぞ http://yiithemes.mehesz.net/
0335nobodyさん
2011/12/14(水) 11:38:53.17ID:???0336nobodyさん
2011/12/14(水) 14:07:45.93ID:???おすすめとしてはやっぱりTwitter Bootstrapの拡張ですね
http://www.yiiframework.com/extension/bootstrap/
ちなみにYiiはデフォルトではCSSにBlueprintを採用しています
0337nobodyさん
2011/12/14(水) 14:49:53.69ID:4Kz9mknqこれって既存のサイトでも簡単に置き換え可能ですか?
0338nobodyさん
2011/12/14(水) 16:30:11.49ID:???themeって言ったってそのまま使うわけじゃないんだし
0339nobodyさん
2011/12/14(水) 20:27:43.47ID:QC3GTum8どういう意味?
0340nobodyさん
2011/12/14(水) 21:24:27.82ID:???2行目ちょっとよく分かんなかったなすまん
themeとbootstrap一緒に入れても言いじゃんみたいなことが言いたかった
0341nobodyさん
2011/12/14(水) 23:49:14.08ID:???かつだいたいの機能をwidgetで作っていれば置き換えは難しくないと思います
0342nobodyさん
2011/12/19(月) 00:39:39.76ID:u4JenLAIそこにYiiを使ったりすると楽できるの? そういうのとはぜんぜん違う?
0343nobodyさん
2011/12/19(月) 03:30:03.93ID:???作るものの仕様にもよるが
0344nobodyさん
2011/12/19(月) 10:41:13.42ID:???0345nobodyさん
2011/12/19(月) 18:46:53.71ID:???やっぱりyiiのが素敵。yiiもデフォルトでbootstrap使ってほしいなぁ。
0347nobodyさん
2011/12/20(火) 13:10:18.85ID:x9zvuHrAgiiなしでYiiを使うメリットは果たしてあるんだろうか…。
0348nobodyさん
2011/12/20(火) 15:59:21.33ID:???0349nobodyさん
2011/12/20(火) 16:41:13.56ID:???0350347
2011/12/21(水) 08:43:36.70ID:H1kuP/Nw残念。そこまでマイナーでもないと思うんだけどなあ…。
0351nobodyさん
2011/12/21(水) 09:50:26.08ID:???0352nobodyさん
2011/12/21(水) 10:21:36.62ID:???いや日本ではマイナーだけど、海外では結構使われてるよ。
…なぜかロシアとかブラジルとかでやたら使われてる。
あんな使いやすいDBMSもないんだけどなあ。
0353nobodyさん
2011/12/21(水) 10:34:19.80ID:???0355nobodyさん
2011/12/21(水) 16:25:50.72ID:???http://www.yiiframework.com/forum/index.php?/topic/3108-firebird-schema-alpha-version/
http://www.yiiframework.com/forum/index.php?/topic/5810-firebirdinterbase-pdo-schema/
0356nobodyさん
2011/12/21(水) 18:07:53.11ID:???Yiiと比べてどうなの?
0357nobodyさん
2011/12/21(水) 18:18:35.19ID:???0358nobodyさん
2011/12/21(水) 23:16:25.16ID:???主に>>352の理由がすべて。
スタンドアローンとして、SQLiteのようにRDBMSを組み込みで使えるのも利点かな。
日本ではあまり流行ってないだけ。
0359nobodyさん
2011/12/25(日) 10:48:38.28ID:???0360nobodyさん
2011/12/25(日) 12:35:45.37ID:???0361nobodyさん
2011/12/25(日) 13:25:36.01ID:???CakePHP使うならYiiで良いじゃんって思ってしまう
0362nobodyさん
2011/12/25(日) 15:55:33.99ID:???ZendとSymfonyくらい?
0363nobodyさん
2011/12/25(日) 15:58:50.23ID:???それならSymfonyで、
Railsで、
Djangoで・・・
ってなりそう。
PHPでってなると、CakeかYiiあたりがちょうどいいのかも。
Silexは気になるが・・・
0364nobodyさん
2011/12/25(日) 16:03:26.36ID:???0365nobodyさん
2011/12/25(日) 18:23:27.97ID:???0366nobodyさん
2011/12/26(月) 00:22:32.77ID:D998BOvRむしろ、cakeとかだと大規模システムには向かない?
0367nobodyさん
2011/12/26(月) 00:33:42.77ID:???どんな大規模かは知らないけど
フレームワーク変えたって
組み立てるのは自分で
段違いにエレガントな設計になぞならんわけだし
0368nobodyさん
2011/12/26(月) 02:08:36.87ID:???0370nobodyさん
2011/12/26(月) 11:39:19.28ID:???symfony触ったこと無いから知りたい
まあ俺が大規模向けの開発することは無いと思うが
0371nobodyさん
2011/12/26(月) 13:44:03.39ID:???0372nobodyさん
2011/12/26(月) 14:00:59.26ID:???yiiを触った後では、覆ること間違いなし、でござる
たしかにrailsやdjangoと比べると劣るところはあるかもしれないが
php frameworkの中では間違いなく一番良い
でもそれはyiiがすばらしすぎるというよりも、むしろその他がたいして良くないってことだけど
0373nobodyさん
2011/12/26(月) 14:02:50.10ID:???0374nobodyさん
2011/12/26(月) 14:03:24.26ID:???0375nobodyさん
2011/12/26(月) 14:34:46.59ID:???0376nobodyさん
2011/12/26(月) 15:30:32.28ID:???0377nobodyさん
2011/12/26(月) 17:00:37.78ID:???0379nobodyさん
2011/12/26(月) 17:08:17.93ID:???世界規模で見ると利用規模はMySQLとほぼ同じ
商用フリー
ロストアップデートが起こらない
メンテナンスいらず
チューニングいらず
頑丈
スタンドアロンの組み込み向けもある
0380nobodyさん
2011/12/26(月) 18:12:17.89ID:???これです
http://yii.poweredsites.org/
0381nobodyさん
2011/12/26(月) 18:51:11.93ID:???0382nobodyさん
2011/12/26(月) 19:09:44.80ID:???トップページからhttp://www.yiiframework.com/doc/guide/1.1/ja/indexへのたどり方がわかりません
どうやってこのページにたどり着けるのでしょうか?
0383nobodyさん
2011/12/26(月) 19:46:29.65ID:???それクリックして、左上のLANGUAGE & VERSIONのドロップダウンから「日本語」を選択すればいけますよ
もしくは Docoumentation > tutorials > The Definitive Guide to Yii > 「日本語」でも同じです
0384nobodyさん
2011/12/26(月) 20:52:42.87ID:???ずっと黒いボタンのほうから探しててそこに気づきませんでした
ありがとうございます
0385nobodyさん
2011/12/26(月) 22:07:10.29ID:???yiic.bat webapp C:\www\aaa\public_html\test
とやっても作成されません
batファイルの
"%PHP_COMMAND%" "%YII_PATH%yiic" %*
の部分で止まっているようなんですがどのような原因が考えられますか?
phpへのパスは通ってますのでphp -vと打てばバージョンは帰ってきます
0386nobodyさん
2011/12/26(月) 22:14:53.24ID:???最初の文章はでなくてもyesとうったら作成されたので一応解決しました
0387nobodyさん
2011/12/26(月) 22:55:59.85ID:???0388nobodyさん
2011/12/26(月) 23:14:12.32ID:???Zend Frameworkに似てる感じですね
0389nobodyさん
2011/12/27(火) 00:19:40.72ID:???0390nobodyさん
2011/12/27(火) 01:06:57.62ID:???0391nobodyさん
2011/12/27(火) 01:17:16.70ID:aNrDGmfk一緒に仕事してると
変な変数名や関数名を付けるので迷惑だな。
頑張ってなんちゃって英語化してるみたいだが
文法がめちゃくちゃ。
0392nobodyさん
2011/12/27(火) 01:24:51.39ID:???0393nobodyさん
2011/12/27(火) 09:56:27.62ID:???Internal Server Error
include(Test.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory
というエラーがでてしまいます
demoのファイルの中を見ながらここまでは書けたのですがmodelの読み込みがわかりません
コントローラ内からモデルを読み込んで$strの値を表示させたいのですがアドバイスお願いします
■protected/controllers/TestController.php
class TestController extends CController
{
public function actionIndex()
{
$test = new Test();
echo $test->str;
}
}
■protected/models/Test.php
<?php
class Test extends CActiveRecord
{
public $str = "サンプルテキスト";
public static function model($className=__CLASS__)
{
return parent::model($className);
}
}
0394nobodyさん
2011/12/27(火) 10:19:16.88ID:???ファイルがないってエラーだし、環境問題じゃないのか?
echoの1行コメントアウトしてもエラー出るんじゃねえの
0395395
2011/12/27(火) 10:38:37.00ID:???すいませんファイルあげたのでみてもらえませんか?
http://www1.axfc.net/uploader/Sc/so/304365.zip
コードはframeworkフォルダがトップのindex.phpと同じ位置にあるものとして書いてます
0396395
2011/12/27(火) 14:20:13.96ID:???ここでつまずくと後々キツイのでやっぱYiiは選択肢からはずします
0397nobodyさん
2011/12/27(火) 15:07:17.51ID:???CActiveRecordではなく、CFormModelを継承してみてください
CActiveRecordとCFormModelの違いについてはここらが参考になるかもしれません
http://www.yiiframework.com/doc/guide/1.1/ja/basics.model
http://www.yiiframework.com/doc/guide/1.1/ja/form.model
protected/config/main.phpにてデータベースをしっかり設定していて
かつ、データベースにtestというテーブルがあって
データの取得、追加、更新、削除などを行う場合は、CActiveRecordを継承してみてください
その場合はtableNameメソッドにて、テーブル名を記述する必要があります
アクティブレコードに関しては以下が参考になりますよ
http://www.yiiframework.com/doc/guide/1.1/ja/database.ar
0399nobodyさん
2011/12/27(火) 15:18:26.04ID:???モデルクラスとデーブル名が一致しない場合のみで、いいかもしれないですね。失礼しました。
0400395
2011/12/27(火) 16:30:18.42ID:???ただパスを修正したらエラーになるのが原因がよくわかりません
サーバを再起動するとエラーが消えます
Yiiに必要なapcやmemcacheの影響でこうなるのでしょうかね
よくわかりませんがこのへんを気をつけて学びたいと思います
0401nobodyさん
2011/12/27(火) 16:42:02.52ID:???0402nobodyさん
2011/12/27(火) 16:43:28.83ID:???あとyiiはapcなどが必須ではなく、「利用できる」だけですので、使わなくても特に問題ありません
0403395
2011/12/27(火) 16:50:11.11ID:???たとえばframeworkとprotectedはドキュメントルートに置きたくないので
以下のようにパス修正・ファイルの移動してるんですがこの後にエラーがでます。
サーバを再起動すると直ったり直らなかったりします。
直らないときは1から同じものを作ったら直ります
エラーが出たら、エラーが出る直前でecho 1;exit;してブラウザで閲覧後にこのコードを消すと別のエラーが発生したりと原因も良く分からないです
/aaa/bbb/framework
/aaa/bbb/protected
/aaa/bbb/protected/config/main.php
■エントリスクリプト
require_once(dirname(__FILE__).'/../framework/yii.php');
$configFile = dirname(__FILE__).'/../protected/config/main.php';
Yii::createWebApplication($configFile)->run();
■config/main.php
<?php
return array(
'basePath' => '/aaa/bbb/protected',
);
0404nobodyさん
2011/12/27(火) 18:53:48.00ID:???相対で指定したファイルパスがうまく引けない原因がわからない、とかって
別にyiiだから起きてる問題ってわけじゃないしなぁ
エラーをはいた処理が読もうとしたパス文字列と、実際に参照したい対象のフルパス
両方を取得して比較してみりゃいいだけの話だと思うけれど
それに問題がなければ権限じゃね
0405395
2011/12/27(火) 19:15:18.13ID:???相対パスは合ってますしパスが絶対パスでも症状は同じになります
はやり日本語情報が少ないので日本で流行ってない状況での初心者の使用は控えるべきかもしれませんね
0406nobodyさん
2011/12/27(火) 19:19:07.53ID:???使える人だけが使って楽出来ればいいのさ
0407nobodyさん
2011/12/27(火) 19:42:24.58ID:???'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
で良い気がしますが、どうですか?一応これはデフォルトの値です
あと、Yiiを触りたてなら
まずドキュメントルートにframework, protectedを設置して
一つずつ、置き場所を変えるなり、設定を変えるなりして、やっていったほうがいいかもしれないですね
順々にやっていくと、どこでエラーが出るのか把握できますし
0408nobodyさん
2011/12/28(水) 16:42:40.02ID:???大文字小文字が間違ってるとかさ
0409nobodyさん
2011/12/28(水) 18:24:47.59ID:???0410nobodyさん
2011/12/28(水) 18:44:54.92ID:???0411nobodyさん
2011/12/28(水) 19:34:38.42ID:???答えたい人が答えるだけだし
0412nobodyさん
2011/12/28(水) 20:03:03.42ID:???0415nobodyさん
2011/12/28(水) 23:54:45.28ID:???0416nobodyさん
2011/12/29(木) 00:08:59.59ID:???0417nobodyさん
2011/12/29(木) 10:37:55.51ID:???としたときに
views/layouts/main.php内に<?php echo $title;?>と書いても表示できなくて
views/site/index.php内に<?php echo $title;?>と書いたら表示できました
layoutsないのテンプレートに表示させるにはどのように書くのでしょうか?
0418nobodyさん
2011/12/29(木) 13:18:16.60ID:???Yiiは本職じゃない俺が回答するのもなんだけど。
その症状から分かることはキャッシュの影響だよ。
鯖を再起動して直るのはそういう事。
もしくはclearstatcacheを使うか。
何でこうも他人を煽ることしかできない中途半端な知識を持ってる人が多いんだろうねこのスレ。
0419nobodyさん
2011/12/29(木) 14:46:38.92ID:???にしても自分も最後に煽らんでもw
0420nobodyさん
2011/12/29(木) 15:12:12.42ID:???間違っていたことを確認できるので、知識の向上になりますよ
>>417
$this->renderPartial()を確認してみてください
http://www.yiiframework.com/doc/api/1.1/CController/#renderPartial-detail
0421nobodyさん
2011/12/29(木) 20:59:54.03ID:???0422nobodyさん
2011/12/29(木) 22:40:57.55ID:???大丈夫ですか?
全然そんなことないですよ。むしろどんどん発言していってください
今年中には1,1.9リリースしなさそうですねー
1.2や2.0もどんなものになるのか楽しみです!良いお年を。
0423nobodyさん
2011/12/30(金) 00:47:39.93ID:???0424nobodyさん
2011/12/30(金) 14:05:49.06ID:???0425nobodyさん
2011/12/30(金) 17:27:38.61ID:???0426nobodyさん
2012/01/01(日) 21:08:25.48ID:???0427nobodyさん
2012/01/01(日) 21:11:26.58ID:iI9nxYID英語の分からない奴にコードを欠かすな。
変な変数名・関数名を付けてむっちゃくちゃ。
0428nobodyさん
2012/01/01(日) 21:13:43.14ID:???$ichijikangotonijikkousurunaiyou = time();
0430nobodyさん
2012/01/02(月) 00:05:34.96ID:???あれここなんのスレ?
0431nobodyさん
2012/01/02(月) 00:17:33.88ID:???それはあけおめの予感・・・!
0432nobodyさん
2012/01/02(月) 01:26:16.76ID:EvQxdFqrまさにそれに近い感じ。
付け焼刃の英語で日本語を翻訳して並べてる
だけだから無茶苦茶。
スパゲッティーコードの出来る原因は
英語の出来ないカスがコーディングするからだと確認したよ。
恥を知れ。お前とお前。
0434nobodyさん
2012/01/02(月) 10:30:41.30ID:???0435nobodyさん
2012/01/02(月) 10:30:48.26ID:EvQxdFqrYiiを使うな。という話さ。
0437nobodyさん
2012/01/02(月) 11:09:13.91ID:???0438nobodyさん
2012/01/02(月) 11:47:15.83ID:EvQxdFqr鍵を差して運転する事しか出来ない人は馬鹿です。
0439nobodyさん
2012/01/02(月) 12:52:13.15ID:???それと平行して2.0を開発している雰囲気
あと2.0はPHP5.3以降になる予定だそうです
1.1.9はリレーション周りの強化が主で、これといった新しい機能はありませんでしたねぇ
0440nobodyさん
2012/01/02(月) 13:34:18.36ID:???0441nobodyさん
2012/01/02(月) 14:05:39.75ID:???0442nobodyさん
2012/01/02(月) 15:34:42.08ID:???0443nobodyさん
2012/01/02(月) 23:01:43.96ID:4fhe3V6D0444nobodyさん
2012/01/02(月) 23:30:16.91ID:???詳しくはマニュアル
0445nobodyさん
2012/01/04(水) 17:50:03.95ID:???保存するとき、フォームからの値から関連したDBに自動で格納してくれたりする?
0446nobodyさん
2012/01/05(木) 02:09:13.94ID:???詳しくはマニュアル
0447nobodyさん
2012/01/05(木) 14:53:06.86ID:???これですかね?
http://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect-data-for-two-or-more-models/
0449nobodyさん
2012/01/05(木) 15:05:44.58ID:???0450nobodyさん
2012/01/05(木) 15:49:18.16ID:???他のフレームワークの例はあるの?
0451nobodyさん
2012/01/05(木) 15:50:42.39ID:???0452nobodyさん
2012/01/05(木) 15:57:33.66ID:???自分も自動よりYiiのWikiに載ってる感じで、分けて保存するほうが扱いやすいですね
0453nobodyさん
2012/01/05(木) 18:50:18.06ID:???<select name="Post[prefecture_id]">
<option value="" selected="">地域名</option>
<optgroup label="北海道">
<option value="北海道">北海道</option>
</optgroup>
<optgroup label="東北">
<option value="青森県">青森県</option>
<option value="青森県">岩手県</option>
<option value="青森県">宮城県</option>
:
:
↑こういうdropDownListを返すにはどうしたらいい?
<?php echo $form->dropDownList($model,'prefecture_id',
CHtml::listData(Prefecture::model()->findAll(), 'id', 'name')); ?>
<optgroup>が無い単純なdropDownListなら上記でいけるんだけど、
これが入ることでどう実装していいか悩んでる
0454nobodyさん
2012/01/06(金) 00:10:08.19ID:???グループ毎にoptionタグをfor文とかで作るしか思いつかない
0455nobodyさん
2012/01/06(金) 00:38:14.96ID:???http://www.yiiframework.com/forum/index.php?/topic/6903-how-can-i-generate-a-select-list-with-optgroup/
0456nobodyさん
2012/01/06(金) 01:52:04.52ID:???{
$groupLists=array(
array('id'=>'1', 'name'=>'北海道地方'),
array('id'=>'2,3,4,5,6,7', 'name'=>'東北地方'),
array('id'=>'8,9,10,11,12,13,14', 'name'=>'関東地方'),
array('id'=>'15,16,17,18,19,20,21,22,23', 'name'=>'中部地方'),
array('id'=>'24,25,26,27,28,29,30', 'name'=>'近畿地方'),
array('id'=>'31,32,33,34,35', 'name'=>'中国地方'),
array('id'=>'36,37,38,39', 'name'=>'四国地方'),
array('id'=>'40,41,42,43,44,45,46,47', 'name'=>'九州地方'),
array('id'=>'48', 'name'=>'その他'),
);
0457nobodyさん
2012/01/06(金) 01:53:00.12ID:???$prefs=$this->findAll();
$options=array();
foreach ($prefs as $pref)
{
$group='';
foreach ($groupLists as $groupList)
{
$groupIds=explode(',', $groupList['id']);
foreach ($groupIds as $groupId) {
if ($groupId == $pref['id']) {
$group=$groupList['name'];
}
}
}
$options[]=array(
'id'=>$pref['id'],
'name'=>$pref['name'],
'group'=>$group,
);
}
return $options;
}
0458nobodyさん
2012/01/06(金) 01:56:14.41ID:???ビューで
<?php echo $form->dropDownList($model,'prefecture_id',
CHtml::listData(Prefecture::model()->getOptions(), 'id', 'name', 'group')); ?>
のようにしてgetする
一応これでおkだったが、
リファクタリングしてないし、Yii初心者なので設計にも問題あるかもしれん
0459nobodyさん
2012/01/06(金) 14:46:56.13ID:???0460nobodyさん
2012/01/06(金) 15:04:54.05ID:???0461nobodyさん
2012/01/06(金) 15:07:41.93ID:???0462nobodyさん
2012/01/06(金) 15:10:50.22ID:???http://www.yiiframework.com/forum/index.php?/forum/21-japanese/
0463nobodyさん
2012/01/06(金) 15:14:12.79ID:???0464nobodyさん
2012/01/06(金) 17:14:37.32ID:???0465nobodyさん
2012/01/06(金) 17:30:59.01ID:???0466nobodyさん
2012/01/06(金) 17:37:17.77ID:???0467nobodyさん
2012/01/06(金) 19:09:20.76ID:???0468nobodyさん
2012/01/06(金) 22:49:00.48ID:???ローカルにリファレンス落としといた方がいいな
0469nobodyさん
2012/01/07(土) 11:11:31.49ID:???でもWEBのみたいにインクリメンタルサーチできるリファレンスだと良いんですけど
無いですね
0470nobodyさん
2012/01/07(土) 11:56:36.06ID:???CakePHPより思想が洗練されてる
初めてRails触ったときの楽しさ
0471nobodyさん
2012/01/07(土) 16:30:58.27ID:???触ったこと無いから詳しくないけど、流行りらしいじゃん?
0473nobodyさん
2012/01/08(日) 00:51:56.66ID:???なんか楽しいよね!
ソースを眺めて回るのも、背中の数字が上がって良い感じ
0474nobodyさん
2012/01/08(日) 14:31:22.46ID:???ってかよく都道府県ってテーブルに入れてるけど、
別に内容変わらないし、データも少ないからDBに入れておく必要なくね?
都道府県データの配列持ったモデル作ったらよくね?
0475nobodyさん
2012/01/08(日) 16:48:37.12ID:???0476nobodyさん
2012/01/08(日) 17:15:03.74ID:???0478nobodyさん
2012/01/08(日) 17:44:44.48ID:???0479nobodyさん
2012/01/08(日) 17:57:53.68ID:???DBに保存するメリットは、保守を全部クライアント任せにするようなケースで簡単に変更出来るってところか
0480nobodyさん
2012/01/08(日) 18:59:21.55ID:???CHtml::activeDropDownList()件は解決したんでしょうか?
自分も知りたいところではあるんですが
0481nobodyさん
2012/01/08(日) 19:20:16.77ID:???どういうことを説明しているか、わかる方おられますか?
http://www.yiiframework.com/doc/api/1.1/CController#c2596
0484nobodyさん
2012/01/08(日) 20:42:11.41ID:???0485nobodyさん
2012/01/09(月) 00:01:41.81ID:???モデルのgetPrefOptions()でreturn CHtml::listData(Pref::model()->findAll(), 'id', 'name', 'group');して
ビューで<?php echo CHtml::activeDropDownList($model, 'pref_id', $model->prefOptions); ?>みたいな
モデルのrules()はrequiredとarray('pref_id', 'in', 'range'=>range(1, 47)),でOKかな?
0486nobodyさん
2012/01/09(月) 13:41:34.32ID:???よく考えたら必要じゃないよな。
これに限らず、データがほぼ固定のものってプログラムの中で持てばいいんじゃ、、、?
わざわざDBで持つと、処理が重くなるだけだし
0487nobodyさん
2012/01/09(月) 14:49:29.31ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1404&forum=3
0488nobodyさん
2012/01/09(月) 14:50:35.66ID:???0489nobodyさん
2012/01/09(月) 14:56:09.49ID:???まじ助かってるわ
あの成果物がなければ俺がYiiを使うこともなかった
0495nobodyさん
2012/01/09(月) 19:59:48.34ID:???どういう意味だ?
Webアプリのボトルネックは大抵DBへのアクセスだから、
そのアクセスを減らす意味でかなり有用だと思うjけど
0496nobodyさん
2012/01/09(月) 21:51:40.82ID:???そんなことしてPHPに定数持たせるくらいなら、JAVA辺りで組んだサービスで
起動時にデータベースから読んだ値をオンメモリで格納しておく方が
理にかなってるってこと。
0497nobodyさん
2012/01/09(月) 21:59:39.65ID:???違う違う
スケールアウトの問題だよ
RDBMSはスケールアウトしにくいだろ
JAVAとPHPの比較するような事柄じゃない
0499nobodyさん
2012/01/09(月) 22:03:31.07ID:???え、トンチンカンなこと言ってるのかな
逆にJAVAを引き合いに出した先の話がオンメモリに格納とか、JAVA関係ねえじゃんって感じたんだが
知識あると自負しておられるようなので、出来ればご高説承りたいですね
0500nobodyさん
2012/01/09(月) 22:10:38.39ID:???だからJAVA辺りでって書いてあるじゃん。
PHPでやるならmemcachedなんかを使うほうが理にかなってる。
データベースにあるべきと設計した項目をパフォーマンスを理由にコードに
埋め込むなんてのは最悪の下策。
0501nobodyさん
2012/01/09(月) 22:22:19.11ID:???そもそも>>494は設計思想の話全然出てないじゃん
レコード読み出しでデータベースの性能問題が出るなら、他の言語使えって言ってるようにしか見えないよねえ
でも他の言語持ち出す意味もよく分からないし、偉そうなこと言った割には主張に一貫性がないように見えるけど大丈夫ですか?
0503nobodyさん
2012/01/09(月) 22:32:58.81ID:???反省です
0505nobodyさん
2012/01/09(月) 23:06:36.79ID:???0506nobodyさん
2012/01/09(月) 23:17:53.09ID:???>>500を読んでやっとわかったわ。
正直感じ悪いな。
0507nobodyさん
2012/01/09(月) 23:34:47.97ID:???既に決定?
0508nobodyさん
2012/01/09(月) 23:59:23.03ID:???0510nobodyさん
2012/01/10(火) 00:18:02.04ID:???3値あれば十分でしょ。
0511nobodyさん
2012/01/10(火) 00:30:52.59ID:???afterFindで0は'男性'、1は'女性'とかに置き換えるってのは無駄なのなんなのか、よくわからなくなって・・
0512nobodyさん
2012/01/10(火) 01:30:05.92ID:???0514nobodyさん
2012/01/10(火) 15:52:48.64ID:???memcachedの代わりに使うケースって少ないね。
0515nobodyさん
2012/01/10(火) 16:08:23.68ID:???下はrenderPartialの出力が画面表示になる
0516nobodyさん
2012/01/10(火) 16:34:35.09ID:???試してみてなんとなくわかりました。ありがとうございます。
ただ、どういった用途で使うかが見えてきません。
例えば、結果を返り値として文字列で受け取る場合などは
メールのテンプレートなどに利用できそうですが・・
出力が画面表示になる場合は、普通に$this->renderPartial('dummy');とする場合との違いがわかりません
0517nobodyさん
2012/01/10(火) 17:02:51.12ID:???変換したり、ファイルに保存したり
0518nobodyさん
2012/01/10(火) 21:51:45.37ID:???$this->render('dummy', null, false, ture);のやつ
0519nobodyさん
2012/01/10(火) 21:52:10.57ID:???0520nobodyさん
2012/01/10(火) 21:54:26.20ID:???print_r($hoge);
ということじゃねーの?
0521nobodyさん
2012/01/10(火) 23:32:07.77ID:???0522nobodyさん
2012/01/10(火) 23:34:37.35ID:???APIリファレンスを見ると、4つめをtrueにするとprocessOutputで後処理されるって書いてる。
で、processOutputを見ると、scriptタグを挿入したり、hiddenフィールドに値を埋め込んだりするみたい。
だから、たぶんrenderPartial単体を画面表示したいときに使うんじゃないかな。
0523nobodyさん
2012/01/11(水) 14:12:56.17ID:???結果受け取ってどうすんのって事例は、CControllerのrenderの中身見ればいい
main.phpにcontent引数として渡して描画してるだろ
0524nobodyさん
2012/01/11(水) 15:24:04.56ID:???どんな具合で処理が流れていっているのかわかりますね
いやぁしかしYiiのAPIはすばらしく見やすい
0525nobodyさん
2012/01/12(木) 08:42:21.68ID:???0526nobodyさん
2012/01/12(木) 13:00:12.98ID:???0529nobodyさん
2012/01/12(木) 15:48:04.55ID:???0530nobodyさん
2012/01/12(木) 16:45:04.41ID:???ユニットテストを難しくする汚染要素を隔離するためにあるのでは?
具体的に言うとこんな感じ。
View(GUI, xml, html, json)
Controller(Session, Request, Form, 画面遷移などWeb独自のデータ)
Model(RDB, KVS)
MとCが分離されることでMはWebスコープから分離され、CはSQLから分離される。
でもこの理屈だとVとCの関係がおかしくなっちゃうね。
CがVにデータを渡すときはリクエストスコープを経由しないで
直に関数の引数で整数や文字列、オブジェクトを渡すべきって話になるから。
0535530
2012/01/12(木) 17:15:53.28ID:???ごめん、誤爆した。
こっちでMVC云々にレスしたつもりだった
PHPでOOP
http://kohada.2ch.net/test/read.cgi/php/1172205352/
0536nobodyさん
2012/01/12(木) 18:37:20.23ID:???0537nobodyさん
2012/01/12(木) 20:22:41.51ID:???0538nobodyさん
2012/01/13(金) 00:04:12.96ID:???0539nobodyさん
2012/01/13(金) 00:19:04.76ID:???RoRとか?
0540nobodyさん
2012/01/13(金) 19:59:17.41ID:???accessRulesやfilterのみ適応して
PHPファイル名そのままで表示させたいです。
action関数を書かないで済む簡単な方法が
あれば教えて頂けませんか?
Yiiの認証を使ったファイル置き場が作りたい感じです。
0541nobodyさん
2012/01/13(金) 20:27:30.80ID:???0542nobodyさん
2012/01/14(土) 00:05:26.00ID:???日本語化コミットしようぜ
0543nobodyさん
2012/01/14(土) 10:02:07.26ID:???0544nobodyさん
2012/01/14(土) 10:25:45.65ID:???urlManagerルーターのaliasでも手間?
'something/<alias>'=>'something/rawdraw'
Class SomethingController ....
{
public function actionRawdraw($alias) {
echo $alias;
}
}
http://foo.org/something/bar.php
0549nobodyさん
2012/01/14(土) 21:04:16.08ID:???ってどういう仕組なの?
スタティックじゃないメソッドをスタティックで呼べるって強すぎない?
0550nobodyさん
2012/01/14(土) 21:57:37.93ID:???0551nobodyさん
2012/01/14(土) 21:59:13.89ID:???call_user_func
0552nobodyさん
2012/01/14(土) 22:57:03.24ID:???0553nobodyさん
2012/01/14(土) 23:07:12.19ID:???0554nobodyさん
2012/01/14(土) 23:32:36.39ID:???0555nobodyさん
2012/01/14(土) 23:51:33.45ID:???0556nobodyさん
2012/01/15(日) 23:03:55.87ID:???見ると勉強になるし、アプリの作り方がわかる。
0560nobodyさん
2012/01/16(月) 19:39:01.84ID:???0561nobodyさん
2012/01/16(月) 19:41:57.11ID:???0562nobodyさん
2012/01/16(月) 22:29:25.13ID:???0563nobodyさん
2012/01/17(火) 14:35:07.52ID:???勉強になってよかったね、で済む話じゃん
0566nobodyさん
2012/01/17(火) 18:16:13.97ID:???まったり行きましょう
0567nobodyさん
2012/01/17(火) 18:19:37.28ID:???0570nobodyさん
2012/01/17(火) 20:51:23.14ID:???0572nobodyさん
2012/01/19(木) 00:28:06.83ID:???checkBoxListで表示(該当部分をチェック)させるのってどうやってやるんだ・・・3日間かかったが挫折した
0573nobodyさん
2012/01/19(木) 00:50:32.42ID:???0574nobodyさん
2012/01/19(木) 01:10:41.70ID:???いやHAS_MANYも試してないけど、多分できない気がする
オブジェクト→checkBoxListに渡す配列への変換を自動でしてくれないんだな
フレームワークなのにこういう重要な部分を手動でしてくれないのかな?
0575nobodyさん
2012/01/19(木) 01:14:25.50ID:???http://www.yiiframework.com/doc/guide/1.1/ja/form.table
これは答えになる?
0576nobodyさん
2012/01/19(木) 05:18:57.24ID:???取得したレコードを元にチェックボックス用の配列を返すメソッドを用意したほうがはやそう。
0577nobodyさん
2012/01/19(木) 19:00:57.37ID:???>>575のやり方+こうやればいいだけじゃないの
$data = array();
foreach($models as $model) {
$data[$model->id] = ''label";
}
>checkBoxListで表示(該当部分をチェック)させるのって
あと、gridviewとか使って各モデルの情報を一行で表してるなら、checkBoxListは妥当ではないと思うな
その場合、1行ずつチェックボックス付ければいいだけじゃね
'CHtml::activeCheckBox($data, "check")',
まあ、やりたいことが分からないよね
0578nobodyさん
2012/01/21(土) 16:42:05.68ID:???・管理用Controllerを作って、そこにアクション押しこむ
・そもそも別にフォルダ作って、ユーザ用と管理用のprotectedを別々に管理する
他にもいろいろ方法あるかな
俺はとりあえず前者で作ってるんだけど、
バグで脆弱性作っちゃったり、セキュリティを考えると後者のほうが良い感じだけど、
同じ処理を持たなきゃいけなかったり無駄が多そうだよね
0579572
2012/01/22(日) 00:44:52.66ID:???ありがとうございます。
やりたいことは、
投稿にMANY_MANYでタグが関連付けられているといったときのケースです。
Post、PostTag、Tag
というモデルがあり、
PostのフォームにcheckBoxListで
あらかじめあるタグリストがチェックボックスでずらーっと並んでいるとき、
投稿のフォームでチェックした複数のタグをPostTagに投稿ID+タグIDを保存する
保存するときは、PostモデルのafterSaveでチェックボックスの配列をforeachして
手動で保存していたのですが、
既存の投稿を編集(アップデート)するときに、関連付けられたタグを
投稿したときと同じようにデフォルトでcheckedを入れたかった
ただ、いろいろ調べたりアドバイスを見るかぎり、
アップデートのときも手動でforeachしてcheckedするしかないようですね。
ありがとうございました!
0580nobodyさん
2012/01/22(日) 18:12:42.38ID:i1iVcXOA用途は違うけど、これがたぶん君が言っている自動化に近いと思う
// postアクションメソッド.
$model = new Post;
if(isset($_POST['Post'])){
try {
$transaction = Yii::app()->db->beginTransaction();
$model->attributes=$_POST['Post'];
foreach($_POST['Post']['tags'] as $tag) {
$postTag = new PostTag();
$postTag->id_post = $model->id;
$postTag->id_tag = $tag;
$postTag->save();
}
$model->save();
$transaction->commit();
} catch(Exception $e) {
$transaction->rollBack();
}
}
// view
echo CHtml::activeCheckBoxList($model, 'tags', CHtml::listData(
Tag::model()->findAll(), 'id', 'name'
));
※インデントは全角スペース、エラー処理はなし、実行してない
こんな感じ?
と、ここまで書いて、下のエクステンション見つけた
http://www.yiiframework.com/extension/esaverelatedbehavior/
俺もいろいろ勉強になった、ありがとう
0581nobodyさん
2012/01/23(月) 03:55:32.99ID:???おつ
MANY_MANYの保存は2つ目のURLのエクステンションでいけるね
アップデートのときにcheckBoxListをcheckedさせるには1つ目のURLにヒントがあった
0582nobodyさん
2012/01/23(月) 19:13:13.51ID:g71C+axW0583nobodyさん
2012/01/24(火) 06:12:58.16ID:???0584nobodyさん
2012/01/24(火) 15:29:19.24ID:7osuj7Qxこれくらいは英語で十分だなって思ってただけど、やっぱり読むスピードが全然違うな
0585nobodyさん
2012/01/25(水) 01:04:42.19ID:PRfu+W52WEBサーバーの処理800msのうち10ms〜20msくらいでrender出来ちゃう
0586nobodyさん
2012/01/25(水) 13:51:38.28ID:???ARとかどこで使うんだあれ。
0587nobodyさん
2012/01/25(水) 13:53:45.77ID:???ローカルではうまくいくのに、さくらインターネットにアップロードすると
トップページは表示されるものの、コントローラなどがInternal Sever Errorになってしまいます。
ローカルの設置場所:
DOCUMENT_ROOT/example.com/
さくらインターネットの設置場所:
DOCUMENT_ROOT/example.com/
(/home/USERNAME/www/example.com/)
上記の「example.com」がアプリケーションのディレクトリ(protectedなどがあるもの)です。
htaccessの内容は、
RewriteEngine on
RewriteBase /example.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
こうなっています。
ドキュメントルートからの構成は同じで、
ローカルではちゃんと表示されているんですが・・・
0588nobodyさん
2012/01/25(水) 19:11:55.85ID:???その時はもうindex.phpありでいいやで妥協しましたが
これ何が原因なんでしょうかね。Apacheのバージョン?
0589nobodyさん
2012/01/25(水) 19:25:30.26ID:YwP4y9rdYii全く関係ないじゃん
0590nobodyさん
2012/01/25(水) 19:49:43.53ID:???0591nobodyさん
2012/01/25(水) 20:02:54.58ID:???0592nobodyさん
2012/01/25(水) 20:35:04.64ID:???スペル怪しいけどw
0593587
2012/01/25(水) 21:59:53.64ID:???[Wed Jan 25 21:32:44 2012] [error] [client 66.249.69.201] mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary
ループしているみたいですかね・・・?
ただCakePHPのときもさくらインターネットでは同じエラーが出ていました
http://blog.syuhari.jp/archives/2056
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=76&forum=2
↑これと同じだと思います。
このときは RewriteBase をいじって解決したので
今回もいろいろいじっているのですが、全然だめです
>>588さん以外にもレンタルサーバーで利用している方いそうですけど、
どうやって解決しているんでしょうかね・・・
0595nobodyさん
2012/01/25(水) 22:25:49.17ID:???ちゃんとレス内容までは見てないけど、単に設定ミスでしょ
Yiiと関係ないからスレチだけど
0596nobodyさん
2012/01/25(水) 22:30:53.35ID:???0598587
2012/01/26(木) 00:53:49.69ID:???そのサーバと同じとこに乗せてエラー出てるの
でYiiが原因か、Yiiに詳しい人ならわかるかなぁと思って・・・すいません
0599nobodyさん
2012/01/26(木) 01:05:58.94ID:???Internal Sever Errorがどういうときに出るのかを調べたほうが良いかも
スペルミスしてない?
とりあえずYiiが原因では無いと思うよ
0600nobodyさん
2012/01/26(木) 07:48:27.99ID:???何得意げになって書いてんの?www
0601nobodyさん
2012/01/26(木) 11:30:37.83ID:???0602587
2012/01/26(木) 11:33:01.61ID:???>>587を見てもらえればわかるようにスペルミスではないはずです。
とりあえずさくらインターネットのスレに行ってみます。
あっちでもスレ違いだって言われそうだけど・・・
ありがとうございました
0603nobodyさん
2012/01/26(木) 12:43:52.75ID:???さくらスタンダードなら>>587の.htaccessの設定でエラーは出ないはず。
>>587のYiiの設定が原因くさいと思うぜ。
>>587が悪いのは、素のYiiをインストールしてデフォルトのloginあたりのurlでも
internal server errorが出るかどうか
(http://something.sakura.ne.jp/example.com/site/login)
を確かめもしないで、自分が「作った」アプリであれこれパニクってる点。
0604nobodyさん
2012/01/26(木) 12:45:17.60ID:???Yiiスレでエラー切り分けを問いたいなら、そういうところをちゃんと書くべし。
0605587
2012/01/26(木) 13:27:32.58ID:???助言のとおり
http://example.sakura.ne.jp/exmple.com/site/login
で見ると正しく表示されました。
原因はドメインでアクセスするときにあるようです。
http://example.com/site/login
このURLでアクセスするとInternal Server Errorになるので。
ドメインでアクセスするときに、htaccessがどう動くかもっと調べてみます。
Yiiが原因ではなさそうなので、退散します!
スレ汚し失礼しました!
0606nobodyさん
2012/01/26(木) 14:46:59.49ID:???/home/ユーザ名/www/example.com
が別ドメインのdocルートだっていう情報を提供せずにいたのが痛いわけだが、
それはともかく、
http://example.com/site/loginでのそのInternal Server Errorは、単純に
.htaccessの
Rewritebaseが
/example.com
になっているからに過ぎないと思うね。
Rewritebaseは/(URLパスルート)じゃなきゃいけないでしょ。そういう場合は。
まあスレ汚しにスレ違いのレスをするのもなんだけどさ。
0608nobodyさん
2012/01/26(木) 14:59:25.18ID:???0609nobodyさん
2012/01/26(木) 15:56:04.19ID:???皆さんは直接ファイルを編集していますか?
それとも別moduleを作成してuser-moduleをオーバーライド
してますか?
0610nobodyさん
2012/01/26(木) 16:06:14.49ID:???0611609
2012/01/26(木) 16:08:47.08ID:???言葉足りなくてすみません
yii-userというuser管理moduleのことでした
http://www.yiiframework.com/extension/yii-user/
0612nobodyさん
2012/01/26(木) 16:10:57.85ID:???出来合のクラスを直接書き換えるというのは愚。
0614nobodyさん
2012/01/26(木) 17:34:05.28ID:???多分yii-userをカスタマイズしていくとわかりますが、けっこう大変ですよ
0615609
2012/01/26(木) 18:02:36.06ID:???やっぱそうなんですか
経験があまり無いので色々試してみようかと思います
別moduleを作成してyii-userをextends
>>613
ユーザの管理画面がすぐ完成するのが便利かと
プロフィール編集とか
0616nobodyさん
2012/01/26(木) 18:14:32.07ID:G7JApHSthttp://symfony.com/doc/2.0/book/http_cache.html
symfony詳しくないけど、ここら辺の機能はないな
0617609
2012/01/26(木) 21:24:35.58ID:???難しいものですね
module内でextendsしたmodule名が呼ばれていたり
結局moduleを直に書き換えているのとあまり変わらないような
この辺のノウハウというかヒントになりそうな情報があったら
教えて頂けるとありがたいです
0619609
2012/01/27(金) 00:25:22.09ID:???yii-user moduleを利用してます。
modules/user/UserModule.phpをYii::importしてから、modules/user/UserextModule.phpで
extendsしました。
これだとURLでindex.php?r=userext/profileを開くとmodelでエラーが出ます。
Yii::app()->getModule('user')->tableUsersのobjectが存在しないということらしいのです。
Yii::app()->getModule('userext')->tableUsersと書き換えれば通りますが、
結局元のmodelを書き換えてしまうことになります。
何かやり方がマズいようでしたら、こうした場合の良い方法があればヒントを頂きたく。
0620nobodyさん
2012/01/27(金) 00:57:23.52ID:???'modules' => array('user' => array('id' => 'userext'...ではダメですか?
0621nobodyさん
2012/01/27(金) 03:18:59.10ID:???自分の使いやすいように、moduleファイルを普通に修正すればよいと思う。俺はそうしてる。
0622nobodyさん
2012/01/27(金) 05:28:21.85ID:???yii-userの特定のクラスをextendsしようが
ファイルの中身を直接修正しようが、リスクはかなり大きいと思いますよ?
あと、ファイルの中身を直接修正するということは
yii-userがバージョンアップしても
それを使えない、もしくはextendsするより修正のリスクが大幅に上がることを考慮しないといけませんよ
0623nobodyさん
2012/01/27(金) 09:01:08.42ID:???自分が育てるという>>621な人も、>>612,>>622の考え方に立った上で
独自拡張していると考えたい。
とはいえ、結構ハードコーディングがあったりして>>617のように
>結局moduleを直に書き換えているのとあまり変わらないような
ということがあるのもわかる。
というわけで俺的方針。
(1)extends基本。
(2)「moduleを直に書き換え」と同じ手間っぽくて、かつ2,3の修正で済むなら
直接書き換えて、diffの履歴をとっておく。
(3)出力系の修正なら、置換用のラッパー作ってそれで対応。
(4)かなり変更が必要で、それでもそのモジュールを使い切りたい(バージョンアップにも
対応したい)場合=>(a)対象モジュールのクラス名称を全部かえて(シェルスクリプトを書く)
その後(b)自分の拡張モジュールでその対象モジュールクラス名を使う。
(4)で対応が出来ないようなら、使うのやめる。そこまで拡張が難しいなら今後も悩まされるはず。
ところで、>>609さん。>>619のケースなら、>>620さんの指摘でいけるんじゃないだろうか。
loadUserメソッドがわざわざモデルの変更を想定しているんだから。
0624609
2012/01/27(金) 14:10:16.57ID:???試してみましたが、挙動が変わらなかったです。
元々yii-userが考慮していないpropertyなのかもしれません。
色々方法やサンプルを探してみましたが、
moduleのextendsに関するものはなかなか出てこないです。
Yiiで制作されているオープンソースソフトウェアで
modulesのextendsしているものがあるか探してみようと思います。
無ければ、
>>623のdiffで取るやり方が正道なのかもしれませんね。
yii-userはバージョンアップの頻繁なmoduleのため、
直接編集すると大変そうですが。
>>622
>yii-userの特定のクラスをextendsしようが
>ファイルの中身を直接修正しようが、リスクはかなり大きいと思いますよ?
これはそもそもyii-userが日本向けサイトに向いてない作りという意味ですか?
0625nobodyさん
2012/01/27(金) 16:47:50.95ID:???class ProfileController extends Controller
public function loadUser()
{
if($this->_model===null)
{
if(Yii::app()->user->id)
$this->_model=Yii::app()->controller->module->user();
なんだから考慮してると思うんだけど。
0626nobodyさん
2012/01/27(金) 20:34:27.33ID:ujQCEknc(4)で対応が出来ないようなら、アップデートを諦めるじゃなくて?
0627nobodyさん
2012/01/27(金) 23:50:45.19ID:???http://code.google.com/p/yii-user/source/browse/#svn%2Ftrunk%2Fmodules%2Fuser%2Fmessages%2Fja
オフィシャルからのDLでは現在r107までのリビジョンなので、jaファイルは入ってません
あとここで少しデモれますよ
http://yii-user.2mx.org/
ユーザー登録する際は、アクティベーションのメールはfalseになっているので
ユーザ登録の流れなども確認できます
ログインの際に「ユーザ名が正しくありません」とか
「パスワードが間違っています」とか出るのはかなり痛いですがw
0630nobodyさん
2012/01/28(土) 00:24:59.90ID:???0631nobodyさん
2012/01/28(土) 12:29:44.71ID:???これをやめさせる方法ない?
今は無理矢理extendsして、
public function registerClientScript() {}
と空のfunctionをoverrideした
0632609
2012/01/28(土) 15:14:14.90ID:???確認の仕方が悪かったです。ありがとうございます。
idでmodule名を切り替え出来ました。
しかしmodelsやviewsを拡張していくことを考えるとやはり
moduleは直接編集していくのが本道なのかもという気がしてきました。
それを考えるとyii-userのprofilesの項目追加の仕組みがややこしいのも
CMSを提供するのと同時に、ソースを触らせない前提という意図もあるのかなと。
0633nobodyさん
2012/01/28(土) 15:44:12.26ID:rvnKSfbf意味分からんかったらごめん
0634nobodyさん
2012/01/28(土) 17:21:17.49ID:???CBaseListViewをextendsして独自に作っていく方法のほうがより好みのwidgetを作れます
jqueryとbbqをheadに貼り付けたくないだけなら、ここらへんを抜いたもんを上書きすればOK。まさにやってそうですけど
$cs=Yii::app()->getClientScript();
$cs->registerCoreScript('jquery');
$cs->registerCoreScript('bbq');
$cs->registerScriptFile($this->baseScriptUrl.'/jquery.yiilistview.js',CClientScript::POS_END);
$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#$id').yiiListView($options);");
>>632
yii-userがどういうものを扱っているモジュールなのか考えれば
基本的な設定はconfig/main.phpで上書きするようにして
他は直接編集していく形をとるのがベストだと思います
あと、ビューはif文などに気を使いながら、直接編集していくものです。拡張もくそもない
でも前に言いましたが、yii-userは編集するリスクがかなりあるので、1から自分で作るほうが賢いやり方のように思います
0635nobodyさん
2012/01/29(日) 00:01:11.23ID:???0636nobodyさん
2012/01/29(日) 02:39:53.42ID:AvSKvvcH以下のような話に対応出来るという利点が一番大きいのかな
たしかにソースでデータベースの構造も構成管理出来るというのは納得できる利点なのかも
>ソースコードについて昔の状況が呼び出せてたとしても、それに依存するデータベースの状況も再現できなければまったく意味がないのです。
>これを実現するためには、従来はDDLを記述したファイルを直接コミットして管理するしかありませんでした。
http://www.atmarkit.co.jp/fdb/single/08s_jiemamy/jiemamy1.html
0638nobodyさん
2012/01/29(日) 14:10:01.28ID:???Wikiでまとめられてたけど
Cookieってそんな重要とされてないのかね
0639nobodyさん
2012/01/29(日) 14:35:08.80ID:???俺もガイドがないから、仕方なくソースから勉強した
0640nobodyさん
2012/01/29(日) 19:10:32.17ID:???echo $form->textField($model,'name',array('size'=>50,'maxlength'=>50,'value'=>"デフォルト値"));
上記のようにデフォルトの値を設定すると、
送信後エラーが起きてフォームに戻ってきた場合、
上書きしたデフォルト値が元に戻ってしまいます
上書きした値を使いたい場合どうしたらいいですか?
0641nobodyさん
2012/01/29(日) 19:52:30.40ID:???ビューに直接PHPコードを書く方法
http://www.yiiframework.com/forum/index.php?/topic/16737-form-input-default-value-overrides-model-value/
モデルをnewしたときにデフォルト値を入れておく方法
http://www.yiiframework.com/forum/index.php?/topic/11960-preferred-way-to-set-dynamic-default-values-in-a-cactiverecord-model/page__view__findpost__p__58656
ここらへんが参考になるんじゃないでしょうか
0642636
2012/01/29(日) 21:12:56.09ID:AvSKvvcHまんまARの利点として言えるんじゃないかと思うんだがどうだろう
※記事の内容はARとは直接的に関係ない
http://objectclub.jp/community/XP-jp/xp_relate/evodb-jp
>データベースアクセスコードを明確に分離する
>データベースリファクタリングの影響を把握するためには、データベースがアプリケーションによってどのように使われているかを調べることが可能でなければならない。
>SQLがコード達の中に乱雑に散らばっているならば、調査は非常に困難になる。
>つまり、データベースがどこでどのように使用されているかを明らかにするために、明確なデータベースアクセス層を設けることが重要になる。
>データベースアクセス層を設ける際にはPofEAAの中からデータソースアーキテクチャパターンのどれかに従うことを勧める。
ちなみに上記で言及されているPofEAAにもARが紹介されている
http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?ActiveRecord
業務系開発の中では意外と歴史があるらしく、ここら辺の書籍を読むことで経緯なんかも深く知ることが出来るのかもね
0643nobodyさん
2012/01/29(日) 23:42:45.59ID:hr7RMRmtcategory1 | category2
id name | id name price category1_id
1 果物 | 1 りんご 300 1
2 野菜 | 2 みかん 200 1
上記のsqliteのデータベースにある2つのテーブルから
id name price
1 果物 500
2 野菜 0
のように取り出したいとき
SQLで書くと
SELECT id, name, price FROM category1 c1
LEFT JOIN (
SELECT SUM(price) AS price, category1_id FROM category2
GROUP BY category1_id
) c2 ON c1.id=c2.category1_id
という感じになるのですが、このSQLをARで書く場合
$criteria=new CDbCriteria;
$criteria->select=array('id','name','price');
$criteria->join='
LEFT JOIN (
SELECT SUM(price) AS price, category1_id FROM category2
GROUP BY category1_id
) c2 ON c1.id=c2.category1_id
';
$cat=Category1::model()->find($criteria);
のような感じに書いたのですがjoinの中をもっと簡単に書けないでしょうか?
0644nobodyさん
2012/01/30(月) 01:19:36.01ID:???これでやっちゃうとか
http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAllBySql-detail
0645nobodyさん
2012/01/30(月) 05:21:55.39ID:???'select'=>'SUM(price) as price',
'group'=>'category1_id'
));
これでいけたりするんかいな?
0646nobodyさん
2012/01/30(月) 05:53:09.13ID:???findAllBySql()で良いんじゃないですか?
0647nobodyさん
2012/01/30(月) 20:07:10.18ID:???そもそもSQL自体こうだろ。
SELECT c1.id, max(c2.name), sum(c2.price)
FROM category1 c1
LEFT JOIN category2 c2 ON c1.id=c2.category1_id
GROUP BY c1.id
SQLよく知らないのにAR使うのは百害あって一利なしだからやめといた方がいい。
0648nobodyさん
2012/01/30(月) 21:09:49.76ID:???category2を外部結合してるから、c2.priceがnullだと、sum(c2.price)もnullになっちゃうよ?
0650nobodyさん
2012/01/30(月) 23:18:57.78ID:???だったらふつーは
sum(NullToZero(c2.price))
みたいにするよね。どう考えてもああはならん。
>>649
その認識はマジで改めた方がいい。
0651nobodyさん
2012/01/30(月) 23:50:08.15ID:???0652nobodyさん
2012/01/30(月) 23:54:50.25ID:???でもそのうち絶対壁にぶち当たるか、失敗する。
んで、ちゃんと勉強しておけばよかったと思うものさ。
0653nobodyさん
2012/01/31(火) 01:06:10.85ID:???0654nobodyさん
2012/01/31(火) 02:10:02.03ID:???表面上の言葉だけで議論しても意味ないっす
0655nobodyさん
2012/01/31(火) 03:24:00.33ID:???nameはナチュラルキーでUNIQUE NOT NULLだろうから、idと一対一つまり
複合UNIQUEとみなしてGROUP BY c1.id, c1.nameのようにしてはいけないの?
0657nobodyさん
2012/01/31(火) 20:05:03.72ID:???safeはどんなケースで利用するものですか?
validateで何も制限をつけないときに
書いてますが使い方間違ってないですかね?
0658nobodyさん
2012/01/31(火) 20:11:34.34ID:???0659nobodyさん
2012/01/31(火) 20:17:47.83ID:???0660nobodyさん
2012/01/31(火) 21:53:33.07ID:LWh8fO+Y0661nobodyさん
2012/01/31(火) 22:01:16.11ID:LWh8fO+Y俺もどんなケースでってのが思いつかないな
safeはルールを持ってない属性において、
$model->attributes = $_POST['model'];
で値を保存していいかどうかってことだよね?
基本的にフォームから受けとりたくない値が特別無い限りはその使い方でいいと思ってるんだけど
0662nobodyさん
2012/02/01(水) 17:10:34.37ID:???そこらへんを見ていくとわかるんじゃないでしょうか
0663nobodyさん
2012/02/05(日) 03:14:13.74ID:G96rv1NIたまたま見つけたからテンション上がった
http://www.skillshare.com/careers
>Developer
>Back-end development using PHP (Yii Framework) and MySQL, following best coding practices
0664nobodyさん
2012/02/12(日) 16:50:24.77ID:Qlu7hyjhそういう風に記述されているextensionがあったんだけど、
これだと他のextensionのpostFilterが呼び出されないことにならないか心配してる
class AnyFilter extends CFilter {
protected function preFilter($filterChain) {
$filterChain->run();
$this->postFilter($filterChain);
}
}
0665nobodyさん
2012/02/12(日) 19:04:19.10ID:9VDZvfC5基礎がわかる本とかサイトとかないでしょうか
0666nobodyさん
2012/02/12(日) 20:00:21.50ID:???0667nobodyさん
2012/02/12(日) 20:07:22.32ID:???0668nobodyさん
2012/02/12(日) 20:39:49.70ID:???英語ですか……学生時代もっと頑張っておくんだったなぁ
>>667
探してみます。ありがとうございます。
0669nobodyさん
2012/02/12(日) 20:59:01.29ID:9VDZvfC5思い切って注文しました。辞書を片手に頑張ります
0670nobodyさん
2012/02/12(日) 23:28:33.50ID:???0671nobodyさん
2012/02/13(月) 00:06:36.07ID:???0672nobodyさん
2012/02/13(月) 01:03:04.20ID:???0673nobodyさん
2012/02/13(月) 01:32:52.23ID:???0674nobodyさん
2012/02/13(月) 01:37:37.52ID:???0675nobodyさん
2012/02/13(月) 02:13:55.51ID:???ガイド、チュートリアルの順にやりました
書き方が悪くて混乱させてしまったようで申し訳ないです
今はyii for beginnerという記事を読んでいますが
他に基礎がまとまってるページなりサイトなりあれば教えて頂きたいです
0676nobodyさん
2012/02/13(月) 03:35:40.24ID:???セットアップがちょっと難しかったけど、メールのテンプレート機能で携帯用と使い分けられるのが良い
0677nobodyさん
2012/02/13(月) 18:09:25.18ID:???0678nobodyさん
2012/02/14(火) 00:44:08.18ID:CHG2KmQT今度は早かったな
0679nobodyさん
2012/02/14(火) 01:05:36.74ID:CHG2KmQThttp://www.yiiframework.com/doc/guide/1.1/ja/topics.url#sec-9
翻訳も早くて感謝です
0680nobodyさん
2012/02/14(火) 02:33:19.28ID:???これってBlogとかでよくある、
ブログタイトルをURLに含めるようなものが簡単に
出来るということだよね?
0682nobodyさん
2012/02/14(火) 09:45:04.56ID:???二つ以上のパラメータをURLに仕込んでDBに問い合わせてその結果次第で任意のページを返せるしさ
まぁ普通はコントローラ側でこう言う事をやるわけだけどね
0683nobodyさん
2012/02/14(火) 09:53:20.39ID:???SEO対策ってやつ?
0684nobodyさん
2012/02/14(火) 15:54:04.76ID:???'articles/<title:.+>'=>'article/view',
みたいな感じで設定して、コントローラではtitleの文字列からモデルを検索して引くことができた
>>679の方法を使うと、コントローラの処理部分をルールクラスとしてまとめることが出来て、構造が直感的だし便利じゃね
カスタムURLを使わない人には関係ないと思うが
ちなみに俺は、タイトルみたいなのをユニークにするのは嫌なので、
'articles/<title:.+>/<id:\d+>'=>'article/view',
みたいにして、タイトルはあってもなくても良いようにしてる
0685nobodyさん
2012/02/14(火) 18:44:41.95ID:???0686nobodyさん
2012/02/14(火) 22:23:25.54ID:???0687nobodyさん
2012/02/14(火) 22:46:01.30ID:???まあ個人的にはコントローラ/メソッド/idみたいなのとかを殆どURLに使わないので、
結局>>684氏みたいにルールを書いちゃう。
0688nobodyさん
2012/02/15(水) 05:53:55.96ID:jJ6oNY1vJavaScriptが埋め込まれてるページにアクセスした場合、jsファイルのリクエストはしちゃうのかな?
携帯サイトでListView使おうとしたんだけど、勝手にjqueryがregisterされちゃって、抑止も出来ない作りになってることが分かった
もしrequestされちゃうなら、CClientScriptを継承したクラスでrenderの最後でスクリプトの配列をクリアしちゃおうかなって考えてるんだけど…
あんまりYii関係なくてごめん
0689nobodyさん
2012/02/15(水) 12:17:35.98ID:???Yii Frameworkは習得出来ますか?
cakePHPから入ろうと思って
色々調べてるうちにYiiの方が良いように感じました。
もったいないことにcake参考書2つも買っちゃった;;
0690nobodyさん
2012/02/15(水) 12:58:09.44ID:???Cakeで不便に思うところがなければ捨てるのもったいないし
Cakeで不便に思うところがあっても、Yiiで解消されてないなら乗り換える意味ないよ。
0691nobodyさん
2012/02/15(水) 14:13:55.27ID:???Yii Framework以外に他のフレームワークを使ったことがないので、Yiiの方が良いかはわかりませんが、
小規模なECサイトを作り上げることができましたので、習得自体は難しくないと思います
学習しながら作っていったのですが、ノンフレームワークでやるより全然簡単にできました
個人的に習得が簡単だと思った理由としては、
・Extensionが豊富
・構造がシンプルかつ、拡張が簡単にできるようになっている
・フレームワークのソースが読みやすい
・ガイドが豊富で、日本語で整備されている(APIリファレンスは英語)
・JavaScriptとJQueryをあんまり知らなくてもAjaxが使えてしまう(JQueryはちょっと勉強した方が更にいろいろ出来るようになりました)
・Giiという仕組みがあるので、コードの土台をDBに合わせて自動で生成してくれる
※もちろんこれらは相対的な評価ではないことに注意して下さい
特に、ガイドを読めば土台のおまじない的なコードの意味(触り方)が分かるのは嬉しかったです(rules, relations, filters, etc...)
しかし、困ったことがあったらフォーラムなどを検索する必要があった場合も多かったので、若干の英語力は必要です
0692nobodyさん
2012/02/15(水) 14:43:59.89ID:???>>690
今までライブラリとかは使ったりするのですが
ほぼフルスクラッチで書いてばっかりでMVCフレームワーク
を使ったこと無いんですよ・・・
ただ参考書買っちゃったので、機会があればやろうとは思うのですが・・・
>>691
ありがとうございます
学習するならどれがいいのかな?って色々サイト見ていたら
yiiが目に留まったんです。
多少の英語力はあると思うので挑戦してみます。
>>690さん>>691さん
ありがとう!
0693nobodyさん
2012/02/15(水) 15:33:52.13ID:???Yiiの方がYii
理由は速さ、思想が優れていること
0694nobodyさん
2012/02/15(水) 16:17:53.50ID:???0695nobodyさん
2012/02/15(水) 20:23:43.02ID:???0696nobodyさん
2012/02/16(木) 00:39:02.08ID:???ここらへん参考になるかもです
http://www.yiiframework.com/forum/index.php/topic/16515-scriptmap-wont-work-when-debug-mode-is-off/page__p__81923__hl__+criptMap#entry81923
あとはCListViewを拡張して
registerClientScript()をうまくオーバーライドして使えば良いんじゃないですか?
0697nobodyさん
2012/02/16(木) 06:20:41.52ID:hznOBTcJおお、ありがとう
とりあえずサイズの大きいjquery.jsだけはscriptMapに設定して無効化しようと思う
ところで、Yii::app()->cache->get($id)って、キャッシュがhitした場合でも、
DependentDataが変更されている場合はfalseを返却するんだな
通常get()でfalseが帰ってきたらデータを作りなおしてset()するような処理にしてると思うけど、
その時ちゃんとdelete()してあげないとメモリ上に使われないゴミデータが残ることになってしまうことに気がついた
ということで、こんな感じにするといいと思う
$value = Yii::app()->cache->get($id);
if ($value === false) {
Yii::app()->cache->delete($id);
$value = new Data();
Yii::app()->cache->set($id, $value, $expire, $dependency);
}
expireが短かったり、dependencyを使ってないなら別に問題はないけど
0698nobodyさん
2012/02/16(木) 21:59:40.81ID:???falseの場合jquery.min.jsを呼び出すので、そこらへん注意してくだいね
0699nobodyさん
2012/02/17(金) 00:10:51.42ID:???0700nobodyさん
2012/02/17(金) 15:06:04.29ID:???0701nobodyさん
2012/02/17(金) 16:37:22.68ID:???検索で複雑なsqlが必要なんでARつかうよりDAOの方が便利そうだと思ったから。
パラメータ数も上限するから :id とかでバインドするのが面倒だった。
結局、自己解決して
普通にpdoと同じやり方で出来ました。
0702nobodyさん
2012/02/18(土) 21:54:07.39ID:???0703nobodyさん
2012/02/18(土) 23:01:01.44ID:???HABTMもうまいこと自動でやってくれたら文句ない
0704nobodyさん
2012/02/19(日) 00:30:45.02ID:???英語でも構いません。
0705nobodyさん
2012/02/19(日) 00:54:03.26ID:???0706nobodyさん
2012/02/19(日) 01:00:00.17ID:???ウィジェットを使って表示しているのを見てポカーンです。
ウィジェットの使い方を知りたいです。
0707nobodyさん
2012/02/19(日) 01:36:57.26ID:???ちなみにCListViewならこれ見ればわかる
http://www.yiiframework.com/doc/api/1.1/CListView/
0708nobodyさん
2012/02/19(日) 01:40:53.67ID:kzCubFZM0709nobodyさん
2012/02/19(日) 05:06:59.32ID:???0710nobodyさん
2012/02/19(日) 10:33:48.34ID:Np7bOdr0CListViewです、ありがとうございます!
0711nobodyさん
2012/02/19(日) 10:55:43.37ID:???0712nobodyさん
2012/02/19(日) 13:36:38.54ID:Np7bOdr0自分で書いてる
0713nobodyさん
2012/02/19(日) 13:40:38.98ID:Np7bOdr0YKかwwwwww
聞いてくれていいんだけど遠慮してる?
0714nobodyさん
2012/02/19(日) 13:52:40.38ID:kzCubFZM0715nobodyさん
2012/02/19(日) 14:36:30.21ID:???意図が全く見えない
0716nobodyさん
2012/02/19(日) 14:40:19.96ID:???0718nobodyさん
2012/02/19(日) 14:58:56.30ID:???同じ社内かよwwwwwwwwww
先輩が>>712書く
↓
先輩、ID同じで>>710が社内の後輩だと気づく
↓
先輩>>713書く
0719nobodyさん
2012/02/19(日) 14:59:40.62ID:???0720nobodyさん
2012/02/19(日) 15:07:02.65ID:???0721nobodyさん
2012/02/19(日) 17:03:57.36ID:???もともとYiiにはなかったんだけど
これはいいねってなってあとからコアに組み込むことになったんだそうですよ
どうでもいい話ですがw
0722nobodyさん
2012/02/19(日) 18:27:35.51ID:???方法を教えてくださいにゃん
0723nobodyさん
2012/02/19(日) 19:13:08.00ID:???0725nobodyさん
2012/02/19(日) 20:23:12.13ID:???state作成いたら成功した!
>>724
新しいscenario選択したらデフォルトのvalidateは利用されない仕組みなのかな
ちょっと試してみる!
二人ありがとYii
0726nobodyさん
2012/02/19(日) 21:01:16.48ID:???ただ、俺はvalidateの切り分け以外にscenarioを使うのはおすすめしないな
なんか前にもこんな話したよね
0727nobodyさん
2012/02/19(日) 23:31:59.69ID:???モデルでYii::app()->controller->action->idを使ってさ
あとはプロパティがempty時はこうする、とかさ。いろいろあるさ〜
0728nobodyさん
2012/02/19(日) 23:36:20.48ID:???0729nobodyさん
2012/02/19(日) 23:39:31.37ID:???0730nobodyさん
2012/02/20(月) 01:14:34.72ID:???modelのclass変数を作成して
それをsave()前に$model->state=falseとかした感じ
beforeSave()の中で$this->stateでifして処理振り分け
0732nobodyさん
2012/02/20(月) 03:43:08.62ID:b6WVXuP+あとから見た時、分かり難いから
scenarioはruleを切り分けるという目的で追加されているのに、
他の目的で使うと、後で見た時になんだこれってなっちゃう危険がある
>>727の方法もいいね、っていうか前の話でも出てたなw
0733nobodyさん
2012/02/20(月) 06:00:09.92ID:???stateプロパティをモデルにもたせるのが良い方法かな
0734nobodyさん
2012/02/20(月) 19:00:30.74ID:???例えばbeforeSave()で分岐したいがためにrulesにscenarioを設定するのは違うけど
結果、$this->scenario !== 'insert'みたいのを利用できるのであれば、それはそれで使ってもかまわないってことだよね?
0735nobodyさん
2012/02/20(月) 20:29:22.19ID:b6WVXuP+それもinsert以外のscenarioの意味(効果)を変えちゃうから、俺は原則、使わないようにしてるよ
でも利用した方がベターなケースもあるかもしれないし、beforeSave()を利用したくない理由が分からないのに、
scenarioを使うのはおすすめしないって言ったのは適切ではなかったかも
単に、自分ルールとしてscenarioはvalidate ruleを切り分けるためだけに使ってる、って言うべきだったかな
結局は環境(体制、設計、規模など)によって、自然で分かりやすい実装ってのも変わってきちゃうよね
0736nobodyさん
2012/02/20(月) 21:36:24.53ID:???初めて知ったわ
0737nobodyさん
2012/02/20(月) 22:16:12.46ID:???$this->scenario !== 'insert'部分は
CActiveRecord::isNewRecordを使うほうがいいですね。すみません
いろんなもので代用できる分、役割をはっきり持たせて実装するってのは大切ですね
0738nobodyさん
2012/02/21(火) 04:41:21.93ID:???configはあってるはず・・・
0739nobodyさん
2012/02/21(火) 05:23:46.97ID:???http://www.yiiframework.com/forum/index.php?/topic/10421-logging-in-long-running-console-app/
0740nobodyさん
2012/02/21(火) 05:41:14.37ID:???レベルがマッチしていないとかではないかい?
0741nobodyさん
2012/02/21(火) 13:07:06.05ID:???layoutのmain.phpとかでは使うようにしてたんだけど、
他のviewでは結局サイト名を手打ちしてしまう。
0742nobodyさん
2012/02/21(火) 22:14:58.43ID:???0744nobodyさん
2012/02/22(水) 00:24:57.94ID:FnoANuGBってことじゃね
0745nobodyさん
2012/02/23(木) 05:54:50.59ID:???モデルのrulesで設定してるんだけどここでいいのかな
ってかrulesのdefaultはどのタイミングで設定されるん?
1回目バリデーション失敗して、次送信したときまた新たに設定される?
0747nobodyさん
2012/02/23(木) 09:11:29.65ID:???0748nobodyさん
2012/02/23(木) 12:03:11.26ID:???俺はこれを使ってる。
0749nobodyさん
2012/02/23(木) 15:12:02.57ID:???http://www.yiiframework.com/doc/api/1.1/CTimestampBehavior
0750745
2012/02/23(木) 15:20:41.42ID:???一応うまくいってるけど
あと、ユーザー登録のアクティベートキーの生成&attributesに設定とかも
rulesのdefalutでやってるけど
array('created', 'default', 'value'=>time()),
array('actkey', 'default', 'value'=>$this->createActkey(), 'on'=>'register'),
0751nobodyさん
2012/02/23(木) 15:47:38.45ID:???http://www.yiiframework.com/wiki/10/how-to-automate-timestamps-in-activerecord-models/
0752nobodyさん
2012/02/23(木) 16:49:23.70ID:???1カラム更新時にupdate_timeも更新したい場合は、例えば$this->update(array('hoge', 'update_time'));みたいにすればOKです
<?php
class ActiveRecord extends CActiveRecord
{
public function behaviors()
{
if ($this->hasAttribute('create_time') && $this->hasAttribute('update_time'))
return array(
'CTimestampBehavior' => array(
'class' => 'zii.behaviors.CTimestampBehavior',
'setUpdateOnCreate' => true,
),
);
else
return array();
}
}
0753nobodyさん
2012/02/23(木) 17:22:27.23ID:???これ、cakeでは'callback' => falseみたいのありましたよね?ほしいですねyiiにも
0754nobodyさん
2012/02/23(木) 22:28:10.74ID:???0755nobodyさん
2012/02/26(日) 12:56:19.56ID:???そういうファイルはどのフォルダに入れるのが普通なんでしょうか?
0756nobodyさん
2012/02/26(日) 15:20:43.51ID:???エラーが出るのですがfopen()はそもそも使えないのでしょうか
0757nobodyさん
2012/02/26(日) 17:49:48.25ID:???なら何も問題ないんですよね。
protected/controllers/test.phpで
file('../../test/test.txt');
だとエラーになります。
webrootにあるtestフォルダのtest.txtを読むにはどうしたらいいのでしょうか・・・
0758nobodyさん
2012/02/26(日) 18:43:23.62ID:???http://www.yiiframework.com/extension/cfile/
0760nobodyさん
2012/02/26(日) 19:23:27.33ID:???URL上のパスではなく、OSの上でのパスな。
もしくは絶対パス使え。
ファイルの配置場所は、Web上からも見れていいものなら、Webルート配下でもなんでもOK。
見せたくないなら、それ以外の場所にするか、.htaccessなんかでそのディレクトリに制限かけとけ。
yiiならprotected/以下はアクセス制限かかるだろう。
一般的にどこにおくか、というよりは、そのファイルが何のファイルか、
どのような配置にあるのが意味が通じやすいか、とかそういうのを考えて配置すれば良いよ。
設定ならconfig/なりsettings/なりつくってその下にまとめたり、ログならlogs/にまとめる、とかそういう。
変数名どうするかとか、クラス名どうするかとか、パッケージどうわけるかとか、そういったのと同じ。
あと、パソコン初心者()じゃないんだから、「エラー」じゃなくて、そのエラーの内容からちった判断しれw
0761nobodyさん
2012/02/26(日) 19:45:32.43ID:???>現在のカレントディレクトリがどこかを確認しれ。
どうしてこれをやらなかったのかorz
file(getcwd().'/test/test.txt');
であっさり解決しました。人に聞く前に確認しろとorz
完全にあまえでした、すみません。
ファイルの配置のお話も勉強になりました。
見られておkなのでルート直下にディレクトリつくって放り込みました。
>そのエラーの内容からちった判断しれw
恥ずかしいですほんとにorz
「そんなファイルないよ」ってエラーでした。
あーだこーだやってたのが解決してとてもすっきりしました。
親切に教えていただいて、本当にありがとうございました。
0762nobodyさん
2012/02/26(日) 21:35:39.39ID:???あと、これをこうしたら、すごく便利になったとか
0763nobodyさん
2012/02/29(水) 11:54:14.13ID:???このスレの住民は初心者に対して高圧的な奴が多いから
0764nobodyさん
2012/02/29(水) 14:41:37.99ID:???0765nobodyさん
2012/02/29(水) 17:23:22.19ID:???0766nobodyさん
2012/02/29(水) 23:42:39.00ID:Ha59kcRM個人的にはそういう奴を見つけたらソフトに排除するようにしてるんだけどね
そもそも2chの影響力なんてほとんどないっていう根本的なところに気付くべき
結局、日本語の情報が少ないのが原因でしょ
0767nobodyさん
2012/02/29(水) 23:49:06.05ID:???初心者の質問がきても威嚇攻撃するから流行らない
結果、利用者がいなくて日本語の情報も少ない
0768nobodyさん
2012/02/29(水) 23:52:23.66ID:???0769nobodyさん
2012/03/01(木) 00:06:40.94ID:???なんでだろう。
0770nobodyさん
2012/03/01(木) 01:35:56.56ID:???0771nobodyさん
2012/03/01(木) 02:17:30.16ID:???0773nobodyさん
2012/03/03(土) 22:35:47.81ID:???array('password', 'length', 'min'=>6, 'max'=>20, 'message'=>'6〜20文字で入力してください。'),
実際に表示されるエラーメッセージ
パスワード が短過ぎます(最小 6 キャラクタ)。
ちなみに、unique、compareでは指定したメッセージが表示されました。
0774nobodyさん
2012/03/03(土) 23:27:49.61ID:???0775773
2012/03/03(土) 23:44:52.29ID:???http://www.yiiframework.com/forum/index.php/topic/21942-length-rule-message/page__p__107400__hl__me+age+length#entry107400
0777nobodyさん
2012/03/05(月) 00:57:03.92ID:???array('password', 'length', 'min'=>6, 'max'=>20, 'tooShort'=>$message , 'tooLong'=>$message , 'allowEmpt'=>false);
という感じかな?なるほど勉強になった。ありがとう。
0778nobodyさん
2012/03/05(月) 00:57:45.13ID:???0780nobodyさん
2012/03/06(火) 13:01:53.00ID:???0781nobodyさん
2012/03/06(火) 16:43:43.22ID:???特殊なバリデートの時は、独自で作ればいいだけだし。
0782nobodyさん
2012/03/08(木) 14:36:30.75ID:???0783nobodyさん
2012/03/08(木) 14:48:17.09ID:???PDO使ってるのが導入の障壁になってんの?
0784nobodyさん
2012/03/08(木) 18:32:32.73ID:i+TebrmPPDOが使えない環境って例えばどういうの?
0785nobodyさん
2012/03/09(金) 12:55:26.85ID:???0786nobodyさん
2012/03/09(金) 15:50:42.98ID:???0787nobodyさん
2012/03/09(金) 21:41:28.62ID:???@FreeBSD
0788nobodyさん
2012/03/10(土) 10:23:30.51ID:???この嫌儲のサイトがYiiというものでつくられてるらしいんですけど
初心者でもできますか?strongタグで太字にしたりするのはできます。
0789nobodyさん
2012/03/10(土) 10:48:11.83ID:0UAYpjt7http://www.yiiframework.com/doc/guide/1.1/ja/index
ここにガイドがあります
0792nobodyさん
2012/03/10(土) 11:44:36.32ID:???Yiiは基本的に鎖国社会なので質問しても教えてくれる人を探すのは厳しいでしょう。
このスレも初心者には厳しいです。
まずはCakePHPなど国内の利用ユーザー数が多いフレームワークから始めることが成功の近道です。
Yiiから入ると問題にぶち当っても人に聞いても解決できないのは人生の無駄遣いです
0794nobodyさん
2012/03/10(土) 14:03:30.99ID:???まともに質問してるやつで無視されてる奴なんてあんまり見たいけど
0795nobodyさん
2012/03/10(土) 14:38:58.61ID:???今のところほぼ居ないに等しいような状況なのはわかってて、Yii触ったんだろうに
2chのスレが気に食わないから使わない、も個々の判断だけど
そんなくだらない理由で意固地になることはすごく勿体無い判断だと思うわw
0797nobodyさん
2012/03/10(土) 15:25:26.75ID:???くだらない事に躍起になってる奴に、事実を突きつけて煽ったりして
程度の低い争いを繰り広げようとする人は、たしかに必要ないな。
相手は意固地になってるんだから、何を言っても突っかかってくるだろう。
相手をする事自体が間違い。>>792みたいなのはスルーするのが正解。
0798nobodyさん
2012/03/10(土) 15:45:23.77ID:???0799nobodyさん
2012/03/10(土) 16:00:19.34ID:???んな煽りでイライラしてるほうがおかしい
0800nobodyさん
2012/03/10(土) 16:00:42.98ID:???0801nobodyさん
2012/03/10(土) 16:37:26.60ID:???以下のようにやってるんですけど、これでいいんでしょうか?
無駄とかあったら教えて欲しいです。
■UserController
public function actionIndex() {
$model = new Post; // ←tweetするフォーム
$user = User::model()->findByPk(Yii::app()->user->id);
$this->render('index',array(
'model'=>$model,
'user'=>$user,
));
}
■views/user/index.php
<div><?php echo $user->username; ?></div>
<div><?php echo $user->profile; ?></div>
<!-- あとはpostフォームとかいろいろ -->
0802nobodyさん
2012/03/10(土) 18:01:31.53ID:???0804801
2012/03/10(土) 18:18:55.57ID:MBX05hQsよろしくお願いします。
0807nobodyさん
2012/03/10(土) 18:51:47.82ID:0UAYpjt70808801
2012/03/10(土) 19:09:18.46ID:MBX05hQsこれでいいのかなぁと漠然とした不安があったので助かりました。
0809nobodyさん
2012/03/12(月) 15:21:13.03ID:???0810nobodyさん
2012/03/12(月) 15:29:30.95ID:???0811nobodyさん
2012/03/12(月) 15:51:07.03ID:???0812nobodyさん
2012/03/12(月) 17:00:35.79ID:Qdae9kKUただ、英語アレルギーは結構あるよね
やっぱカリスマが牽引しないとコミュニティは成長しないんでしょ
0813nobodyさん
2012/03/13(火) 16:51:05.10ID:???普通の日本人は、英語ってだけで見ようともしないよ。
英語力がどのくらいないのかは分からないけど、まああまりないと思うよ。
別に日本国内で英語いらないし。
0814nobodyさん
2012/03/13(火) 18:49:20.87ID:???さくらのレンタルサーバーでも使えますか?
さくらで使えたら即移行するんですが・・・
0815nobodyさん
2012/03/13(火) 18:56:09.19ID:OgH0Qw3SAPC使えない説があるぞ
0817814
2012/03/14(水) 13:54:04.14ID:???最初は共用で、
規模が大きくなってきたらVPSやらに移ってAPC使えばおkですね。
てか、Yii楽しすw
0818nobodyさん
2012/03/14(水) 20:25:32.84ID:zqK1VJfD何も使わないよりはいいと思うよ
0819nobodyさん
2012/03/14(水) 21:04:22.40ID:832chJcq0820nobodyさん
2012/03/15(木) 07:02:06.97ID:E3IxfR1a新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
新しいラダニアムの翼(new wing of radaniam part T) .mp4
http://www.youtube.com/watch?v=PRPJ69rVgbE
題名”ラダニアムの翼その1(A wing of radaniam_partT).mp4”
http://www.youtube.com/watch?v=WTde4RdA5LU
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
0821nobodyさん
2012/03/15(木) 12:59:31.83ID:???0822nobodyさん
2012/03/15(木) 19:23:03.36ID:???調べたんだけど、いまいち分からなかった;
サンプルコードも、バリデーションやトランザクションを考慮してなかったり・・・
0823nobodyさん
2012/03/15(木) 20:37:46.80ID:???0824nobodyさん
2012/03/15(木) 20:49:50.87ID:A3CMDLk60825nobodyさん
2012/03/15(木) 21:48:06.21ID:???HAS_MANYで親でsaveしたら子もsaveされるような機能は今のところない。
バリデーションやトランザクションについては、オフィシャルガイドに丁寧にかいてある。
0826nobodyさん
2012/03/15(木) 22:00:11.15ID:A3CMDLk60827nobodyさん
2012/03/15(木) 22:04:43.66ID:???ちょこっとならループ回したほうがシンプルなのかもしれないけど。
0828nobodyさん
2012/03/16(金) 04:56:40.83ID:???緩くしてあるんだろうか・・・
0829nobodyさん
2012/03/16(金) 07:06:54.44ID:???0830nobodyさん
2012/03/16(金) 14:32:14.60ID:6mu8dRw70831nobodyさん
2012/03/16(金) 14:50:26.02ID:???0833nobodyさん
2012/03/16(金) 22:55:17.05ID:6mu8dRw70834nobodyさん
2012/03/17(土) 14:56:22.63ID:???0835nobodyさん
2012/03/17(土) 14:57:04.46ID:???0836nobodyさん
2012/03/18(日) 03:19:48.10ID:???0837nobodyさん
2012/03/18(日) 11:22:39.37ID:???0838nobodyさん
2012/03/19(月) 14:11:56.77ID:???自分で書く部分が多かった
0839nobodyさん
2012/03/20(火) 14:59:22.46ID:????Post_page=2
みたいなのを
?page=2
にする方法ってないですかね?
0840839
2012/03/20(火) 15:19:31.75ID:???スレ汚しスミマセン・・・
0842nobodyさん
2012/03/21(水) 05:42:19.48ID:???authenticateとloginが分かれてて
UserIdentityとかもあって
何が何かパッと理解できん。。。
0843nobodyさん
2012/03/21(水) 06:18:13.36ID:???最初はとっつきにくいけど、
わかると、自由に実装できてイイ!よ。
てか、yii-userのソース見てたんだが、
saltもなしにただハッシュしてるだけじゃん・・・
0844nobodyさん
2012/03/21(水) 14:23:37.03ID:???絶対自前実装が必要
ここで実装方法を共有してもいいかもね
0845nobodyさん
2012/03/21(水) 15:19:01.53ID:???デフォルトでは CWebUser はユーザの個人情報を保存するのに、
持続的ストレージとしてセッションを使います。
クッキーベースのログインが有効(CWebUser: :allowAutoLoginがtrue)になっていると、
ユーザの個人情報がクッキーにも保存される可能性があります。
パスワードのような取り扱いに注意を要する個人情報を保存しないよう気をつけてください。
これの意味がよくわからないんだけど・・・
なんでこんな仕様になってるの?
0846nobodyさん
2012/03/21(水) 20:31:26.55ID:???0848nobodyさん
2012/03/22(木) 01:55:04.42ID:???最初からあるLoginForm.phpでできるけど、
他コントローラからユーザ名とパスワードを渡してログインさせる方法はどうやったらいいのか分かる人いる?
0849nobodyさん
2012/03/22(木) 23:05:16.16ID:???これってそもそもフォームで入力しないものをrequireしてる時点で間違っているよね?
0850nobodyさん
2012/03/22(木) 23:55:16.50ID:???LoginFormはモデルだからどのコントローラからでも使えるよ
$model=new LoginForm;
$model->username = 'user';
$model->password = 'password';
if($model->validate())
$model->login();
ログイン処理したいコントローラで、こんな感じにモデルに情報を設定して、ログインできまっせ
答えになってるかな
0853nobodyさん
2012/03/24(土) 09:23:14.59ID:???$model->username = 'user';
$model->password = 'password';
の部分はあくまで例でしょ。
0855nobodyさん
2012/03/24(土) 11:07:54.88ID:???$model->username = $_POST['LoginForm']['username'];
$model->password = $_POST['LoginForm']['password'];
こういうことでしょ? パスワードの部分はソルト付きのハッシュとかだろうけど
0856nobodyさん
2012/03/24(土) 14:13:43.60ID:???0857nobodyさん
2012/03/24(土) 15:42:17.94ID:???0858nobodyさん
2012/03/24(土) 23:35:11.64ID:???いや、モデルのrules()にフォーム入力しないものを入れちゃいかんだろ
自動生成でこうなったのか知らないけど、外せばいいだけ
afterConstruct()とか馬鹿げている。しかもtimestampビヘイビア使ってるのに$this->create_time = time();とか意味不明
0859nobodyさん
2012/03/25(日) 00:01:41.63ID:K3R81r0d>いや、モデルのrules()にフォーム入力しないものを入れちゃいかんだろ
何か不都合でも?
CTimestampBehavior使ってるならcreate_timeの設定はいらないね
それもそのブログに書いてあるようだが
0860nobodyさん
2012/03/25(日) 00:11:13.28ID:K3R81r0dbehaviorの実行がvalidate前に走らないからrulesで弾かれるってことか
この例だとrulesを外すのが正解なんだろうか
なんかエラー処理的にあんまりやりたくないね(behaviorの実装を信じすぎ)
どっちかって言うと、俺だったらrulesは残して、afterConstructでもbeforeValidateでも一旦初期化すると思う
rulesはフォーム入力したデータを検証するかどうかじゃなくて、DBのルールと合わせておくほうが個人的に自然だと思うな
0861nobodyさん
2012/03/25(日) 00:35:49.84ID:???>なんかエラー処理的にあんまりやりたくないね(behaviorの実装を信じすぎ)
これいみわかんないよね、CTimestampBehaviorはどっちにしろvalidateの後に値を設定するんだから
CTimestampBehaviorのソース見るとbeforeSaveで値設定してるからなんだな
俺だったらCTimestampBehaviorは使わないわ
0862nobodyさん
2012/03/25(日) 00:58:06.73ID:???>rulesはフォーム入力したデータを検証するかどうかじゃなくて、DBのルールと合わせておくほうが個人的に自然だと思うな
いや、公式のガイドでrulesにフォームから送られてくるデータ以外は入れるなって書いてあったと思うけど
個人的な意見尊重するならフレームワーク使わないほうがいいと思うけど
もしくはCIみたいなさらに緩いの使うとか。CI使ったことないからわからんけど
0863nobodyさん
2012/03/25(日) 01:21:50.65ID:???そうだったんだ
CTimestampBehaviorの実装もそういう設計思想から来てるからおかしいものではないということか
>個人的な意見尊重するならフレームワーク使わないほうがいいと思うけど
これはどういう意味?フレームワークってYiiのことだよね
使わないと最早開発できない…
0864nobodyさん
2012/03/25(日) 01:29:03.78ID:???フレームワークって
そのフレームワークの思想や慣習にのっとって開発することによって、
スピードや保守性をアップするってのが利点だと思う
0865nobodyさん
2012/03/25(日) 02:06:18.82ID:???Yiiの思想や慣習を否定するつもりはないよ
ユーザ入力されたパラメータ以外はrulesに追加しないっていう記述があることすら知らなかった(見逃してた)
>DBのルールと合わせておくほうが個人的に自然だと思うな
それを知らないで、こんな考えを持ってたのは適切ではないというのは、その通りだと思う
でもなんでユーザ入力以外のパラメータはvalidateしちゃ駄目なんだろう
DBはエラーを返さないけど、設定を抑止したい値とかって普通にあると思うんだけど
0866nobodyさん
2012/03/25(日) 05:24:10.51ID:???0867nobodyさん
2012/03/25(日) 16:51:47.95ID:???>でもなんでユーザ入力以外のパラメータはvalidateしちゃ駄目なんだろう
>DBはエラーを返さないけど、設定を抑止したい値とかって普通にあると思うんだけど
俺もこれ気になる
0868nobodyさん
2012/03/25(日) 21:59:21.09ID:???設計がおかしいんじゃないかな
0869nobodyさん
2012/03/25(日) 22:11:36.38ID:???設計の問題なのかな
0870nobodyさん
2012/03/25(日) 22:23:40.32ID:???0871nobodyさん
2012/03/25(日) 22:28:10.72ID:???なんかそれでいいような気がしてきた
きっとYiiさんもそういう事を言ってるんだよね
0872nobodyさん
2012/03/26(月) 08:35:27.77ID:???無いよね普通。
0875nobodyさん
2012/03/26(月) 12:00:29.81ID:???0876nobodyさん
2012/03/26(月) 13:35:57.93ID:???その値がdraft,publishedのように定義されているとする。
draft状態のPostをpublishedにするシーケンスがあったとして、
ここではstateをpublishedに初期化することになるから、stateがユーザ入力以外のパラメータとなる
publishedに設定するためには条件を満たす必要がある場合、rulesに以下を追加する
array('state','validateState'),
validateStateではpublishedに設定されてる場合に遷移条件の判定を行う
俺はこんな書き方せずにステートマシン使ってるけど。
非ユーザー入力でvalidateしたいパラメータを示したまでということで。
0877nobodyさん
2012/03/26(月) 20:54:44.62ID:???しつこい
0878nobodyさん
2012/03/26(月) 23:42:36.82ID:???>状態とか
↓
>無いのよそれが。あるわけがない。
>つうか、状態とかって具体的にどういうもの?
↓
>>876
↓
>ぐだぐだ言わずして、改善コード書けよ。
>しつこい
0879nobodyさん
2012/03/27(火) 00:21:26.38ID:???なお、俺は>>874でも>>877でもない。
0880nobodyさん
2012/03/27(火) 00:33:01.98ID:???0881nobodyさん
2012/03/27(火) 00:36:55.69ID:???つまり>>879は>>874でも>>877でも無くて>>873だってこと?
じゃあ>>874と>>877は同一人物なの?それとも>>873と一緒で別人なの?
0882nobodyさん
2012/03/27(火) 00:48:34.18ID:???IDが常に出るピザスレなんて超平和だぞ
0883nobodyさん
2012/03/27(火) 01:27:08.19ID:???0884nobodyさん
2012/03/27(火) 01:58:53.15ID:60lORSlO0885nobodyさん
2012/03/27(火) 05:07:35.41ID:???ムズすぎwwwwwwwwwwwww
0887nobodyさん
2012/03/27(火) 17:39:36.91ID:???前にここで話してたhash saltが実装されてるみたいね
0888nobodyさん
2012/03/28(水) 14:15:15.24ID:???0889nobodyさん
2012/03/29(木) 13:22:42.75ID:???名前はZiiとかですか?
0890nobodyさん
2012/03/30(金) 00:29:48.19ID:???0891nobodyさん
2012/04/01(日) 10:32:24.28ID:???0892nobodyさん
2012/04/04(水) 12:37:01.66ID:???0893nobodyさん
2012/04/09(月) 06:27:33.53ID:???public function actionTest()
{
$this->render('test');
}
ってわざわざrenderさせないとだめ?
0894nobodyさん
2012/04/09(月) 12:01:00.15ID:???0895nobodyさん
2012/04/09(月) 12:55:15.33ID:???Cakeは勝手にレンダリングされるからね。
0896nobodyさん
2012/04/09(月) 15:33:20.04ID:???filter書くしかなかろうな
0897nobodyさん
2012/04/09(月) 17:52:13.68ID:???The earliest possible 2.0 alpha release may be in March 2012, but we cannot guarantee it.
2.0の開発は難航してるのかな?
早く名前空間使いたい・・・
0898nobodyさん
2012/04/12(木) 02:58:11.05ID:???0899nobodyさん
2012/04/22(日) 07:16:48.12ID:???毎回データを出力するときは(入力の際にサニタイズしていない場合は)↑のようにして
出力するデータ毎にCHtml::encode()をしないといけないのかな?
CHtml::encode($model)
みたいなことして全部HTMLの特殊文字をエンコードできる方法ない?
0900nobodyさん
2012/05/01(火) 23:02:27.37ID:???renderPartial($header);
renderPartial($body);
renderPartial($footer);
とか書くしかないかな?
個人的にはmain.phpみたく1つのテンプレートに部分部分を割り当てたいのだけれど
毎回こんな記述する人も居ないだろうし纏めてしまいたい
0901nobodyさん
2012/05/01(火) 23:13:48.28ID:???renderの呼び出し先のviewで例えばtemplete.phpを呼んで
templete.phpの内容が、
renderPartial($header);
renderPartial($body);
renderPartial($footer);
であったとすると、複数コントローラのviewで同じこと書くのは面倒なので
このテンプレを共有したいって意味です
0902nobodyさん
2012/05/02(水) 07:05:10.42ID:7m1s++/P0904nobodyさん
2012/05/02(水) 20:23:04.92ID:???0906nobodyさん
2012/05/03(木) 17:35:36.08ID:???あらゆるコントローラで同じloadModelがあると気持ち悪いのでどっかにまとめたいんだけど、どうしたらいい?
loadModelだけじゃなくて共通のactionをどっかにまとめて共有したい
Actions code reuse with CAction
http://www.yiiframework.com/wiki/170/actions-code-reuse-with-caction/
こういう記事があったけど、Webでアクセスするアクションの話みたいで、
単に各コントローラでの共通関数の話ではなさそう
($this->loadModel($id)みたいに別関数からアクセスしたい)
0907nobodyさん
2012/05/03(木) 18:48:57.55ID:???共通controller.phpにloadmodelを書いて
それぞれのcontrolelrから利用すれば良いんじゃないかな?
0908nobodyさん
2012/05/03(木) 23:06:16.44ID:???これ参考にするといい
http://www.yiiframework.com/extension/crudactions/
0909nobodyさん
2012/05/05(土) 17:58:57.55ID:???共通controller.phpってなんでしょ??
>>908
それだと$this->でアクセスできないような・・・
0910nobodyさん
2012/05/06(日) 00:28:26.16ID:???0911nobodyさん
2012/05/07(月) 22:04:44.22ID:???あれこれになんの意味があんの?
0913nobodyさん
2012/05/08(火) 16:04:33.53ID:???<?php
class Gender
{
public static $data = array(
//array('id'=>0,'name'=>'指定無し'),
array('id'=>1,'name'=>'男性'),
array('id'=>2,'name'=>'女性'),
);
}
のようにモデルで定義してるんだけど、必要ないかな?
Gender::$dataでradioButtonListとかでも利用できるし便利だと個人的に思ってるけど
0914nobodyさん
2012/05/10(木) 14:44:48.26ID:???乗り換えてオススメなことってある?
0915914
2012/05/10(木) 14:45:21.73ID:???0916nobodyさん
2012/05/10(木) 16:12:46.44ID:???英語力問題ないなら自分で触って確かめた方が早い
0917nobodyさん
2012/05/10(木) 16:26:48.49ID:???0918nobodyさん
2012/05/10(木) 21:13:32.86ID:???0919nobodyさん
2012/05/10(木) 22:24:01.18ID:???0920nobodyさん
2012/05/11(金) 17:17:26.53ID:???ユーザーテーブルに紐付いたプロフィールテーブルに保存されている
ユーザーのプロフィール写真とか
どこでも使用されそうなデータって毎回DBにアクセスするのは億劫ですけどどうやってます?
今は
Yii::app()->user->user_name
Yii::app()->user->profile_image
のように保存してますが、
これから引き廻したいデータが増えてもここに保存していったらいいですかね?
0921nobodyさん
2012/05/11(金) 20:31:24.19ID:???0922nobodyさん
2012/05/12(土) 03:21:06.83ID:???トップページで
ようこそ◯◯さん!
って表示したいとき、
Yii::app()->user->user_name
に保存してればDBのアクセス無しですけど、
上記のように保存していないならトップページ表示する毎にDBにアクセスすることになりますよね?
0923nobodyさん
2012/05/12(土) 03:44:01.82ID:???0924nobodyさん
2012/05/12(土) 10:25:54.94ID:???0926nobodyさん
2012/05/13(日) 20:35:47.46ID:???class PostController extends CController {
actionCamelCase(){}
}
だと
/post/CamelCase
になる
/post/camel_case
こうしたい
actionCamel_Case(){} //これじゃ無理
0928nobodyさん
2012/05/14(月) 19:52:05.55ID:???最初こういうスペース開けないコーディングにすげえ違和感感じでどうしようかと思ったけど
最近見慣れてきたわ
0929nobodyさん
2012/05/14(月) 20:37:37.30ID:???逆にスペースがあるほうがキモいレベル
0930nobodyさん
2012/05/15(火) 14:38:30.64ID:???0931nobodyさん
2012/05/21(月) 20:44:09.25ID:???0932nobodyさん
2012/05/21(月) 21:49:46.69ID:???0933nobodyさん
2012/05/22(火) 11:18:40.53ID:???プロダクションで使えないならバックヤード側で使ってみるとか
0934nobodyさん
2012/06/01(金) 22:36:34.22ID:???Yiiのモデルはこれらを1つのクラスで実装しますよね。
モデル自体が1つのデータを表してるのに、自身のクラスでfindAll()のように
複数件返す仕組みに違和感が…
DAOのように、データ自体とデータアクセスクラスが分かれてる方がしっくり
来るんですが、どちらが良いとかあるのでしょうか。
またYiiでもDAOクラスが用意されてますが、このクラスを使うときはモデル内で
DAOのコードを書くべきなんですよね?
0935nobodyさん
2012/06/02(土) 12:39:59.43ID:???俺も自身のクラスにfindAllのリストを返すようなメソッドを書くのは違和感を覚えたから、
別のサービスクラスのようなものをつくった。
基本的にmodelの中ではSQLもfindも使わないようにしたほうがしっくりきたよ。
0936nobodyさん
2012/06/03(日) 01:51:53.10ID:yQvIqueC連続投稿かどうかをチェックするロジックを記述する場所で悩んでいます。
過去10分の投稿で、投稿されようとしているPostのIPと同一IPのPostを取得して、
1つでも見つかればNG、nullならOKというものです。
記述する場所として、
コントローラ
・$model->validate()や$model->save()の前
モデル
・rules()に独自のバリデーション関数を定義する(?)
・onBeforeSave()
・onBeforeValidate()
などなどがあると思いますが(他にあれば教えてください)、
どこに記述するのがベストでしょうか?
0937nobodyさん
2012/06/03(日) 02:03:27.88ID:yQvIqueC間違えました
>・onBeforeSave()
>・onBeforeValidate()
・beforeSave()
・beforeValidate()
上記が正しいです
0938nobodyさん
2012/06/04(月) 17:52:20.51ID:???コントローラでそれを呼び出して条件分岐するか
あとはビューで条件分岐して、falseの場合のみフォームを表示させるとか
0939nobodyさん
2012/06/08(金) 04:03:52.70ID:???falseにしてもtrueにしても、その後の処理は実行されない。
$this->redirect('http://example.com', false);
$this->hoge();
hoge()が実行されない。何か勘違いしてますか?
0940nobodyさん
2012/06/08(金) 09:24:17.60ID:???0942nobodyさん
2012/06/10(日) 10:01:06.80ID:???$model2->save()
上記が2つ成功して初めてsave()したいのですが、どうしたらいいでしょうか?
0943nobodyさん
2012/06/10(日) 11:27:02.85ID:???0947nobodyさん
2012/06/13(水) 15:18:45.45ID:???めっちゃ気持ちよく開発できる
CakePHPで作ったシステムもさっさとYiiにしたいけど結構規模大きいので面倒だ
0948nobodyさん
2012/06/13(水) 18:24:24.37ID:???これ参考にすると良いと思います
http://www.yiiframework.com/doc/guide/1.1/ja/database.ar#sec-11
0949nobodyさん
2012/06/16(土) 19:41:32.57ID:???モデルのImageとかぶってエラー起きた
モデルの名前変更するしか無いかな?
0950nobodyさん
2012/06/21(木) 18:03:32.21ID:???0951nobodyさん
2012/06/21(木) 21:01:36.62ID:???0952nobodyさん
2012/06/27(水) 20:16:53.38ID:???配布されてないの?
ダウンロードできるマニュアルってあれに比べると
使い勝手落ちる
多分あれはYiiで作成されているんだと思うが。
0953nobodyさん
2012/06/30(土) 01:06:46.89ID:???全コントローラ・クラスに継承させられるクラスってある?
自分でわざわざMyCControllerつくって
手動でそれを継承させないと無理かな?
0954nobodyさん
2012/07/02(月) 14:07:50.65ID:???今からまた勉強するのもおっくうだがこれを見ると迷う
http://www.google.co.jp/trends/?q=cakephp,+yii,symfony&ctab=0&geo=all&date=all&sort=0
トレンドの伸び率が半端ないわぁ
0955nobodyさん
2012/07/02(月) 23:06:15.50ID:???protected/componentsにController.phpってありません?
それがapp_controller.phpみたいな役割をしてくれます
モデルはないので、自分で作る感じだと思います
0956nobodyさん
2012/07/20(金) 11:38:10.96ID:???英語に不慣れなもんで、無意識に名詞と動詞混同させてしまうんだよね
どちらかに統一しようと思ったけど、どうしようか迷ってる
モデルは名詞でコントローラは動詞?
0957nobodyさん
2012/07/20(金) 19:32:29.20ID:???動詞なのはメソッドだぬ
0958nobodyさん
2012/07/20(金) 19:34:08.42ID:???コントローラーはコントロールをするものであり名詞
0959nobodyさん
2012/07/21(土) 16:41:36.22ID:???>メソッドは動詞
なるほど、サンクス
0960nobodyさん
2012/07/21(土) 17:46:36.46ID:???0961nobodyさん
2012/07/21(土) 18:12:55.14ID:mc4IJPZ4protected/models の下に作ってるんだけど、おかしなことしてる?
ベターな方法があれば教えて欲しい
例えば、プロフィールフォームなどで使う男女のデータを
<?php
class Gender
{
public static $data = array(
array('id'=>0,'name'=>'指定無し'),
array('id'=>1,'name'=>'男性'),
array('id'=>2,'name'=>'女性'),
);
}
というモデルを作って Gender.php として protected/models に保存してる
プロフィールフォームで
echo $form->radioButtonList($profile,'gender_id',
CHtml::listData(Gender::$data, 'id', 'name')
:
:
としてとってこれる
テーブルとして保存する必要が無いようなデータを
DBにアクセスする手間とオーバーヘッドを減らすためにこういう風にしてる
男女のデータ意外に、都道府県とか、職業とか、、、いろんなデータをmodelsの下に入れてる
最初は良い考えだと思ったけど、ちょっとファイル数が多くなってきた(といっても20弱だけど)ので
設計として正しいか不安になったので質問してみました
0962nobodyさん
2012/07/25(水) 08:24:23.35ID:???正規化してDBに入れてもキャッシュしてUser->Gender->nameでもいいと思う。
モデルの数はシステムの規模に比例するから諦めろ
0963nobodyさん
2012/07/30(月) 18:53:39.77ID:jv1g1zQt0964nobodyさん
2012/07/30(月) 21:13:29.54ID:CcejVExF0966nobodyさん
2012/08/04(土) 03:12:01.01ID:rmgfBjt+0967nobodyさん
2012/08/04(土) 03:36:43.31ID:???0968nobodyさん
2012/08/04(土) 03:49:44.18ID:???書籍もでてるし
0969nobodyさん
2012/08/05(日) 12:39:40.82ID:???http://www.slideshare.net/samdark
0970nobodyさん
2012/08/05(日) 18:30:28.91ID:???0971nobodyさん
2012/08/06(月) 00:44:04.95ID:???まあ5.4上で動かしても何ら問題ないと思うけど
0972nobodyさん
2012/08/08(水) 06:57:57.91ID:jQ2fQMzJコントローラの名前と
アクションの名前を設定したいんだけど、
それぞれ共通の $this->pageTitle;って値持ってるよね
どうしたらいいんだろう
0973nobodyさん
2012/08/08(水) 09:55:44.61ID:???みたいなタイトル作りたいってこと?常に固定だったらCController::getPageTitle()拡張して
return Yii::app()->controller->id. ' | '. Yii::app()->action->id. ' | '. $this->_pageTitle;
とか。
あるいはpushPageTitle()でも作って適当なところで$this->_pageTitleにスタックさせるとか。
0974nobodyさん
2012/08/09(木) 16:53:44.99ID:sQlC8OJZcreatedフィールドのような保存したときに自動でタイムスタンプを保存する機能を実装したい場合、
モデルを作る度にbeforeSave()にその処理を記述しないといけないんでしょうか?
0975nobodyさん
2012/08/09(木) 20:13:16.41ID:???ttp://www.yiiframework.com/forum/index.php/topic/15660-yii%e5%88%9d%e5%bf%83%e8%80%85%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e5%9f%ba%e6%9c%ac%e7%9a%84%e3%81%aa%e3%81%93%e3%81%a8%e3%81%be%e3%81%a8%e3%82%81/page__view__findpost__p__89635
0976nobodyさん
2012/08/10(金) 02:49:35.07ID:???CActiveRecordを継承したMyActiveRecordをつくればいいだけの話。
タイムスタンプに関しては、CTimestampBehaviorを検索すれ。
0977nobodyさん
2012/08/11(土) 17:49:21.23ID:???他のフレームワークに対するYiiの利点ってなんだろうな。
CakeやSymfonyに比べると速いっていうのはあるんだがCIやfuelにはその点劣るよね。
反対にそういう軽量FWに比べれば、フルスタックMVCでツールや機能が揃ってる。
バランスがいいといえばそうなんだけどなんか押しが弱い。
0978nobodyさん
2012/08/11(土) 18:05:03.49ID:???検索yiiでそこそこ飛んで来るヨ
0979nobodyさん
2012/08/11(土) 19:11:52.54ID:dsfFj2KpフルスタックでYiiより速いのってあるか?
あと使って初めて気づくけど、色んな点で感動する
どこで?って言われると忘れてるぐらいの細かい点だけどね
0980nobodyさん
2012/08/11(土) 20:21:38.05ID:???でもうまく説明できないわ。
とにかく高機能で、かつ設計が練られてるから拡張しやすくて便利なんだよね。
コアのソースを読めて、英語のドキュメントなりフォーラムを見て解決できる力があればつまることもないし。
0981nobodyさん
2012/08/12(日) 20:34:09.40ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。