トップページphp
981コメント269KB

【PHP】Yii Framework

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2010/12/10(金) 00:41:11ID:???
PHP5 用 Framework Yii (イー) Framework スレ

公式
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:???
DBのmigration
Railsでおなじみ。
0006nobodyさん2010/12/11(土) 02:01:34ID:???
PHPってかプログラミング初心者だけど、yii勉強中。
ページャー、テーブルの結合&取得周りがやりづらい。
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専門のマが新しいことに取り組もうなんてするわけ無いからな
国外では結構人気出てるけど、日本のPHP案件なんて
既存の知識で出来る範囲の〜ばっかだから…
0013nobodyさん2010/12/12(日) 12:01:24ID:???
フレームワークスレで盛り上がってるのが名前空間がどうこうだからなw
PHP自体が新しい技術とかに縁が無い使われ方しかしてない言語だと思うわ。日本では特に
0014nobodyさん2010/12/13(月) 11:51:49ID:???
つーか日本じゃ人件費が高いのに、LAMPの見積り価格が
一昔前のトーシロWEBデザインな金額しか出ないからな。
いくらYiiや他FWが良くても日本じゃ使えない。

億出るような案件は大手が自分とこのゴリ押しするか
オフショアだから結局日本人にオハチは回らん。
0015nobodyさん2010/12/13(月) 11:54:55ID:???
>>6
遊びならいいけど、手っ取り早く金にしたいならスマホアプリ覚えたほうがいいぜ。
俺らおっさんらは10年前のJava黎明期にガッポリ稼げたけど、いまじゃjavaや
PHP覚えても、道楽かガテンか二者択一だしな。
0016nobodyさん2010/12/13(月) 23:22:20ID:???
Androidとかも今からだとだいぶ出遅れだけどな
0017nobodyさん2010/12/16(木) 00:32:24ID:???
英語もうすこしがんばってよけばよかったw
ドキュメント読むのが辛い
0018nobodyさん2010/12/19(日) 15:56:39ID:kmNFj/rC
age
0019nobodyさん2010/12/19(日) 17:48:17ID:???
sage
0020nobodyさん2010/12/22(水) 16:37:44ID:???
mysqlのcreate temporary table をyiiのfind等で利用するにはどういった書き方をすれば良いのでしょうか?
ヒントだけでも教えて頂ければありがたいです。
0021nobodyさん2010/12/23(木) 01:04:17ID:???
create temporary tableなんて使ったことないけど、
あらかじめcreateするテーブルのモデルをつくっておくしかないんじゃね?
テーブルの構成が動的に変わるとしたら無理だな。
0022nobodyさん2010/12/24(金) 05:20:09ID:???
findだけだったら普通にモデルあればいいんじゃね
createするのはセッション毎に独自の作る必要あるだろうけど
0023nobodyさん2010/12/24(金) 23:19:04ID:???
どういう用途なんだろう
ってかtemp tableにする必要はあるの?
0024nobodyさん2010/12/26(日) 17:56:44ID:???
日本語訳がけっこう古い内容なのを忘れてて、
原文みないと食い違いに気づかないトラップにはまってしまった
0025nobodyさん2010/12/26(日) 22:50:12ID:???
>>20
フォーラムに似たような話題があるけど
http://www.yiiframework.com/forum/index.php?/topic/8728-using-ar-for-temporary-tables/
0026nobodyさん2011/01/03(月) 17:52:44ID:iWYHFPXs
Yii Playground
http://www.yiiplayground.cubedwater.com/
0027nobodyさん2011/01/03(月) 17:57:26ID:iWYHFPXs
すみません
Yii PlaygroundはYiiにはどんな機能があるか、どんな仕組みか紹介してるサイトみたいです
0028nobodyさん2011/01/03(月) 20:23:47ID:???
nice
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:???
んー、Cakeやってりゃ勢いで書ける気がするんだが・・・。
まぁ俺はYiiに賭けるより、vpsが一般化して極小予算で
Javaが見直される方に賭けちまったけどな。
0035nobodyさん2011/01/17(月) 14:48:20ID:???
1.1.6 リリース。DB migration機能キター!
0036nobodyさん2011/01/19(水) 15:02:21ID:LMDPoOlH
1.1.6のquery builderもなんか良さげ
0037nobodyさん2011/01/20(木) 01:28:39ID:???
>>34
Javaなんて時代遅れのポンコツ言語
衰退の一途だろ。
0038nobodyさん2011/01/20(木) 21:43:56ID:???
お前は自分と周りで世界が回ってる典型的なヤツだろ
0039nobodyさん2011/01/20(木) 21:48:44ID:???
JavaはAmazonで元気に動いてるね
0040nobodyさん2011/01/21(金) 00:32:30ID:???
>>38
Javaを信奉してる奴って他の言語触った事ないんだろうな。
あの時代遅れのポンコツ具合。なんで文字列はオブジェクトなのに
数値はオブジェクトじゃないんですか?
死ねよw
0041nobodyさん2011/01/21(金) 03:15:39ID:???
なんだワナビーくんか
0042nobodyさん2011/01/21(金) 21:09:40ID:???
好みの話なら、あんまり好きな言語ではないけれど
あくまで好みの話
0043nobodyさん2011/01/24(月) 01:14:31ID:???
Java厨きめぇ
0044nobodyさん2011/01/27(木) 19:44:07ID:???
>>40
文字列がオブジェクトで数値が違う言語なんて他にいくらでもあるだろう・・・
お前も似たようなもんだな
0045nobodyさん2011/01/27(木) 21:18:50ID:???
>>44
どの言語?
0046nobodyさん2011/01/28(金) 03:04:17ID:???
intとInteger
0047nobodyさん2011/02/11(金) 22:52:56ID:???
最近PHPを触る機会がとんとなくなった(´・ω・`)
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
1年Yii使い込んだけれど、いいと思うんだけどな。
すくなくとCakeなんぞよりずっと良く出来てると思うんだけど、
帯に短したすきに長しなのかな〜?
0052nobodyさん2011/03/01(火) 03:09:46.84ID:???
中途半端ってことはないと思う。
あえていうなら出遅れってとこかね。
3大フレームワーク以外のフレームワークを使う必要性が低いのかな。
ユーザー増えてほしいな。
0053nobodyさん2011/03/01(火) 03:45:13.11ID:???
active record等機能では他のFWを先行してるんでしょ?
他のFW知らんけど
0054nobodyさん2011/03/01(火) 20:15:20.09ID:l/RvlBkb
3大ってSymfony、Cake、Zendであってる?
日本人は二言目には実績実績だからなぁ・・・
0055nobodyさん2011/03/02(水) 00:44:16.47ID:???
あと大半の職業マは、日本語資料がないと手が出せないからなw
0056nobodyさん2011/03/02(水) 10:19:43.01ID:???
>>55
そう、それだよ。
だから機能的にハァ?なものが日本だけで
流行ってたりする。理由は日本語資料が多
いのと日本語のサポートコミュニティがあ
るからw
PHPがらみでいうと某CMSとかさ。
0057nobodyさん2011/03/02(水) 14:42:09.65ID:???
mod...の悪口はそこまでだ!
0058nobodyさん2011/03/02(水) 20:28:14.94ID:???
あるあるw
0059nobodyさん2011/03/02(水) 21:08:01.88ID:???
yiiは後発だけあって先進的な部分があるけど、5.3専用のlithiumが
正式板で出てくると苦しいのかな。しばらくは豊富なプラグインの
おかげで優位性を保てるだろうがその後はねー。
yiiも次のメジャーバージョンアップで5.2を切り捨てたりして。
0060nobodyさん2011/03/03(木) 22:43:59.33ID:???
Yii 2.0があるなら5.3未満捨てちゃっていいよね。5.3のネームスペースを無理やり先取りして
悪いといえば悪い時期に出たのかもしれないが、今現在はベストなフレームワークだと思う
0061nobodyさん2011/03/03(木) 22:43:59.53ID:???
Yii 2.0があるなら5.3未満捨てちゃっていいよね。5.3のネームスペースを無理やり先取りして
悪いといえば悪い時期に出たのかもしれないが、今現在はベストなフレームワークだと思う
0062nobodyさん2011/03/04(金) 00:19:08.40ID:???
バックスラッシュが日本語環境だとかっこわるいけど、やっぱnamespaceの有無はでかいからなぁ
0063nobodyさん2011/03/10(木) 22:50:25.41ID:???
時代はnode.js
0064nobodyさん2011/03/13(日) 23:46:58.57ID:???
http://www.yiiframework.com/download/

2.0は5.3以上にするってかいてあるよ。
でもまだ開発スタートしてないね。
0065nobodyさん2011/03/14(月) 03:23:33.58ID:jkVEBQeU
2.0の安定版は2012年以降
0066nobodyさん2011/03/14(月) 04:36:35.60ID:???
今のうちにいろいろ触っておいて、2.0から本格的に移ろうかなぁ
0067nobodyさん2011/03/14(月) 08:22:00.12ID:???
2.0が出る頃にはlithiumが既に天下取っていて食い込みようかなくなってる悪寒
0068nobodyさん2011/03/16(水) 16:53:22.34ID:???
英語わかんなくても
日本語翻訳の拡張をChromeにでも入れて
オフィシャルのWiki, Forum,Class Referenceなんか参考にしながらやってると
そのうちわかってくるよ CakePHPより触ってて楽しいよ
0069nobodyさん2011/03/16(水) 20:17:40.29ID:???
lithiumも日本じゃ微妙なきはする
結局日本語ry だしなw
0070nobodyさん2011/03/16(水) 20:38:11.34ID:???
楽しいよね。
機能も豊富な上に、クラスが拡張しやすくなってて、自由度も高い。
0071nobodyさん2011/03/28(月) 10:39:41.57ID:???
1.1.7リリースきた
0072nobodyさん2011/03/28(月) 23:58:54.62ID:???
キター
0073nobodyさん2011/04/15(金) 12:04:18.04ID:ntMT7Xiq
http://example.com/name/東京 みたいのを、urlmanagerを使って検索させようとしてるんだけど
漢字以外だとリクエスト失敗するの何とかならんのかしら?

コントローラとアクションが見つからないっぽいんだけど
0074nobodyさん2011/04/15(金) 12:07:46.35ID:???
ていうか、・とか〜が入ってるとダメなのかな
0075nobodyさん2011/04/15(金) 14:31:06.61ID:???
>>73-74
す、すまん。わしのミスじゃった正規表現の
スレ汚し失礼した!
0076nobodyさん2011/04/27(水) 18:47:48.49ID:F6WKxp2A
お名前.comの共用サーバで使ってみようとしたんだけど、下記エラーが下のエラーが出てDBに繋がらない。。

CDbConnection はデータベースコネクションをオープンできません。: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:???
とりあえず共用でもxreaとかロリポップはイケるみたい
0080nobodyさん2011/05/11(水) 03:23:13.76ID:LnOBLB+l
公式ガイドの日本語訳が1,2年ぶりに更新されるみたい。翻訳した方々に感謝します。
0081nobodyさん2011/05/14(土) 00:02:31.66ID:???
おー、翻訳下人には大感謝
利用者が少しでも増えてくれるといいなー
0082nobodyさん2011/06/03(金) 00:55:07.31ID:m+XJnvbx
CakePHPでいうText::autoLinkUrlsみたいなものってYiiにはありますか?
0083nobodyさん2011/06/30(木) 19:18:22.43ID:???
さくらvpsでYiiでサイト作成中。
初めて触るけど結構使いやすいかも。
cakeほどブラックボックス化されていない感じがいい
0084nobodyさん2011/06/30(木) 23:29:38.65ID:???
このスレの話題ってYiiがイイ、しかないよね
0085nobodyさん2011/07/01(金) 12:47:31.76ID:???
あんま欠点らしい欠点も無いな
日本での知名度が低いとかかな
0086nobodyさん2011/07/01(金) 13:50:59.95ID:???
YiiもCIも全然日本では流行らないね
CIはちょっと盛り上がるかと思ったのに、すぐ落ち着いてしまった
0087nobodyさん2011/07/01(金) 14:24:56.36ID:???
日本はいつも遅い
0088nobodyさん2011/07/01(金) 14:42:38.19ID:???
負荷の高くないCMS作るんだったらcakeで十分って感じだね。
CIも使ってみたけどモデルが貧弱でコーディング量は多くなってしまった。
Yiiは日本語ドキュメント少ないし英語読めないPGにはキツイかも
0089nobodyさん2011/07/01(金) 14:47:20.96ID:???
全然英語読めないと無理だね
でもWEB PGとしてそれは致命的じゃないのかなぁ
新しい技術を利用する機会が狭まりすぎる
0090nobodyさん2011/07/01(金) 16:06:28.54ID:???
>>89
phpのPGは7割くらいは英語読めない印象
0091nobodyさん2011/07/01(金) 21:41:44.91ID:???
>>88
PerlのCatalyst+DBICで組んでたけど、PHPだとCIのModelの薄さが逆に生SQLを適度に隠蔽する手段として馴染んでしまった
確かに、CI_Model素のままだとbelongs_toとかhave_manyを自力で書く煩わしさはあるけどね
もうちょっとコーディング量減らしたいなあというときにYiiのARぐらいがちょうどいい気がする
0092nobodyさん2011/07/09(土) 23:45:20.84ID:ewx16BgM
admin, manager, userと分けたいんだけど
Yiiの場合モデルやコントローラをどう構成するのがベター?
0093 忍法帖【Lv=34,xxxPT】 2011/07/10(日) 13:00:48.80ID:???
test
0094nobodyさん2011/07/13(水) 10:23:08.48ID:???
何を分けたいんだい?
0095nobodyさん2011/07/15(金) 10:36:17.35ID:g6cwdg+o
CakePHPの場合だとcore.phpで
Configure::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:???
controllerの中に書いてあるのじゃないかな?
そこで分けるのがシンプルっていうか基本なのでは?
0097nobodyさん2011/07/19(火) 15:34:10.45ID:???
module作るとかはどう?
0098nobodyさん2011/07/23(土) 09:15:03.50ID:???
久しぶりにyii framework使ってサイト作りしてるけど、ドキュメントほとんど日本語化されてるじゃねえか
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:???
誰かwikipediaに項目追加しないの?
0102nobodyさん2011/08/02(火) 20:41:32.19ID:???
http://d.hatena.ne.jp/cakephper/20110802/1312275110
Codeigniter2はORM使ってないんだから、はやくて当然だよね?
あんまり意味ない比較な気がする。
Yii使いとしては、yiiliteもスキーマキャッシュも使ってないし、納得いかないなw
0103nobodyさん2011/08/03(水) 23:25:00.57ID:???
Pinocoが気になるねw
Yiiは機能豊富でこの速さだからすごいと思うけどなぁ
0104nobodyさん2011/08/04(木) 00:12:13.94ID:???
yiiのコード起こしたのがPinocoの作者(笑)
0105nobodyさん2011/08/04(木) 00:16:19.51ID:???
Pinocoはあれだ。ちいたんみたいなもんだ
機能殆どないのに遅かったら話にならん

yiiの早いってのは、それなりの機能を低コストで作成できる速さもあると思う
0106nobodyさん2011/08/04(木) 18:16:32.80ID:???
フレームワークってYiiしか使ったことないから知らないんだけど、
他のってそんな遅いの?
0107nobodyさん2011/08/04(木) 18:33:53.39ID:???
劇的って程じゃないけど、今出てる多機能FWのなかじゃかなり上位じゃないかな
ノウハウ持ちが少なくて国内利用は少ないと思うけど
0108nobodyさん2011/08/04(木) 23:04:48.83ID:???
Yiiしか使ったことがないってのもめずらしいですね。
Yiiは生産性も高いし、速度も速いし、管理もしやすいですよ。
CakePHPでいっぱいいっぱいなもの作っている人にはおすすめのFMです。
0109nobodyさん2011/08/04(木) 23:54:58.84ID:???
106じゃないが、最近webアプリ制作始めた俺みたいなのが
最初にYii選んで使うって人は居るんじゃないか
0110nobodyさん2011/08/05(金) 21:42:28.17ID:???
ニコニコでプログラム実況してる大学生が最初のFWでYii使ってたな
今はpython-djangoに移行してるみたいだが
0111nobodyさん2011/08/06(土) 00:40:31.22ID:???
最初にYii選んですぐ使いこなせる人とか尊敬するわ。
ログイン機能がどういう仕組みになってるかで一苦労だよこっちは・・・。
01121062011/08/06(土) 23:16:21.57ID:???
>>109
まったく一緒だわ
0113nobodyさん2011/08/06(土) 23:54:25.05ID:???
あぁ、テンプレートが作るログイン機構は中身なんちゃってだから

・・・がんばれよー
0114nobodyさん2011/08/10(水) 12:39:16.71ID:???
ログイン機能はチュートリアルのやつちょっと改変して作ったな
個人的にはフォームにモデルがあるのがちょっとびっくりしたかな
0115nobodyさん2011/08/10(水) 18:01:57.89ID:???
>>113
admin/adminとか決め打ちで判定してるところを
DBモデルからユーザ情報引っ張ってくるように改変してるんだけど、それでいいんだよね?
0116nobodyさん2011/08/10(水) 18:37:47.14ID:???
認証はブログのサンプル見れば一目瞭然
後はユーザロール系の拡張ぶち込んでサンプルみれば尚良し
といったものの、最近はyii使ってないなぁ
近頃はNode.jsばっかりでphpが恋しいよ
0117nobodyさん2011/08/10(水) 23:24:52.74ID:???
それってサーバーサイドjava scriptとか?
0118nobodyさん2011/08/11(木) 15:07:54.84ID:???
認証と権限はガイド見ながら基本学んで、あとはyii-userとrights使えばいいじゃん
あとフォームビルダ使ってview作ってる人っている?良さがまだ見えてこないんだけど・・・
0119nobodyさん2011/08/11(木) 15:46:51.50ID:???
viewが多くなって複雑化してくると処理をコントローラで一元管理出来るのは便利な気もする
けど直感的でない気がして使ってない
0120nobodyさん2011/08/16(火) 10:03:46.75ID:???
フォームビルダについては、ガイドでは再利用性を謳っているけど
それならrenderPartialでいいやってなって、自分も使ってないんですよねぇ。ありがとう
0121nobodyさん2011/08/19(金) 18:01:25.30ID:???
さくらのレンタル(プレミアム)でYiiって普通に使えるよね?
ちょっとした小銭稼ぎの話がきてあんまり確認しないでOKしちゃったんだが
0122nobodyさん2011/08/19(金) 18:31:59.45ID:???
それを借りるなら同社のVPSにしたら?
0123nobodyさん2011/08/19(金) 18:35:18.76ID:???
>>122
そうしたいんだがサーバーはクライアントの指定があって。。。
0124nobodyさん2011/08/19(金) 18:39:41.71ID:???
たぶん使えるけどAPCとか入ってないからパフォーマンスのいいものは出来ない予感
この辺が有るのと無いのでは雲泥の差があるよ
0125nobodyさん2011/08/20(土) 00:13:28.27ID:???
"class HogePiyoController" HogePiyoController.phpでコントローラー作ったら、windowsローカルでは動いたのに
サーバーにうpしたら動かなかった…。

"class HogepiyoController" HogepiyoController.phpにしたらサーバーでもちゃんと動作した。
命名規則守ってなかったのがいけなかったんだが、開発環境のwindowsでは動いただけにちょっとはまってしまった。
なんでだろう?
0126nobodyさん2011/08/20(土) 03:21:48.37ID:???
Windowsでは大文字小文字を区別しない
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:???
YiiでExt JSって簡単に使える?
0130nobodyさん2011/08/24(水) 01:10:39.74ID:???
ext4yii - ExtJS extension for Yii
ttp://www.yiiframework.com/extension/ext4yii/

ってのがある。むしろ簡単に使えるか試して結果を聞かせてほしい
0131nobodyさん2011/08/26(金) 13:06:35.49ID:zqS5wSah
専ブラに表示されないので
0132nobodyさん2011/08/30(火) 23:44:03.51ID:???
yii frameworkが好きすぎて生きるのが辛い
0133nobodyさん2011/08/30(火) 23:48:17.46ID:???
いつかお別れするときがくるから、今のうちに精一杯愛しておきなさい!!
0134nobodyさん2011/08/31(水) 01:18:39.47ID:???
>>132
めっちゃわかるで、しかし。
0135nobodyさん2011/09/02(金) 02:26:06.55ID:???
http://packtlib.packtpub.com/ってすごい
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:???
>>135
つーか、予約して買ったし。Libは英語がサクサク読めれば
価値あるけど、たとえばSpring3とか無いから、意外に使えんぞ。
0137nobodyさん2011/09/05(月) 01:17:37.49ID:???
Yii 1.1 Application Development Cookbook電子書籍版読んだ人どうだった?感想を聞かせてくれ。
0138nobodyさん2011/09/07(水) 18:12:28.30ID:???
英語でよく分からんかった
0139nobodyさん2011/09/07(水) 18:55:03.17ID:???
そんなもんだよね(´・ω・`)
0140nobodyさん2011/09/09(金) 11:36:43.58ID:???
>>119
コントローラでの一元管理ってどういうことだろう?

俺もフォームビルダーの利点がイマイチ分からんのだが、
アクティブフォームを使えばモデル別にPOST配列が分かれるんだから、入れ子にも対応できるし、
再利用性って言っても、結局フォーム定義をモデルのルールと結びつけるんだから、再利用性に違いがないような気が・・・
CActiveFormが導入される前の物って感じなのかな
0141nobodyさん2011/09/10(土) 11:37:40.24ID:???
>>137
うーん、購入を躊躇するんならやめるのをお勧めする
どっちかってーと、「こういう使い方がありますよ、って内容だし。
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:???
J-Paymentの結合Extensionほしいよー
0145nobodyさん2011/09/24(土) 16:55:48.99ID:???
yii1.1.8の日本の通貨フォーマットがおかしいね
i18n/data/ja_jp.phpもしくはi18n/data/ja.php
のcurrencyFormatを直接書き換えないと駄目なのかな?

一応、下みたいに修正すれば正常にフォーマットされるみたいだけど
'currencyFormat' => '?#,##0.00',

'currencyFormat' => '#,##0?',
0146nobodyさん2011/09/26(月) 02:42:38.87ID:???
英語全然問題なくて、今Cake使ってて重くて困ってる
俺みたいな人はYii使うと幸せになりますか?
0147nobodyさん2011/09/26(月) 04:29:29.36ID:???
諸々のチューニングして重いと感じるんならYii使ってみては?
速度的に言うとCodeIgniter > Yii > CakePHPな感じです
0148nobodyさん2011/09/26(月) 04:37:23.79ID:???
作ってるとそこまで早い感じはしないけどな
ただ標準でプロファイル機能とログが揃ってるから、チューニング楽だけどね
0149nobodyさん2011/09/26(月) 04:49:46.26ID:???
Yiiは速度がどうより、生産性がかなり高いとこが自分的には気にいってます。
管理画面などは驚くほど簡単にかつ高速で作れますよ。
0150nobodyさん2011/09/26(月) 09:21:13.81ID:???
速度はyiiliteとapcでけっこう速くなった気がする。
キャッシュ機能も豊富で使いやすいよ。
YiiはORMをフルに使ってる分、CodeIgniterのほうが速いだろう。
でもCodeIgniterは書くコードの量が多すぎてしんどい。
あとはまあつくるもの次第。
0151nobodyさん2011/09/30(金) 07:52:37.96ID:???
yiiliteって使ったことないので試してみます。ありがとう
0152nobodyさん2011/09/30(金) 08:33:13.83ID:???
Yiiは確かにCakeより書きやすい気がするが、
なんというか、LLはターゲットシステムが
こじんまりしたものから出ん方が幸せになると思う。

いまPHPでそれなりの規模のシステムを組んでるが
つくづくそう思う。
0153nobodyさん2011/09/30(金) 11:29:02.92ID:???
どこの大手もそれなりの規模をPHPでやっとるがな
0154nobodyさん2011/09/30(金) 12:17:20.02ID:???
意味もなく煽るなよ
お前の意見があるならまずしも

その大手もそう思ってるかも知れないのに
思ってないかも知れないが
0155nobodyさん2011/09/30(金) 13:54:49.18ID:???
いや煽ったつもりは無いんだがそう感じたらスマン

確かに本格的な業務系アプリなら辛いかもしれないな
0156nobodyさん2011/09/30(金) 14:53:45.46ID:???
LLってなんだ
0157nobodyさん2011/09/30(金) 14:55:12.10ID:???
ちなみにfacebookはフロントサイトをphpで書いてCだったかに変換してる
これはphpの書きやすさを認めながらも、性能に不満があるという証明でもあるんじゃないかな
0158nobodyさん2011/09/30(金) 14:56:13.75ID:???
フロントサイトってなんだw
フロントエンドね
0159nobodyさん2011/09/30(金) 15:01:42.86ID:???
ん?ここってYiiスレだよ?
どこの誤爆?
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:???
Yii !!(これの振りだったんだろ)
0164nobodyさん2011/09/30(金) 20:47:23.02ID:???
もっとYiiの中身について話したいのに、お前ら反応薄いよね
久しぶりに見ると下らないことに反応してるの見ると悲しくなるわ
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:???
今のCakeの案件終わったら、使ってみたい
使い始めたら何か書くこともあるだろう
0168nobodyさん2011/10/01(土) 07:09:48.10ID:???
公式のAPI見やすいし、
コアのソースもみやすいし、
つまずくことがあっても既に公式のフォーラムにあがってたりするし、
解決しちゃうんだよね。
0169nobodyさん2011/10/01(土) 08:10:54.21ID:???
Documentはダウンロードできるけど
公式のAPI閲覧システムをローカルでも動かしたいな

ajaxフォームで絞り込めるやつ
0170nobodyさん2011/10/01(土) 21:19:41.39ID:???
問題がなくても、愛を語ればいいじゃない
0171nobodyさん2011/10/05(水) 08:51:33.73ID:???
いや別にYiiは軽いが、特別に優れたってわけでもないだろ。
言語仕様はPHP、思想はRoR。Cakeに比べて縛りが緩いくらいだろ。
0172nobodyさん2011/10/05(水) 09:15:42.60ID:???
特別じゃん
0173nobodyさん2011/10/05(水) 09:28:00.27ID:???
少なくとも今のCakeより、確実に優れてると思う。
言葉で上手く説明できないけど、実際使い込んでみたらわかる。
0174nobodyさん2011/10/05(水) 20:05:24.23ID:???
Yiiのおもしろいとこは
getAbc()を$this->abcで使えたり
モデルをビューにまで持っていく考えだったり
知らない間にjQueryが使われていたり
CUserIdentityクラスに突っ込みどころが多いとこだったり
アクションクラスってのを作れたり
Giiテンプレートをカスタマイズしてどうすればより簡単にMVCが作れるか考えたり
どうやればより高速になるんだ?と興奮しながらさまざまなチューニングを試したり
初めて使う第3引数に夢のようなサプライズがあったりするとこだよ!



0175nobodyさん2011/10/05(水) 21:56:55.85ID:???
>>174
どんなfunctionの第3引数が面白いんだい?

getAbc()は試してみよっと
0176nobodyさん2011/10/05(水) 23:47:59.94ID:???
CActiveRecordのwith()は感動した
イーガーローディングってやつな
0177nobodyさん2011/10/06(木) 03:27:48.56ID:???
Yiiの求人ある?
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:???
http://www.google.co.jp/trends?q=cakephp%2Csymfony%2Ccodeigniter%2Cyii&ctab=0&geo=all&date=mtd&sort=0
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
Yiiって、テーブルのフィールド名に縛りってある?
例えば主キーはidでなければならないみたいな。
0186nobodyさん2011/10/20(木) 23:16:19.10ID:???
ない。
cakeみたくテーブル名とモデルの命名規則もない。
0187nobodyさん2011/10/21(金) 00:16:47.69ID:1AJsmT5x
おお、それはいいね。
0188nobodyさん2011/10/22(土) 14:49:28.07ID:???
複数のフィールドでのユニークチェックがデフォルトでは
サポートされていないってドキュメントに書いてあってびっくりした

別のフィールドをつくってカンマ区切りなどでデータ登録しときましょうみたいな感じだったな。
ちょっとめんどくさかった。
0189nobodyさん2011/10/22(土) 14:59:49.68ID:???
>>188
modelにvalidate rule書けばいいんじゃないの?
あと話違うけど、複数フィールドのuniqueってデータベース自体では設定できるものもあるの?
0190nobodyさん2011/10/22(土) 20:37:32.57ID:???
>>189
自分でvalidation ruleをcountByAttributes使って書かないといけない。
単一だったらrules()にuniqueの配列追加したらそれでOKだよね。
そういういみでのデフォルト

DBの複合のuniqueは一般的に使われる大体のDBであるんじゃね?
とりあえずmysql postgresql oracleにはある
0191nobodyさん2011/10/22(土) 20:49:58.10ID:???
>>190
ほぅDBで複数Fieldのuniqueも判定出来るんだね
探してみる
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:???
でもpostとtagだったりcategoryだったりを紐付けるときは、
どうしてもMANY_MANYが必要だよね。
0196nobodyさん2011/10/26(水) 17:49:46.36ID:???
MANY_MANYの何が駄目なんだい?
0197nobodyさん2011/10/26(水) 23:34:08.68ID:???
MANY_MANYは複合キーのとき必須だよ。
全然駄目じゃない。
0198nobodyさん2011/10/27(木) 17:09:44.97ID:???
AR賢いよね
MANY_MANYも余裕で吸収してくれる
イーガーローディング使えば、読み出し回数も減らせるし
0199nobodyさん2011/10/27(木) 19:50:26.07ID:Oi33f/rV
>>194
正規化すれば複合キーが消えるなんてことはないんだけどな。
複合キーを消すため別途主キー用の項目を設ける(いわゆるid項目)
は明らかに正規化崩し。

正規化の結果複合キーが現れるのは普通にあることだし、それを理由に
ろくなシステムじゃないとか言っちゃう奴が設計するシステムの方が危なっかしい。
0200nobodyさん2011/10/27(木) 20:43:39.56ID:???
YiiのARは設計が素晴らしいと思う。
0201nobodyさん2011/10/28(金) 02:19:36.20ID:???
Yii2.0ではMongoDBがサポートされるらしい。まだまだ先の話だが。
0202nobodyさん2011/10/28(金) 11:58:39.90ID:???
relationしたときのdefaultScopeのデータベースAliasの扱いが難しかったような記憶がある
0203nobodyさん2011/10/28(金) 23:12:06.39ID:???
getTableAliasを使えばよい。
0204nobodyさん2011/10/29(土) 01:01:31.03ID:???
アクションによってモデルのbeforeSave()の挙動を変えたいときって
シナリオを使うのか、Yii::app()->controller->action->idを使うのは、どっちがいいかわかんない
0205nobodyさん2011/10/31(月) 21:30:27.37ID:???
beforeSaveの処理内容だったらactionのIDで振り分けたほうがいいんじゃねえの
個人的にはシナリオはrulesを分けるために使うって認識なんだが
0206nobodyさん2011/10/31(月) 21:38:08.08ID:???
actionのIDって1ならこの処理、2ならこの処理ってswitch等で処理分けするってこと?
0207nobodyさん2011/10/31(月) 23:30:13.53ID:???
actionのidはidってなってるけど、コントローラ名だ。
0208nobodyさん2011/10/31(月) 23:55:00.29ID:???
訂正、アクション名。
0209nobodyさん2011/11/01(火) 01:10:53.88ID:???
IDは数値ってイメージがあるのは凄くわかるけど、実際は識別子だしな
文字列であっても一意に識別できる値であればID
0210nobodyさん2011/11/02(水) 00:57:20.04ID:???
>>205
なるほどー。参考にします。ありがとう。
0211nobodyさん2011/11/05(土) 01:52:25.82ID:nAFFPCR9
Yiiのコードって若干気持ち悪いな
代入で = の前後にスペース入ってなかったり
こんな感じ↓
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
0212nobodyさん2011/11/05(土) 12:19:31.90ID:???
大規模サイトはsynfony小規模はCakePHPが定番ですが
Yiiは大中小どのへんをカバーできますか?
0213nobodyさん2011/11/05(土) 12:53:50.24ID:???
自分の活動してる範疇ではそれが定番かもしれないが
0214nobodyさん2011/11/05(土) 14:20:40.80ID:???
え?そうなんですか?例えば5ページのものをわざわざsynfonyで作る企業とかあるんですか?
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:???
Yiiは中、大規模向けに設計されています
どう考えても小規模向けって感じではないです
0220nobodyさん2011/11/07(月) 18:43:39.36ID:???
まぁ大規模小規模の定義が無いから何とも言えんがな
0221nobodyさん2011/11/07(月) 20:13:52.22ID:???
ディレクトリ構成もわりと自由に変えれるから、あとは各人のスキル次第。
0222nobodyさん2011/11/07(月) 22:50:47.25ID:???
>>219
そりゃすまんこ
でも、上にあるような5ページくらいのサイトでも、コントローラのメソッドとビュー書くだけだからな
これにurlManagerとか簡単に設定して使えるから、小規模向けも作りやすいと思うんだよな
0223nobodyさん2011/11/08(火) 01:23:34.30ID:???
そもそも固定の型にはめないとUIが作れないって程ガチガチな作りじゃないから
小さいプロジェクトだろうが大きいプロジェクトだろうが、使い方さえ理解してりゃ開発は優位に進めれるよ
大規模向けーだの小規模むけーだの、そういう括りで考えること自体アホらしい
0224nobodyさん2011/11/08(火) 01:54:02.16ID:???
巨大なプロジェクトの場合は否応無にFW等環境は制限されるだろう
ここを見ている時点で中小規模の開発案件関係者であることは自明

迷い無く自分の好きなFWを選択すれば宜しい
0225nobodyさん2011/11/08(火) 09:49:01.38ID:CETMnjOe
「Yii 比較したいFW」
で検索すると、比較したブログ記事が見つかるから参考にして決めるといい
まだ海外の記事しか出にくいけどね
0226nobodyさん2011/11/08(火) 10:03:07.28ID:???
それよりやっぱりYiiの記法が違和感ありまくり
class Test
{
  private $_id=1;
}
↑"{"の前に改行入れるのは好みの問題として、
代入式のイコールの前後にスペース入れないのはYiiでしか見たことないw
お前ら違和感ない?
0227nobodyさん2011/11/08(火) 10:10:50.82ID:???
>>226
違和感あったけど
狭い画面で開発するのであれば適しているね
0228nobodyさん2011/11/08(火) 10:57:52.51ID:???
違和感あるよな
コーディング規約はひとそれぞれだからな、しょうがなす
0229nobodyさん2011/11/08(火) 11:45:46.55ID:???
ていうか最近その書き方伝染ってしまった…
0230nobodyさん2011/11/08(火) 16:35:46.18ID:???
自分もif文の波括弧なしは「あり」だと思ったので使わせてもらってます
「=」や「=>」は、やっぱりスペースがあったほうが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:???
気に食わないのがあったら、Eclipseなりのフォーマッタで整形すりゃいいだろ
自分が規約を定義できる立場なら好きに作ってコーディングすりゃいいし、
きまった規約があるなら、それにあわせた定義をつくっておきゃボタンひとつで整形終わる

スペースや改行、インデントの有無なんて、機械的に見れば同じコードなわけで
それを気になるからって、人間が手直しするのは馬鹿げてる。至極どうでもいいと思う
0233nobodyさん2011/11/08(火) 19:59:13.03ID:???
同意
逆に自分がどこをいじったか解り易くて良いんじゃね?と考えるとかw
0234nobodyさん2011/11/09(水) 16:14:04.65ID:???
>>232みたいな当たり前なこと言ったら話題がなくなるだろ!
0235nobodyさん2011/11/09(水) 20:27:48.93ID:???
かといって、ホワイトスペースvsタブだの、括弧の位置などの話題が広がっても、不毛でしかないわな
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:???
>>237
つうてもキャッシュやアクセラレータがさくっとその微々たる差さえなかったことにしてくれるからなあ

あと話題振り乙
俺はまだ遊びつつ適用性考えてる感じ
今はZFをライブラリ的に使ってる程度の業務です
フルスタック未経験なんで、Cakeより便利なのかどうかもまだよくわかってないす
0239nobodyさん2011/11/10(木) 09:46:00.60ID:???
とりあえずYiiの基本になれてきたら
アクションの再利用と、Giiのカスタマイズを勉強するといいですよ
他のPHPフレームワークでは味わえない生産性の高さにびっくりします
0240nobodyさん2011/11/10(木) 15:41:02.90ID:???
>>239
ここら辺のノウハウほしいわー
実際widgetとかをgiiで作ってる人はどんな感じで使ってるのか知りたい
example落ちてないよね?
0241nobodyさん2011/11/10(木) 15:42:26.17ID:???
あ、補足
>>240はHow toを知りたいんじゃなくて、
giiでこんなものを自動生成するとすごい便利ですよ、みたいなのが知りたい
0242nobodyさん2011/11/10(木) 17:29:15.87ID:???
俺も>>239みたいなんに興味ある
0243nobodyさん2011/11/10(木) 18:41:11.34ID:???
俺のコードを見ろー
って感じでババーンとアップしてる人とかいたら飛びついちゃうぜ!

ああなんて他力本願な考えだ
0244nobodyさん2011/11/10(木) 18:52:24.80ID:???
取り敢えずScafoldingのタイトル等は翻訳対応タグに囲まれてないので
全て対応するように書き換えてみるとか?

(というよりそうされていない理由が良く解らないが)
0245nobodyさん2011/11/10(木) 19:39:45.95ID:???
ここから適当にDLして中身見ると勉強になりますよ
ttp://www.yiiframework.com/extensions/?tag=gii
0246nobodyさん2011/11/10(木) 19:55:52.80ID:???
>>244
>Scafoldingのタイトル等は
これってどういう意味?
0247nobodyさん2011/11/11(金) 18:29:30.59ID:???
「Yiiのコードがどうであれ、自分のコーディング規約を守ればいいじゃない」
っていう人がいるけど、生成されるコードに手を加えるのが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使いにくいなーと思ったから、CListView使ってたんだけど、
実はいろいろ機能があって、gridviewの方が使いやすいということに気付きました
0251nobodyさん2011/11/12(土) 23:34:37.70ID:???
そもそもgrid, list, detail系のViewWidgetは管理画面でしか使っていない俺
0252nobodyさん2011/11/13(日) 02:28:31.69ID:???
>>251
というと、ページネーションは別のライブラリで実装を?
Yii使う意味あんまなくね?
0253nobodyさん2011/11/13(日) 04:18:18.34ID:???
入れ子のフォームをどうやったらすっきりとDBに登録出来るかなあと試行錯誤してみたら、
以下のように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:???
>>251
同じく!
管理画面系では使えるけど、表側だと使いにくい。

>>252
俺はページャーはCLinkPagerを拡張して使ってる。
意味ないなんてことはない。
基本機能は揃っててるし、それを拡張しやすい設計なのがYiiのメリットのひとつ。
0255nobodyさん2011/11/13(日) 15:54:16.56ID:???
>>253
HTMLでフォームは入れ子にできないよ?
0256nobodyさん2011/11/14(月) 01:57:36.62ID:???
>>255
すまん、指摘の意味が分からん
入れ子のフォームっていうのが曖昧だったかな

http://www.yiiframework.com/doc/guide/1.1/ja/form.builder#sec-6
ここで言ってるようにユーザ登録フォームでログイン情報とプロファイルのサブフォームに分けた場合、
>>253では、ログインタブとプロファイルタブに分けて登録するイメージ
0257nobodyさん2011/11/14(月) 02:22:51.80ID:???
nameを数種類に分けるってことだよね
0258nobodyさん2011/11/14(月) 13:01:23.01ID:???
Rails→CakePHPはスッと理解できたが、
Yiiはいろいろ独自の機構がたくさんあって覚えることが多いな
0259nobodyさん2011/11/14(月) 15:20:28.62ID:???
自分もモデルでnew Paginationして、ビューでCLinkPagerの流れです
CListViewなどは、デザインを考えると、リスクが高くて使いにくいし
やはりバックエンドで威力を発揮するかと。
あと、CListViewとCGridViewは用途が違うので、比較対照にはなりません
0260nobodyさん2011/11/14(月) 15:46:21.42ID:???
CListViewのどこにデザイン上の制約が発生するのか分からん
テンプレートで自由にデザイン出来るじゃんとか思っちゃうんだが、そんな俺に教えてくれ
0261nobodyさん2011/11/15(火) 11:32:29.44ID:???
ページ送りのボックスデザインのこと?
0262nobodyさん2011/11/15(火) 15:05:04.63ID:???
それはpager.cssをカスタマイズすれば良いと思います
自分は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:???
はい。だからわざわざ使わなくてもいい機能をfalse, false...にしなくても
CPaginationとCLinkPagerでページ作っていったほうがシンプルかなと。
結果同じ処理だったらなおさら最低限のもので組み立てたほうが無駄がなくなるような気がします
02652602011/11/15(火) 18:45:33.29ID:???
ありがとう
理解できたぜ
0266nobodyさん2011/11/21(月) 22:53:07.64ID:???
cake, yiiの次は何が良いかな?FuelPHPがおもしろそうなんだけど。
0267nobodyさん2011/11/22(火) 09:19:46.96ID:???
Yii2
0268nobodyさん2011/11/23(水) 10:48:48.93ID:???
Yii2.0っていつごろリリースされるんだろう
0269nobodyさん2011/11/23(水) 16:50:14.82ID:???
あと1年先か、それ以降でしょうね
0270nobodyさん2011/11/23(水) 19:04:05.05ID:???
1.1系も今年6月以降は音沙汰無しでしょ。
フォーラムなどは活発なのでしょうか?
0271nobodyさん2011/11/23(水) 19:31:06.27ID:???
http://www.yiiframework.com/download/
stableは全然更新されてないね
0272nobodyさん2011/11/23(水) 19:32:33.82ID:???
つーかそこ見て気付いたが、来月に2.0のα版来る予定じゃねえか
0273nobodyさん2011/11/23(水) 21:45:42.47ID:???
>>272
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:???
2,3ヶ月周期だったものが音沙汰ないってなにか理由があるのかね
0276nobodyさん2011/11/24(木) 15:30:55.29ID:???
次のバージョンが1.1.9ですし
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:???
http://www.quora.com/PHP/Codeigniter-or-Yii
みんなYiiを薦めてる。
やっぱりYiiはイイね。
0278nobodyさん2011/11/24(木) 21:40:35.76ID:???
やっぱ新しいものを最初から英語のみで学ぶのは難しいわ
チュートリアルだけでも完全に日本語化してくれないかなぁ
APIやマニュアルは英語でもいいんだけど・・・
0279nobodyさん2011/11/25(金) 00:06:19.09ID:???
>>278
よろしく頼む
0280nobodyさん2011/11/25(金) 01:35:45.19ID:???
一応ガイドは全部日本語化されてるじゃん
あれ読めばとりあえず基本は抑えれるよ
0281nobodyさん2011/11/25(金) 01:44:08.86ID:???
>>280
やっぱフレームワークの開発ってそれぞれ独自の流れがあるから、
チュートリアルって結構大事なんだよね
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ではプラグインになるのかな?
0284nobodyさん2011/11/25(金) 20:38:23.32ID:???
>>283
マイグレーション使いキター
アレ便利なの?
必要性が良く分かんないよ
0285nobodyさん2011/11/25(金) 23:08:17.72ID:???
http://www.atmarkit.co.jp/fcoding/rails/articles/rails3/03/rails303b.html
Railsでのマイグレーションの例ですが、Yiiでも意味合いは一緒かと思います
0286nobodyさん2011/11/26(土) 11:07:30.03ID:ZfCL7aO5
そもそもActiveRecordなんか使わんしな。
0287nobodyさん2011/11/26(土) 12:00:19.41ID:???
>>286
え?ajaxオプション便利じゃん
0288nobodyさん2011/11/26(土) 16:03:43.28ID:???
YiiのActiveRecordはよくできてて、便利だと思うんだが…。
生産性が全然変わってくる。
パフォーマンスが必要な特殊なSQLとか直接発行したほうがいい場合もあるだろうけど。
0289nobodyさん2011/11/26(土) 17:09:27.06ID:???
>>286
それは興味深いな
俺みたいな素人だとCActiveRecord便利すぎとか安易に思っちゃうんだけど、
どういう時に使えないとか弱点みたいなのを教えてくれると嬉しいな
こういう時は使わないほうが便利とかも
0290nobodyさん2011/11/26(土) 17:36:54.40ID:???
使える、使えないというよりも
単に今までずっとSQLをがんがん書いてきた人にとっては
わざわざActiveRecordを使う必要はないっていうだけの話だと思いますが…
0291nobodyさん2011/11/26(土) 22:15:33.95ID:???
え?O/Rマップ系を使うメリットが強烈だからSQLガンガンかける人は余計に使うはずなんだけど…
0292nobodyさん2011/11/26(土) 22:38:07.25ID:???
おっと>>290に同意しかかったが、
SQLを書いてきたかどうかなんかどうでもいいだろ。
「仕事で書く」限り、生SQLかARか外部O/Rかは大部分は
規約化するからな。その決定権が自分にあるとか、遊びと
か数ページのサンプルサイトなら自由に書いていいが。

微妙な生産性で判断したとか好みで選ぶのでない限り、
AR乗っかってるFWなら半自動的にARになるな。
Zendみたいに切り取り自由っつーなら別だけど。
0293nobodyさん2011/11/27(日) 00:05:11.13ID:???
まじで1.9自体途中から全然手付かずで更新されてないんだな
もしかしてみんな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:???
Yiiでのテストって
デモのblogやリポジトリのコアのtestsやらを見て
勉強できるんですね。知りませんでしたw
0297nobodyさん2011/11/27(日) 08:56:26.92ID:???
10年やってるけどテストなんて自動化したことないな
適当にフォームに値入れて送信するだけだわ
0298nobodyさん2011/11/27(日) 12:59:58.63ID:???
O/Rマッピングのなにが便利なのかわからん。
SQL直書きの方が早くて簡単じゃん。
0299nobodyさん2011/11/27(日) 13:14:02.28ID:???
Forum流し読みしましたけど
2.0ではバージョン管理がGit/GitHubに変わる計画なんですね
その他、PHPのバージョンは5.3以上、1系との互換性はない様子で
名前空間、無名関数がコアで頻繁に使われる、とのこと
0300nobodyさん2011/11/27(日) 14:50:00.43ID:???
>>297
俺も次のプロジェクトからテスト自動化するんだって言って数年経ってる
0301nobodyさん2011/11/27(日) 15:06:06.78ID:???
>>298
search関数書いてる時はたしかにそう感じる
でも単一データ読みだす時は記述が少ないからすげー便利と思う
0302nobodyさん2011/11/27(日) 16:05:38.20ID:???
>>300
おれもれも
割といるんだな安心した
いや安心しちゃいかんのか
0303nobodyさん2011/11/27(日) 16:09:06.03ID:???
CakePHP使ったこと有るひとに質問です。
・学ぶ上で、知っておいたほうがいいCakePHPとの主な違いはなに?
・CakePHPはページング処理がちょっと複雑なSQLを発行したい場合面倒になるんですが、
 Yiiでは問題ないですか?
0304nobodyさん2011/11/27(日) 17:02:09.23ID:???
複雑なSQLってどんなかな?
0305nobodyさん2011/11/27(日) 17:21:21.79ID:???
>>304
JOINやGROUPを多用するようなものです
0306nobodyさん2011/11/27(日) 21:36:54.60ID:???
SQLは所詮条件文でしかなくて、プログラミング言語とくらべりゃすごい簡単だけど
修正とか他人が書いたものの把握がめんどくさいってのもある
少しでもパフォーマンスをあげないといけない場面ではSQLを弄ることは重要だけど
さしてそうでもない場面まで全部SQL書いてやりくり、ってのは、
再利用性が下がる要素にこそあれ、あんまりメリットがないからなー
O/Rマッピングは楽でいいよ
0307nobodyさん2011/11/27(日) 21:49:12.25ID:???
>>297
覚える手間やテスト書く手間はかかるけど、自動化便利だよー。
テストフェーズでいつも手を抜いてるような、いい加減な人はかなり嫌がるけどw
作る手間はあるとはいえ、入出力をテストすんのが殆どだから、大して難しい内容でもないし。
作っちゃえばボタンぽんぽんでテスト終わり、結果が残せてそれ自体も成果物にもなるのは便利。

まー、結合やら納品後に単体レベルの不具合ぼろぼろ出してても、
特にお咎めなしなら、やんなくても実害はないと思うけどなー。

>>298
むしろO/Rマップの何に「時間がかかって簡単じゃない(難しい?)」かがわからないよ!
それ単に理解しようとしてないだけじゃね。
新しいことをも覚える努力放棄してたら、周りから老害だって思われる奴が生まれちゃうんだぜ?
0308nobodyさん2011/11/27(日) 22:02:59.57ID:???
>>303
例えば、
Cakeはfindで配列が返ってくる。
Yiiはオブジェクト(モデル)が返ってくる。
Cakeは規約重視。
Yiiはある程度の取り決めを推奨しているがカスタマイズ可能。
0309nobodyさん2011/11/27(日) 23:15:24.47ID:???
>>307
テストにしろO/RマップにしろYiiから出たらまた別のもの使わなきゃいけないからな。
PHPだけ使ってるわけでもないし。
まんどくせ。
0310nobodyさん2011/11/28(月) 00:16:09.87ID:???
ttp://blog.y-110.net/log/eid86.html

これ結構同感だわ。
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:???
>>310
>O/Rマッピングはその SQL を自動的に生成し, 実行します。
>一番大事な SQL が見えない部分で勝手に実行されるって, 怖くないですか?
>本当に効率のいい SQL を実行しているんでしょうか?
Yiiなら吐き出されるSQLが明確にわかるから、問題に感じたことがないな
SQLでパフォーマンス問題が発生したなら、その対策は出来るということだ
最悪、生で書いてもいい
Yiiの場合、パフォーマンスだけが問題なら対策は出来るので、使ったほうが良いという結論になる
>>309のようにSQLを直接書いたほうがやり易い奴を除いてな
大抵の初心者は、YiiにおいてO/Rマッピングの恩恵を十分に受けることが出来るだろう
0314nobodyさん2011/11/28(月) 00:46:21.17ID:???
ORM = SQLを知らなくていい

というのがそもそもの間違い。
0315nobodyさん2011/11/28(月) 00:56:12.42ID:???
SQL知らないとdbcriteria書けないもんなw
0316nobodyさん2011/11/28(月) 01:13:05.50ID:???
はなからORMを悪だと言い切ってるのがあふぉらしい。
SQLを理解してる上で使いこなせばいいだけだし。
そもそもWEBアプリでORMが使えないような複雑なSQLを頻繁に発行する必要になる設計がおかしい。
そういうのはバッチ処理でやれ。

>>314がいうように
ORMがあるからSQLは知らなくていっていう考えは間違いだと思う。
0317nobodyさん2011/11/28(月) 16:41:28.30ID:???
>>303
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:???
>GitHubでFuelPHPを検索したら本家を含め77リポジトリあった。結構いろんな方がプロジェクトがあるもんだね。
>他の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:???
そういえばYiiも2.0からバージョン管理がGit/GitHubになる予定です
0321nobodyさん2011/11/29(火) 02:33:56.91ID:???
Gitはいいよね
まあYiiの開発してない俺には関係ない話だが
0322nobodyさん2011/11/29(火) 15:09:56.38ID:???
ゴミみたいな僕がフォーラムで20回うんこみたいな発言してもいいんでしょうか
Yii2.0のフォーラムみたいです
0323nobodyさん2011/11/29(火) 17:41:16.51ID:???
10 posts de OK
0324nobodyさん2011/11/29(火) 18:18:11.77ID:???
とりあえず1回うんこレスしときました
去年から登録してるのに初投稿・・・
なんか嬉しいです
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:???
でも登録して1ヶ月くらいの発言ですからね
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は各コンポーネントなどを、それを使う直前に呼び出したりしてるのと
キャッシュがけっこう楽に設定できるので
最初から機能豊富でファイル数は多いものの、小規模でも使おうってなってきた
やっぱりYiiはすばらしい!
0328nobodyさん2011/12/11(日) 00:29:13.12ID:???
ここも移転?
0329nobodyさん2011/12/12(月) 01:38:24.21ID:???
Yiiイイ
0330nobodyさん2011/12/13(火) 11:09:31.44ID:EhkO03Ef
Yiiのテーマってそのまま使っても実用に耐えるレベル?
色々カスタマイズするようなセンスが無いのでお仕着せで使えるのがあると
ありがたいんだけど。
0331nobodyさん2011/12/13(火) 23:45:01.43ID:???
Yiiは純粋にフレームワークなので、これと言ったお仕着せは無いよ
何を作りたいのさ?みたいな
0332nobodyさん2011/12/14(水) 04:10:51.81ID:Yi5sP1AR
実用に耐えられるかは自分で判断したほうがいいですよ
ここにもテーマがいろいろあるのでどうぞ http://yiithemes.mehesz.net/
0333nobodyさん2011/12/14(水) 09:15:35.47ID:???
>>322
すげー、こんなサイトがあったんだ。
0334nobodyさん2011/12/14(水) 09:16:24.04ID:???
>>332のまちがい。
0335nobodyさん2011/12/14(水) 11:38:53.17ID:???
main.phpを弄ってるけど、最初にテーマ探したほうが効率いいのかもな
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
>>336
これって既存のサイトでも簡単に置き換え可能ですか?
0338nobodyさん2011/12/14(水) 16:30:11.49ID:???
bootstrapはthemeと同列に語れないと思うが
themeって言ったってそのまま使うわけじゃないんだし
0339nobodyさん2011/12/14(水) 20:27:43.47ID:QC3GTum8
>>338
どういう意味?
0340nobodyさん2011/12/14(水) 21:24:27.82ID:???
>>339
2行目ちょっとよく分かんなかったなすまん
themeとbootstrap一緒に入れても言いじゃんみたいなことが言いたかった
0341nobodyさん2011/12/14(水) 23:49:14.08ID:???
既存のサイトをYiiで作っていて
かつだいたいの機能をwidgetで作っていれば置き換えは難しくないと思います
0342nobodyさん2011/12/19(月) 00:39:39.76ID:u4JenLAI
例えばGoogleカレンダーみたいなWebサイトを作るのはすごく大変そうだけど
そこにYiiを使ったりすると楽できるの? そういうのとはぜんぜん違う?
0343nobodyさん2011/12/19(月) 03:30:03.93ID:???
他のFrameworkを使うよりは楽にできることが多いんじゃないかな
作るものの仕様にもよるが
0344nobodyさん2011/12/19(月) 10:41:13.42ID:???
yiiにカレンダーエクステンションがあるから簡単に出来るっちゃ出来るよなw
0345nobodyさん2011/12/19(月) 18:46:53.71ID:???
fuelphpに期待して少し触ってみたけど、まだまだこれからって感じだった。
やっぱりyiiのが素敵。yiiもデフォルトでbootstrap使ってほしいなぁ。
0346nobodyさん2011/12/19(月) 19:03:23.04ID:???
>>345
それなかなか良さそうだね
注目していこうっと
0347nobodyさん2011/12/20(火) 13:10:18.85ID:x9zvuHrA
Yiiのチュートリアルにそって進めてたら、Firebirdではgiiが使えなかった(´;ω;`)
giiなしでYiiを使うメリットは果たしてあるんだろうか…。
0348nobodyさん2011/12/20(火) 15:59:21.33ID:???
firebirdって混ざってない?
0349nobodyさん2011/12/20(火) 16:41:13.56ID:???
Firebird使ったことがないのでなんとも言えませんが、yiiのforumで質問してみては?
03503472011/12/21(水) 08:43:36.70ID:H1kuP/Nw
framework/db/schema以下にあるデータベースしか対応してないのね。
残念。そこまでマイナーでもないと思うんだけどなあ…。
0351nobodyさん2011/12/21(水) 09:50:26.08ID:???
いや、普通に考えてかなりマイナーだろ。。
0352nobodyさん2011/12/21(水) 10:21:36.62ID:???
>>351
いや日本ではマイナーだけど、海外では結構使われてるよ。
…なぜかロシアとかブラジルとかでやたら使われてる。

あんな使いやすいDBMSもないんだけどなあ。
0353nobodyさん2011/12/21(水) 10:34:19.80ID:???
エクステンション出たりしてるから探してみたら?
0354nobodyさん2011/12/21(水) 16:13:39.30ID:???
>>352
どんな利点があるのか教えて欲しいな
スレ違いになるからあまりこの話題出来ないけど
0355nobodyさん2011/12/21(水) 16:25:50.72ID:???
Firebirdの件ですが、このへんのページに添付されているファイルをDLして一度試してみてはどうですか?
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:???
CakePHPが2.0になって結構進化したみたいだけど、
Yiiと比べてどうなの?
0357nobodyさん2011/12/21(水) 18:18:35.19ID:???
たいして変わってないやん。
0358nobodyさん2011/12/21(水) 23:16:25.16ID:???
>>354
主に>>352の理由がすべて。

スタンドアローンとして、SQLiteのようにRDBMSを組み込みで使えるのも利点かな。
日本ではあまり流行ってないだけ。
0359nobodyさん2011/12/25(日) 10:48:38.28ID:???
これから新規で立ち上げるなら、Yiiとlithiumどっちがいいかな?
0360nobodyさん2011/12/25(日) 12:35:45.37ID:???
Lithiumの正規リリースはいつなんだろう?
0361nobodyさん2011/12/25(日) 13:25:36.01ID:???
Lithium使うならCakePHPで良いじゃんって思ってしまい
CakePHP使うならYiiで良いじゃんって思ってしまう
0362nobodyさん2011/12/25(日) 15:55:33.99ID:???
すでに名前空間バリバリ使ってるFWって、
ZendとSymfonyくらい?
0363nobodyさん2011/12/25(日) 15:58:50.23ID:???
>>361
それならSymfonyで、
Railsで、
Djangoで・・・

ってなりそう。

PHPでってなると、CakeかYiiあたりがちょうどいいのかも。
Silexは気になるが・・・
0364nobodyさん2011/12/25(日) 16:03:26.36ID:???
RailsってPHPのフレームワーク的にはどれに当てはまりますか?
0365nobodyさん2011/12/25(日) 18:23:27.97ID:???
Yii
0366nobodyさん2011/12/26(月) 00:22:32.77ID:D998BOvR
大規模システムに向くPHP FrameWorkはYii?

むしろ、cakeとかだと大規模システムには向かない?
0367nobodyさん2011/12/26(月) 00:33:42.77ID:???
別に何でもいいんじゃないかな?
どんな大規模かは知らないけど

フレームワーク変えたって
組み立てるのは自分で
段違いにエレガントな設計になぞならんわけだし
0368nobodyさん2011/12/26(月) 02:08:36.87ID:???
Yiiが良い
0369nobodyさん2011/12/26(月) 10:48:05.95ID:???
>>366
大規模ならsymfony
0370nobodyさん2011/12/26(月) 11:39:19.28ID:???
大規模システムの設計する上で、yiiにはないsymfonyの機能ってなんなの?
symfony触ったこと無いから知りたい
まあ俺が大規模向けの開発することは無いと思うが
0371nobodyさん2011/12/26(月) 13:44:03.39ID:???
CDbHttpSessionって毎回必ずタイムアウトしたセッションを削除するようにしてるけど、これって性能悪くないの?
0372nobodyさん2011/12/26(月) 14:00:59.26ID:???
「大規模ならsymfony」という考えは
yiiを触った後では、覆ること間違いなし、でござる

たしかにrailsやdjangoと比べると劣るところはあるかもしれないが
php frameworkの中では間違いなく一番良い
でもそれはyiiがすばらしすぎるというよりも、むしろその他がたいして良くないってことだけど
0373nobodyさん2011/12/26(月) 14:02:50.10ID:???
小規模なら?
0374nobodyさん2011/12/26(月) 14:03:24.26ID:???
小規模でもyii使いますねー
0375nobodyさん2011/12/26(月) 14:34:46.59ID:???
分からなくなったときに質問できるフォーラムがないときつい
0376nobodyさん2011/12/26(月) 15:30:32.28ID:???
ここもあるし、yiiのフォーラムもあるし・・
0377nobodyさん2011/12/26(月) 17:00:37.78ID:???
yiiで作られたサイト一覧ってありませんか?
0378nobodyさん2011/12/26(月) 17:06:09.68ID:???
>>377
本家にリストが少し無かったっけかな?
見ても仕方がないとは思うけど
0379nobodyさん2011/12/26(月) 17:08:17.93ID:???
>>354
世界規模で見ると利用規模はMySQLとほぼ同じ
商用フリー
ロストアップデートが起こらない
メンテナンスいらず
チューニングいらず
頑丈
スタンドアロンの組み込み向けもある
0380nobodyさん2011/12/26(月) 18:12:17.89ID:???
ありますよ、ちょっと待って下さいね

これです
http://yii.poweredsites.org/
0381nobodyさん2011/12/26(月) 18:51:11.93ID:???
arigatou
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:???
トップページの一番上のdemosリンクの横にguideってのがあります
それクリックして、左上のLANGUAGE & VERSIONのドロップダウンから「日本語」を選択すればいけますよ
もしくは Docoumentation > tutorials > The Definitive Guide to Yii > 「日本語」でも同じです
0384nobodyさん2011/12/26(月) 20:52:42.87ID:???
>>383さん。あなたは神様です
ずっと黒いボタンのほうから探しててそこに気づきませんでした
ありがとうございます
0385nobodyさん2011/12/26(月) 22:07:10.29ID:???
windowsでコマンドプロンプトから
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:???
なんかわかりませんがCreate a Web application under〜という文章がでないでいきなり入力を求められているようでした
最初の文章はでなくてもyesとうったら作成されたので一応解決しました
0387nobodyさん2011/12/26(月) 22:55:59.85ID:???
冬休みの自由研究でYiiが利用されているのは解った
0388nobodyさん2011/12/26(月) 23:14:12.32ID:???
Yiiってあれですね
Zend Frameworkに似てる感じですね
0389nobodyさん2011/12/27(火) 00:19:40.72ID:???
ググっても日本語情報少なすぎてキツイ
0390nobodyさん2011/12/27(火) 01:06:57.62ID:???
情報が少ないからコピペerとかにはつらいと思うな
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:???
モデルTest.phpの変数$strをコントローラから表示させたいのですが
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行コメントアウトしてもエラー出るんじゃねえの
03953952011/12/27(火) 10:38:37.00ID:???
原因わかりません
すいませんファイルあげたのでみてもらえませんか?
http://www1.axfc.net/uploader/Sc/so/304365.zip
コードはframeworkフォルダがトップのindex.phpと同じ位置にあるものとして書いてます
03963952011/12/27(火) 14:20:13.96ID:???
複数のレンタルサーバとかでうpしても同じエラーだったので環境の問題ではなさそうです
ここでつまずくと後々キツイのでやっぱYiiは選択肢からはずします
0397nobodyさん2011/12/27(火) 15:07:17.51ID:???
モデルのプロパティをコントローラでechoしたいだけなら
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
03983952011/12/27(火) 15:14:06.09ID:???
>>397
師匠がいうなら・・・俺また粘って見ます
0399nobodyさん2011/12/27(火) 15:18:26.04ID:???
tableNameメソッドはCActiveRecordクラスではget_class($this)とやっているので
モデルクラスとデーブル名が一致しない場合のみで、いいかもしれないですね。失礼しました。
04003952011/12/27(火) 16:30:18.42ID:???
おかげさまで出来ました
ただパスを修正したらエラーになるのが原因がよくわかりません
サーバを再起動するとエラーが消えます
Yiiに必要なapcやmemcacheの影響でこうなるのでしょうかね
よくわかりませんがこのへんを気をつけて学びたいと思います
0401nobodyさん2011/12/27(火) 16:42:02.52ID:???
PATHってphp.iniとかで設定してあんのかね?
0402nobodyさん2011/12/27(火) 16:43:28.83ID:???
パスを修正したらエラーになるってのは、具体的にどういうことですか?
あとyiiはapcなどが必須ではなく、「利用できる」だけですので、使わなくても特に問題ありません
04033952011/12/27(火) 16:50:11.11ID:???
昨日からYiiをはじめたばかりでドキュメントを読み飛ばしてるかもしれませんがphp.iniのパスというのは何かしないとだめですか?
たとえば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だから起きてる問題ってわけじゃないしなぁ

エラーをはいた処理が読もうとしたパス文字列と、実際に参照したい対象のフルパス
両方を取得して比較してみりゃいいだけの話だと思うけれど
それに問題がなければ権限じゃね
04053952011/12/27(火) 19:15:18.13ID:???
linuxサーバでlolipopとさくらの鯖と自宅のWindowsで同じ症状なので権限の問題ではないと思います
相対パスは合ってますしパスが絶対パスでも症状は同じになります
はやり日本語情報が少ないので日本で流行ってない状況での初心者の使用は控えるべきかもしれませんね
0406nobodyさん2011/12/27(火) 19:19:07.53ID:???
そうだね
使える人だけが使って楽出来ればいいのさ
0407nobodyさん2011/12/27(火) 19:42:24.58ID:???
config/main.phpのbasePathの値ですが
'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
で良い気がしますが、どうですか?一応これはデフォルトの値です

あと、Yiiを触りたてなら
まずドキュメントルートにframework, protectedを設置して
一つずつ、置き場所を変えるなり、設定を変えるなりして、やっていったほうがいいかもしれないですね
順々にやっていくと、どこでエラーが出るのか把握できますし
0408nobodyさん2011/12/28(水) 16:42:40.02ID:???
modelのファイル名が違うんじゃないの?
大文字小文字が間違ってるとかさ
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:???
初心者を見下したり、自分が地球の中心にいると思ってる奴なんてどこにでもいるさ
0413nobodyさん2011/12/28(水) 20:18:35.44ID:???
>>411
ものすごくスレ違いだけど盛り下がるって言葉使う奴ってゆとりか韓国人だな
0414nobodyさん2011/12/28(水) 23:27:49.82ID:???
>>411じゃないけど、俺韓国人かも・・・
0415nobodyさん2011/12/28(水) 23:54:45.28ID:???
韓流ブームだしモテて丁度良いんじゃねぇかな?
0416nobodyさん2011/12/29(木) 00:08:59.59ID:???
yii関連以外の話は控えてください。初心者より程度が低く見えるので。
0417nobodyさん2011/12/29(木) 10:37:55.51ID:???
controllerの$this->render("テンプレート名",array("title"=>"ページタイトル"));
としたときに
views/layouts/main.php内に<?php echo $title;?>と書いても表示できなくて
views/site/index.php内に<?php echo $title;?>と書いたら表示できました
layoutsないのテンプレートに表示させるにはどのように書くのでしょうか?
0418nobodyさん2011/12/29(木) 13:18:16.60ID:???
>>403
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:???
>>421
大丈夫ですか?
全然そんなことないですよ。むしろどんどん発言していってください

今年中には1,1.9リリースしなさそうですねー
1.2や2.0もどんなものになるのか楽しみです!良いお年を。
0423nobodyさん2011/12/30(金) 00:47:39.93ID:???
お、遂に1.1.9出るのか
0424nobodyさん2011/12/30(金) 14:05:49.06ID:???
CakePHPで作ったサービスをYiiに載せ替えるとしたら、どの程度の手間がかかるだろうか
0425nobodyさん2011/12/30(金) 17:27:38.61ID:???
1から作り直しじゃね
0426nobodyさん2012/01/01(日) 21:08:25.48ID:???
1.1.9きたよ
0427nobodyさん2012/01/01(日) 21:11:26.58ID:iI9nxYID
どうでもいいけど
英語の分からない奴にコードを欠かすな。

変な変数名・関数名を付けてむっちゃくちゃ。
0428nobodyさん2012/01/01(日) 21:13:43.14ID:???
$rinngo = "りんご";
$ichijikangotonijikkousurunaiyou = time();
0429 【大吉】 【1822円】 2012/01/01(日) 21:54:00.74ID:???
せめてキャメルしる('A`)
0430nobodyさん2012/01/02(月) 00:05:34.96ID:???
実際のテンポラリ以外にtempとかhogeとか使ってしまったら負けだと思ってる
あれここなんのスレ?
0431nobodyさん2012/01/02(月) 00:17:33.88ID:???
1.1.9来たのか
それはあけおめの予感・・・!
0432nobodyさん2012/01/02(月) 01:26:16.76ID:EvQxdFqr
>>428
まさにそれに近い感じ。

付け焼刃の英語で日本語を翻訳して並べてる
だけだから無茶苦茶。

スパゲッティーコードの出来る原因は
英語の出来ないカスがコーディングするからだと確認したよ。


恥を知れ。お前とお前。
0433nobodyさん2012/01/02(月) 02:11:26.06ID:???
>>432
それって1.1.9関係ある話?
>>427のコンテクストが分からん
0434nobodyさん2012/01/02(月) 10:30:41.30ID:???
で、次のバージョンは1.2なの?それとも2.0か?どうせリリースに時間かけるならPHP5.4専用にして最新最強のフレームワークにしてほしいわ。
0435nobodyさん2012/01/02(月) 10:30:48.26ID:EvQxdFqr
英語が出来ない癖して
Yiiを使うな。という話さ。
0436nobodyさん2012/01/02(月) 10:47:02.86ID:???
>>434
簡単に言ってるけどPHP5.4を使いこなせるの?
0437nobodyさん2012/01/02(月) 11:09:13.91ID:???
まだ正式板が出てないモノを使いこなすもなにもないだろがw

0438nobodyさん2012/01/02(月) 11:47:15.83ID:EvQxdFqr
車のメカニズムを作れる人は頭が良いですが

鍵を差して運転する事しか出来ない人は馬鹿です。
0439nobodyさん2012/01/02(月) 12:52:13.15ID:???
次は1.2でしょうね
それと平行して2.0を開発している雰囲気
あと2.0はPHP5.3以降になる予定だそうです
1.1.9はリレーション周りの強化が主で、これといった新しい機能はありませんでしたねぇ
0440nobodyさん2012/01/02(月) 13:34:18.36ID:???
そこでまさかの1.1.10ですよ
0441nobodyさん2012/01/02(月) 14:05:39.75ID:???
いや、まさかというか次は1.1.10でしょうね、すみません
0442nobodyさん2012/01/02(月) 15:34:42.08ID:???
http://code.google.com/p/yii/source/diff?spec=svn3528&r=3528&format=side&path=/trunk/UPGRADE
0443nobodyさん2012/01/02(月) 23:01:43.96ID:4fhe3V6D
YiiってRESTfulなWEB APIサーバの開発もサポートしてる?
0444nobodyさん2012/01/02(月) 23:30:16.91ID:???
してる
詳しくはマニュアル
0445nobodyさん2012/01/04(水) 17:50:03.95ID:???
Yiiの関連付け(リレーショナル・アソシエーション)ってどんな感じ?
保存するとき、フォームからの値から関連したDBに自動で格納してくれたりする?
0446nobodyさん2012/01/05(木) 02:09:13.94ID:???
してくれる
詳しくはマニュアル
0447nobodyさん2012/01/05(木) 14:53:06.86ID:???
>>445
これですかね?
http://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect-data-for-two-or-more-models/
0448nobodyさん2012/01/05(木) 14:59:56.07ID:???
>>447
それだと”自動”ってことにはならないね
0449nobodyさん2012/01/05(木) 15:05:44.58ID:???
自動のやり方ってYiiにあります?
0450nobodyさん2012/01/05(木) 15:49:18.16ID:???
自動ってどこまで自動?
他のフレームワークの例はあるの?
0451nobodyさん2012/01/05(木) 15:50:42.39ID:???
下手に自動過ぎると使いづらいから、Yiiのattributesは使いやすくて好きだけどね。
0452nobodyさん2012/01/05(木) 15:57:33.66ID:???
CakePHPだとModel::saveAll()でできたりするんですけど
自分も自動よりYiiのWikiに載ってる感じで、分けて保存するほうが扱いやすいですね
0453nobodyさん2012/01/05(木) 18:50:18.06ID:???
都道府県テーブルにPK:1〜48(北海道〜沖縄・その他含む)まで入っていて、

<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:???
public function getOptions()
{
$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:???
Prefectureという都道府県テーブル(id,name)がある前提で、モデルに>>456-457を記述

ビューで
<?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:???
Yiiオフィシャルの日本のフォーラムです
http://www.yiiframework.com/forum/index.php?/forum/21-japanese/
0463nobodyさん2012/01/06(金) 15:14:12.79ID:???
あーでも今現在Yiiのサイト、アクセスしにくいみたいですので、あしからず。
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:???
やべえYii楽しいわ
CakePHPより思想が洗練されてる
初めてRails触ったときの楽しさ
0471nobodyさん2012/01/07(土) 16:30:58.27ID:???
coffeescriptは正式に対応しないのかな
触ったこと無いから詳しくないけど、流行りらしいじゃん?
0472nobodyさん2012/01/07(土) 18:22:52.36ID:???
>>470
仲間が増えて嬉しい。
0473nobodyさん2012/01/08(日) 00:51:56.66ID:???
うん、うん
なんか楽しいよね!
ソースを眺めて回るのも、背中の数字が上がって良い感じ
0474nobodyさん2012/01/08(日) 14:31:22.46ID:???
>>458
ってかよく都道府県ってテーブルに入れてるけど、
別に内容変わらないし、データも少ないからDBに入れておく必要なくね?
都道府県データの配列持ったモデル作ったらよくね?
0475nobodyさん2012/01/08(日) 16:48:37.12ID:???
それじゃ大阪府が大阪都になったとき対応できない
0476nobodyさん2012/01/08(日) 17:15:03.74ID:???
あー、そういえばタイムリーにそういう話題もありますね。
0477nobodyさん2012/01/08(日) 17:35:37.67ID:???
>>475
配列の値変えるだけじゃん
0478nobodyさん2012/01/08(日) 17:44:44.48ID:???
CMSでユーザに変更されること想定かな?
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:???
以下はCController::renderPartial()の第3,4引数を使った何かを説明していると思うんですが
どういうことを説明しているか、わかる方おられますか?
http://www.yiiframework.com/doc/api/1.1/CController#c2596
0482nobodyさん2012/01/08(日) 19:26:27.57ID:???
>>480
>>456-458見てあげろよ可哀想だろ
0483nobodyさん2012/01/08(日) 20:16:26.33ID:???
>>456-458
九州地方は46までで、47のみその他に修正して、完全に動作しました。ありがとうございます


0484nobodyさん2012/01/08(日) 20:42:11.41ID:???
nice tips !
0485nobodyさん2012/01/09(月) 00:01:41.81ID:???
あらかじめgroupカラムも作っておくと無駄なコード書かなくてもいいですよね?
モデルの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を使うこともなかった
0490nobodyさん2012/01/09(月) 14:57:48.85ID:???
>>487
海外や世界のYiiユーザーの考えを知りたいんだけど、
どういう英語で検索したらいいんだろ
0491nobodyさん2012/01/09(月) 15:14:59.76ID:???
>>490
yii, state, city, area
0492nobodyさん2012/01/09(月) 15:51:19.81ID:???
>>491
やる気出せ
0493nobodyさん2012/01/09(月) 16:22:04.10ID:???
>>492
これ以上英語の能力がありません
0494nobodyさん2012/01/09(月) 19:16:12.89ID:???
>>487
そのレベルで最適化が必要になるならすでにPHPの適用範囲じゃないと思う。
0495nobodyさん2012/01/09(月) 19:59:48.34ID:???
>>494
どういう意味だ?
Webアプリのボトルネックは大抵DBへのアクセスだから、
そのアクセスを減らす意味でかなり有用だと思うjけど
0496nobodyさん2012/01/09(月) 21:51:40.82ID:???
>>495
そんなことしてPHPに定数持たせるくらいなら、JAVA辺りで組んだサービスで
起動時にデータベースから読んだ値をオンメモリで格納しておく方が
理にかなってるってこと。
0497nobodyさん2012/01/09(月) 21:59:39.65ID:???
>>496
違う違う
スケールアウトの問題だよ
RDBMSはスケールアウトしにくいだろ
JAVAとPHPの比較するような事柄じゃない
0498nobodyさん2012/01/09(月) 22:00:08.28ID:???
>>497
何も違わない。
書いてある意味わからんなら無理するな。
0499nobodyさん2012/01/09(月) 22:03:31.07ID:???
返答はや

え、トンチンカンなこと言ってるのかな
逆にJAVAを引き合いに出した先の話がオンメモリに格納とか、JAVA関係ねえじゃんって感じたんだが
知識あると自負しておられるようなので、出来ればご高説承りたいですね
0500nobodyさん2012/01/09(月) 22:10:38.39ID:???
>>499
だからJAVA辺りでって書いてあるじゃん。
PHPでやるならmemcachedなんかを使うほうが理にかなってる。
データベースにあるべきと設計した項目をパフォーマンスを理由にコードに
埋め込むなんてのは最悪の下策。
0501nobodyさん2012/01/09(月) 22:22:19.11ID:???
うーん、最悪の下策とか言うけど、システムの開発、運用なんて千差万別なのに、ケースバイケースとしか言いようがないと思うんだが
そもそも>>494は設計思想の話全然出てないじゃん
レコード読み出しでデータベースの性能問題が出るなら、他の言語使えって言ってるようにしか見えないよねえ
でも他の言語持ち出す意味もよく分からないし、偉そうなこと言った割には主張に一貫性がないように見えるけど大丈夫ですか?

0502nobodyさん2012/01/09(月) 22:25:55.01ID:???
>>501
好きにしたら?
どーでもいいよ。
0503nobodyさん2012/01/09(月) 22:32:58.81ID:???
意見に対して論拠のある反論がなかったり、スルーされて会話拒否されたことは、きっと俺の皮肉的な言い方と無知が原因だったのだろう
反省です
0504nobodyさん2012/01/09(月) 22:38:27.79ID:???
>>503
そう、全部お前の無知が悪い。
何も矛盾してないし、レスの内容も首尾一貫してる。
0505nobodyさん2012/01/09(月) 23:06:36.79ID:???
Javaでやれって書くとPHPerが脊髄反応するの分かってるんだから、最初からmemcachedって書けばいいのに。(´・_・`)
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:???
話伸ばしてしまいますが性別って型どうしてます?
0509nobodyさん2012/01/10(火) 00:06:02.68ID:???
>>508
Yiiと関係ないじゃん
0510nobodyさん2012/01/10(火) 00:18:02.04ID:???
small int
3値あれば十分でしょ。
0511nobodyさん2012/01/10(火) 00:30:52.59ID:???
509さんすみません。ただtinyint(1)にして
afterFindで0は'男性'、1は'女性'とかに置き換えるってのは無駄なのなんなのか、よくわからなくなって・・
0512nobodyさん2012/01/10(火) 01:30:05.92ID:???
答えは既に出てる内容だけど、Yiiと関係ない話題はもっと適したスレがあるのでそちらでどうぞ
0513nobodyさん2012/01/10(火) 10:54:41.66ID:???
>>481をわかる方おられますか?
0514nobodyさん2012/01/10(火) 15:52:48.64ID:???
mysqlのインメモリモード(heap table)を
memcachedの代わりに使うケースって少ないね。
0515nobodyさん2012/01/10(火) 16:08:23.68ID:???
上はrenderPartialの結果を返り値として文字列で受け取れる
下はrenderPartialの出力が画面表示になる
0516nobodyさん2012/01/10(火) 16:34:35.09ID:???
>>515
試してみてなんとなくわかりました。ありがとうございます。
ただ、どういった用途で使うかが見えてきません。

例えば、結果を返り値として文字列で受け取る場合などは
メールのテンプレートなどに利用できそうですが・・
出力が画面表示になる場合は、普通に$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:???
すみません。$this->renderPartial('dummy', null, false, true);のやつ
0520nobodyさん2012/01/10(火) 21:54:26.20ID:???
$hoge=$this->render('dummy', null, false, ture);
print_r($hoge);

ということじゃねーの?
0521nobodyさん2012/01/10(火) 23:32:07.77ID:???
レンダリング結果を戻り値として受け取っめどうすんの?ってこと?
0522nobodyさん2012/01/10(火) 23:34:37.35ID:???
>>516
APIリファレンスを見ると、4つめをtrueにするとprocessOutputで後処理されるって書いてる。
で、processOutputを見ると、scriptタグを挿入したり、hiddenフィールドに値を埋め込んだりするみたい。
だから、たぶんrenderPartial単体を画面表示したいときに使うんじゃないかな。
0523nobodyさん2012/01/11(水) 14:12:56.17ID:???
それrenderPartial呼ぶだけでいいからな

結果受け取ってどうすんのって事例は、CControllerのrenderの中身見ればいい
main.phpにcontent引数として渡して描画してるだろ
0524nobodyさん2012/01/11(水) 15:24:04.56ID:???
確かにCController::render()の中身を見れば
どんな具合で処理が流れていっているのかわかりますね
いやぁしかしYiiのAPIはすばらしく見やすい
0525nobodyさん2012/01/12(木) 08:42:21.68ID:???
PHP 5.3.9でました
0526nobodyさん2012/01/12(木) 13:00:12.98ID:???
ヒーコワイ
0527nobodyさん2012/01/12(木) 13:40:47.87ID:???
>>525
他でやってくれ
0528nobodyさん2012/01/12(木) 15:00:38.30ID:???
>>527
潔癖すぎワロスwww
0529nobodyさん2012/01/12(木) 15:48:04.55ID:???
別にいいだろそれぐらい
0530nobodyさん2012/01/12(木) 16:45:04.41ID:???
MVCってユニットテストために
ユニットテストを難しくする汚染要素を隔離するためにあるのでは?

具体的に言うとこんな感じ。
View(GUI, xml, html, json)
Controller(Session, Request, Form, 画面遷移などWeb独自のデータ)
Model(RDB, KVS)

MとCが分離されることでMはWebスコープから分離され、CはSQLから分離される。
でもこの理屈だとVとCの関係がおかしくなっちゃうね。
CがVにデータを渡すときはリクエストスコープを経由しないで
直に関数の引数で整数や文字列、オブジェクトを渡すべきって話になるから。
0531nobodyさん2012/01/12(木) 16:49:01.92ID:???
>>530
いきなり何言ってんですかあんた
0532nobodyさん2012/01/12(木) 16:57:08.24ID:???
>>528
MySQL 5.6でました

>>529
MySQL 5.6でました
0533nobodyさん2012/01/12(木) 17:04:39.65ID:???
>>532
半年以上前だが?
0534nobodyさん2012/01/12(木) 17:14:16.93ID:???
>>532
陰険
0535530 2012/01/12(木) 17:15:53.28ID:???
>>531
ごめん、誤爆した。
こっちで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:???
フォームのlegend吐き出す機能ってActiveナントカにないんだな
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:???
一つのアクションを作って、一つのGETパラメータで処理を振り分けるのじゃ駄目かい?
0542nobodyさん2012/01/14(土) 00:05:26.00ID:???
これで作ったchiveってやついいな。
日本語化コミットしようぜ
0543nobodyさん2012/01/14(土) 10:02:07.26ID:???
また本家サイトがダウンしているでござるの巻
0544nobodyさん2012/01/14(土) 10:25:45.65ID:???
>>540
urlManagerルーターのaliasでも手間?
'something/<alias>'=>'something/rawdraw'
Class SomethingController ....
{
public function actionRawdraw($alias) {
echo $alias;
}
}

http://foo.org/something/bar.php
0545nobodyさん2012/01/14(土) 12:51:27.52ID:???
>>540
おそらくコンソールアプリにしたいって事なんじゃないかな?
0546nobodyさん2012/01/14(土) 13:29:40.66ID:???
>>540
頭の悪い俺には、何がしたいのかよく分からない。
05475402012/01/14(土) 13:45:28.31ID:???
>>541,544
GETで表示ファイルを振り分けてみたいと思います。
ありがとうございます。
05485402012/01/14(土) 13:47:58.63ID:???
>>546
Yiiの認証システムを経由して
Yiiと関係のない普通のPHPソースを実行したかったのです。
0549nobodyさん2012/01/14(土) 21:04:16.08ID:???
Post::model->methodName();
ってどういう仕組なの?
スタティックじゃないメソッドをスタティックで呼べるって強すぎない?
0550nobodyさん2012/01/14(土) 21:57:37.93ID:???
call_use_func使ってるだけやん。全然珍しくもない。
0551nobodyさん2012/01/14(土) 21:59:13.89ID:???
おっとタイポ
call_user_func
0552nobodyさん2012/01/14(土) 22:57:03.24ID:???
スタティックじゃない関数なのに、newしなくても使えるもんなんだ
0553nobodyさん2012/01/14(土) 23:07:12.19ID:???
そんな時 $this って何の参照になるんだ?
0554nobodyさん2012/01/14(土) 23:32:36.39ID:???
modelメソッドの中でnewしてるよ。
0555nobodyさん2012/01/14(土) 23:51:33.45ID:???
ガベージコレクションが成せる技だな
0556nobodyさん2012/01/15(日) 23:03:55.87ID:???
Yiiはソース見ないとダメよ。
見ると勉強になるし、アプリの作り方がわかる。
0557nobodyさん2012/01/16(月) 09:17:46.97ID:???
>>549
この書き方だとmodelメソッドじゃなくて定数じゃん。
うごかねぇよこんな書き方
0558nobodyさん2012/01/16(月) 14:23:18.23ID:???
>>557
typoだろw
0559nobodyさん2012/01/16(月) 19:07:06.31ID:???
>>549
これただのファクトリーパターンじゃん。
一体何が強いの?ねぇ
0560nobodyさん2012/01/16(月) 19:39:01.84ID:???
もういいからお前。帰れよ。
0561nobodyさん2012/01/16(月) 19:41:57.11ID:???
間抜けな質問しちゃったからって恥ずかしがって興奮するなよ
0562nobodyさん2012/01/16(月) 22:29:25.13ID:???
なんだこいつはw
0563nobodyさん2012/01/17(火) 14:35:07.52ID:???
なんでみんなこう攻撃的になるかなぁ…
勉強になってよかったね、で済む話じゃん
0564nobodyさん2012/01/17(火) 14:57:56.05ID:???
>>563
専門板はキチガイ多いからな
四六時中イライラしてるやつばっか
0565nobodyさん2012/01/17(火) 17:42:50.26ID:???
可哀想な>>549
これじゃあ過疎るわw
0566nobodyさん2012/01/17(火) 18:16:13.97ID:???
過疎ってたから皆どっかに行っちゃった結果じゃないかね
まったり行きましょう
0567nobodyさん2012/01/17(火) 18:19:37.28ID:???
556までは普通の流れなのになあ
0568nobodyさん2012/01/17(火) 20:22:32.21ID:???
>>563
ほんとそう思う。
こんなとこで粋がっても何もならないのにな・・・
0569nobodyさん2012/01/17(火) 20:24:19.40ID:???
もういいじゃないか。
正直俺は>>549の答えは解らなかったよ。
プログラムって謎だらけだ。
0570nobodyさん2012/01/17(火) 20:51:23.14ID:???
↑この人はまるでガソリンのようだ
0571nobodyさん2012/01/17(火) 21:41:54.74ID:???
>>567
だな戦犯は>>557ということでこの件は終わりにしよう
0572nobodyさん2012/01/19(木) 00:28:06.83ID:???
MANY_MANYで取得した複数のレコードを
checkBoxListで表示(該当部分をチェック)させるのってどうやってやるんだ・・・3日間かかったが挫折した
0573nobodyさん2012/01/19(木) 00:50:32.42ID:???
HAS_MANYだとできて、MANY_MANYだとできないってこと?
0574nobodyさん2012/01/19(木) 01:10:41.70ID:???
>>573
いやHAS_MANYも試してないけど、多分できない気がする
オブジェクト→checkBoxListに渡す配列への変換を自動でしてくれないんだな
フレームワークなのにこういう重要な部分を手動でしてくれないのかな?
0575nobodyさん2012/01/19(木) 01:14:25.50ID:???
>>574
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を別々に管理する
他にもいろいろ方法あるかな

俺はとりあえず前者で作ってるんだけど、
バグで脆弱性作っちゃったり、セキュリティを考えると後者のほうが良い感じだけど、
同じ処理を持たなきゃいけなかったり無駄が多そうだよね
05795722012/01/22(日) 00:44:52.66ID:???
>>575-577
ありがとうございます。
やりたいことは、
投稿に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
http://www.yiiframework.com/forum/index.php?/topic/20320-working-with-a-checkbox-list/page__p__99443__hl__checkbox+multiple#entry99443
用途は違うけど、これがたぶん君が言っている自動化に近いと思う

// 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:???
>>580
おつ
MANY_MANYの保存は2つ目のURLのエクステンションでいけるね
アップデートのときにcheckBoxListをcheckedさせるには1つ目のURLにヒントがあった
0582nobodyさん2012/01/23(月) 19:13:13.51ID:g71C+axW
他のフレームワークが持ってて、Yiiが持ってない機能ってなにかある?
0583nobodyさん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+W52
Yiiが早いのかAPCが早いのか分からんが、まじでrender早いな
WEBサーバーの処理800msのうち10ms〜20msくらいでrender出来ちゃう
0586nobodyさん2012/01/25(水) 13:51:38.28ID:???
DAOしか使わない。
ARとかどこで使うんだあれ。
0587nobodyさん2012/01/25(水) 13:53:45.77ID:???
URLからindex.php消すために.htaccessを設置しているんですが、
ローカルではうまくいくのに、さくらインターネットにアップロードすると
トップページは表示されるものの、コントローラなどが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:???
>>587さんと全く同じことではまったことがあります
その時はもうindex.phpありでいいやで妥協しましたが
これ何が原因なんでしょうかね。Apacheのバージョン?
0589nobodyさん2012/01/25(水) 19:25:30.26ID:YwP4y9rd
>>587
Yii全く関係ないじゃん
0590nobodyさん2012/01/25(水) 19:49:43.53ID:???
ちょっとでも調べてれば、Apacheのバージョンとか、トンチンカンな考えはしないはず。
0591nobodyさん2012/01/25(水) 20:02:54.58ID:???
共用サーバだと変更する必要があるってばっちゃが言ってた。
0592nobodyさん2012/01/25(水) 20:35:04.64ID:???
AllowOverride だな
スペル怪しいけどw
05935872012/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さん以外にもレンタルサーバーで利用している方いそうですけど、
どうやって解決しているんでしょうかね・・・
05945872012/01/25(水) 22:01:16.56ID:???
>>592
AllowOverrideは大丈夫でした
単純なリダイレクトの記述をして動いているのを確認しました
0595nobodyさん2012/01/25(水) 22:25:49.17ID:???
だいぶ前にxreaでためしにやってたけど、普通にできてたよ
ちゃんとレス内容までは見てないけど、単に設定ミスでしょ
Yiiと関係ないからスレチだけど
0596nobodyさん2012/01/25(水) 22:30:53.35ID:???
単にhtaccessが使えない環境なだけなんじゃないの?
0597nobodyさん2012/01/25(水) 23:58:53.63ID:???
>>593
さくらのスレかApacheのスレ行けよ。
なんでここだ、アホか。
05985872012/01/26(木) 00:53:49.69ID:???
他のフレームワークはhtaccessでRewriteしてURLの変換がうまくいっているんですが、
そのサーバと同じとこに乗せてエラー出てるの
でYiiが原因か、Yiiに詳しい人ならわかるかなぁと思って・・・すいません
0599nobodyさん2012/01/26(木) 01:05:58.94ID:???
>>598
Internal Sever Errorがどういうときに出るのかを調べたほうが良いかも
スペルミスしてない?
とりあえずYiiが原因では無いと思うよ
0600nobodyさん2012/01/26(木) 07:48:27.99ID:???
リダイレクトループになってるって書いてるじゃん。
何得意げになって書いてんの?www
0601nobodyさん2012/01/26(木) 11:30:37.83ID:???
何得意げになって書いてんの?www
06025872012/01/26(木) 11:33:01.61ID:???
>>599
>>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のバージョンも書いてない点だな。
Yiiスレでエラー切り分けを問いたいなら、そういうところをちゃんと書くべし。
06055872012/01/26(木) 13:27:32.58ID:???
>>603
助言のとおり
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パスルート)じゃなきゃいけないでしょ。そういう場合は。
まあスレ汚しにスレ違いのレスをするのもなんだけどさ。
06075872012/01/26(木) 14:57:46.28ID:???
>>606
イケタアアアアアアアアアア
ンギモヂイィッィ
0608nobodyさん2012/01/26(木) 14:59:25.18ID:???
いきなり豹変すんなやwワロタ
0609nobodyさん2012/01/26(木) 15:56:04.19ID:???
user-moduleを利用する際等、moduleに手を加える際に
皆さんは直接ファイルを編集していますか?

それとも別moduleを作成してuser-moduleをオーバーライド
してますか?
0610nobodyさん2012/01/26(木) 16:06:14.49ID:???
user-moduleってなに?。意味が不正確でとれないよ。
06116092012/01/26(木) 16:08:47.08ID:???
>>610
言葉足りなくてすみません
yii-userというuser管理moduleのことでした
http://www.yiiframework.com/extension/yii-user/
0612nobodyさん2012/01/26(木) 16:10:57.85ID:???
当然、extends。
出来合のクラスを直接書き換えるというのは愚。
0613nobodyさん2012/01/26(木) 17:09:42.61ID:???
>>611
このextentionって便利なの?
前導入したけど良さがわからなかったな
0614nobodyさん2012/01/26(木) 17:34:05.28ID:???
自分はyii-userをお手本にして、新しくuserモジュールを作りました
多分yii-userをカスタマイズしていくとわかりますが、けっこう大変ですよ
06156092012/01/26(木) 18:02:36.06ID:???
>>612
やっぱそうなんですか
経験があまり無いので色々試してみようかと思います

別moduleを作成してyii-userをextends

>>613
ユーザの管理画面がすぐ完成するのが便利かと
プロフィール編集とか
0616nobodyさん2012/01/26(木) 18:14:32.07ID:G7JApHSt
>>582
http://symfony.com/doc/2.0/book/http_cache.html
symfony詳しくないけど、ここら辺の機能はないな
06176092012/01/26(木) 21:24:35.58ID:???
うーん、moduleの全てをextendsするのは
難しいものですね

module内でextendsしたmodule名が呼ばれていたり
結局moduleを直に書き換えているのとあまり変わらないような

この辺のノウハウというかヒントになりそうな情報があったら
教えて頂けるとありがたいです
0618nobodyさん2012/01/27(金) 00:07:11.83ID:???
>>617
困った部分を、もう少し具体的に教えてもらえます?
06196092012/01/27(金) 00:25:22.09ID:???
>>618
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:???
protected/config/main.phpで
'modules' => array('user' => array('id' => 'userext'...ではダメですか?
0621nobodyさん2012/01/27(金) 03:18:59.10ID:???
コアでないmoduleを元ファイルと別にわざわざextendするメリットが思い浮かばない。
自分の使いやすいように、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メソッドがわざわざモデルの変更を想定しているんだから。
06246092012/01/27(金) 14:10:16.57ID:???
>>620
試してみましたが、挙動が変わらなかったです。
元々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:???
>>624
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
>>623
(4)で対応が出来ないようなら、アップデートを諦めるじゃなくて?
0627nobodyさん2012/01/27(金) 23:50:45.19ID:???
ちなみにyii-userのmessagesのjaはここで入手できます
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
0628nobodyさん2012/01/28(土) 00:18:12.39ID:???
>>627
あんた誰よ
0629nobodyさん2012/01/28(土) 00:24:14.21ID:???
>>628
通りすがりのものです
0630nobodyさん2012/01/28(土) 00:24:59.90ID:???
www
0631nobodyさん2012/01/28(土) 12:29:44.71ID:???
CListViewが勝手にjqueryとjquery BBQ(?)を<head>に書きこんでくれるんだけど、
これをやめさせる方法ない?
今は無理矢理extendsして、
public function registerClientScript() {}
と空のfunctionをoverrideした
06326092012/01/28(土) 15:14:14.90ID:???
>>625
確認の仕方が悪かったです。ありがとうございます。
idでmodule名を切り替え出来ました。

しかしmodelsやviewsを拡張していくことを考えるとやはり
moduleは直接編集していくのが本道なのかもという気がしてきました。

それを考えるとyii-userのprofilesの項目追加の仕組みがややこしいのも
CMSを提供するのと同時に、ソースを触らせない前提という意図もあるのかなと。
0633nobodyさん2012/01/28(土) 15:44:12.26ID:rvnKSfbf
gitを使ってマージすると3-wayマージが簡単になるから、それを使うという手も
意味分からんかったらごめん
0634nobodyさん2012/01/28(土) 17:21:17.49ID:???
>>631
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:???
http://www.a-side.com
0636nobodyさん2012/01/29(日) 02:39:53.42ID:AvSKvvcH
ちょっと前ここで話題になってたデータベースマイグレーションの有用性をずっと考えてたけど、
以下のような話に対応出来るという利点が一番大きいのかな
たしかにソースでデータベースの構造も構成管理出来るというのは納得できる利点なのかも

>ソースコードについて昔の状況が呼び出せてたとしても、それに依存するデータベースの状況も再現できなければまったく意味がないのです。
>これを実現するためには、従来はDDLを記述したファイルを直接コミットして管理するしかありませんでした。
http://www.atmarkit.co.jp/fdb/single/08s_jiemamy/jiemamy1.html
0637nobodyさん2012/01/29(日) 03:34:39.17ID:???
>>636
うん。おもしろい記事でした。ありがとう。
0638nobodyさん2012/01/29(日) 14:10:01.28ID:???
Yiiのマニュアル、Cookieのことについて書かれてないんだな
Wikiでまとめられてたけど
Cookieってそんな重要とされてないのかね
0639nobodyさん2012/01/29(日) 14:35:08.80ID:???
需要あると思うけど、なぜかないよね
俺もガイドがないから、仕方なくソースから勉強した
0640nobodyさん2012/01/29(日) 19:10:32.17ID:???
$form=$this->beginWidget('CActiveForm');
echo $form->textField($model,'name',array('size'=>50,'maxlength'=>50,'value'=>"デフォルト値"));

上記のようにデフォルトの値を設定すると、
送信後エラーが起きてフォームに戻ってきた場合、
上書きしたデフォルト値が元に戻ってしまいます

上書きした値を使いたい場合どうしたらいいですか?
0641nobodyさん2012/01/29(日) 19:52:30.40ID:???
>>640
ビューに直接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

ここらへんが参考になるんじゃないでしょうか
06426362012/01/29(日) 21:12:56.09ID:AvSKvvcH
あ、あとちょっと前に話題になってたARの利点だけど、>>636のページのリンク先に以下のように記載があって、
まんま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:hr7RMRmt
質問です。
category1 | 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:???
>>643
これでやっちゃうとか
http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAllBySql-detail
0645nobodyさん2012/01/30(月) 05:21:55.39ID:???
$criteria->with = array('category2'=>array(
'select'=>'SUM(price) as price',
'group'=>'category1_id'
));

これでいけたりするんかいな?
0646nobodyさん2012/01/30(月) 05:53:09.13ID:???
見た感じ無理そうですけどwどうなんでしょう?
findAllBySql()で良いんじゃないですか?
0647nobodyさん2012/01/30(月) 20:07:10.18ID:???
>>643
そもそも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:???
>>647
category2を外部結合してるから、c2.priceがnullだと、sum(c2.price)もnullになっちゃうよ?
0649nobodyさん2012/01/30(月) 22:19:35.49ID:???
>>647
SQLよく知らないからARを使うんじゃん
あとテストくらいするでしょ?
0650nobodyさん2012/01/30(月) 23:18:57.78ID:???
>>648
だったらふつーは
sum(NullToZero(c2.price))
みたいにするよね。どう考えてもああはならん。

>>649
その認識はマジで改めた方がいい。
0651nobodyさん2012/01/30(月) 23:50:08.15ID:???
SQL知らないからAR使うとか酷いな。。
0652nobodyさん2012/01/30(月) 23:54:50.25ID:???
SQLをよく知らなくても、ARを使えばなんとなくでできちゃう部分はあるよね。
でもそのうち絶対壁にぶち当たるか、失敗する。
んで、ちゃんと勉強しておけばよかったと思うものさ。
0653nobodyさん2012/01/31(火) 01:06:10.85ID:???
いやぁしかしCDbCriteriaは使いやすいね。すばらしい。
0654nobodyさん2012/01/31(火) 02:10:02.03ID:???
必要になった時に必要な勉強すればいいじゃん
表面上の言葉だけで議論しても意味ないっす
0655nobodyさん2012/01/31(火) 03:24:00.33ID:???
便乗質問だけどmax(c1.name)はなんなん?
nameはナチュラルキーでUNIQUE NOT NULLだろうから、idと一対一つまり
複合UNIQUEとみなしてGROUP BY c1.id, c1.nameのようにしてはいけないの?
0656nobodyさん2012/01/31(火) 06:58:34.53ID:???
>>655
どっちでもいい
好みの問題
0657nobodyさん2012/01/31(火) 20:05:03.72ID:???
modelのrulesのプロパティーで、
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+Y
↓ふたなりっ娘
0661nobodyさん2012/01/31(火) 22:01:16.11ID:LWh8fO+Y
>>657
俺もどんなケースでってのが思いつかないな

safeはルールを持ってない属性において、
$model->attributes = $_POST['model'];
で値を保存していいかどうかってことだよね?

基本的にフォームから受けとりたくない値が特別無い限りはその使い方でいいと思ってるんだけど
0662nobodyさん2012/02/01(水) 17:10:34.37ID:???
デモのブログのPost, Userでsafeが使われいるので
そこらへんを見ていくとわかるんじゃないでしょうか
0663nobodyさん2012/02/05(日) 03:14:13.74ID:G96rv1NI
SkillshareってYii Framework使ってるんだな
たまたま見つけたからテンション上がった

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
Filterクラスを作ったとして、以下のようにpreFilter内でrun()とpostFilter呼ぶのっておかしいよね?
そういう風に記述されている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:???
githubで検索すれば、サンプルソース幾つもあるから、読んで勉強するといいよ。
0668nobodyさん2012/02/12(日) 20:39:49.70ID:???
>>666
英語ですか……学生時代もっと頑張っておくんだったなぁ

>>667
探してみます。ありがとうございます。
0669nobodyさん2012/02/12(日) 20:59:01.29ID:9VDZvfC5
Yii 1.1 Application Development Cookbook
思い切って注文しました。辞書を片手に頑張ります
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:???
Kindle無臭
0674nobodyさん2012/02/13(月) 01:37:37.52ID:???
いやいや、チュートリアル終わったなら次はガイド見ろよw
0675nobodyさん2012/02/13(月) 02:13:55.51ID:???
>>674
ガイド、チュートリアルの順にやりました
書き方が悪くて混乱させてしまったようで申し訳ないです
今はyii for beginnerという記事を読んでいますが
他に基礎がまとまってるページなりサイトなりあれば教えて頂きたいです
0676nobodyさん2012/02/13(月) 03:35:40.24ID:???
ktai extension便利だな!
セットアップがちょっと難しかったけど、メールのテンプレート機能で携帯用と使い分けられるのが良い
0677nobodyさん2012/02/13(月) 18:09:25.18ID:???
新バージョンが出たらしい?
0678nobodyさん2012/02/14(火) 00:44:08.18ID:CHG2KmQT
本当だ1.1.10出てるじゃないか
今度は早かったな
0679nobodyさん2012/02/14(火) 01:05:36.74ID:CHG2KmQT
それはそうと、1.1.8でカスタムURLなんつー便利そうなものが追加されてたんだな、知らんかった…
http://www.yiiframework.com/doc/guide/1.1/ja/topics.url#sec-9

翻訳も早くて感謝です
0680nobodyさん2012/02/14(火) 02:33:19.28ID:???
>>679
これってBlogとかでよくある、
ブログタイトルをURLに含めるようなものが簡単に
出来るということだよね?
0681nobodyさん2012/02/14(火) 08:35:59.10ID:???
>>679
便利か?
0682nobodyさん2012/02/14(火) 09:45:04.56ID:???
ざっと読んだけど便利なんじゃね?
二つ以上のパラメータをURLに仕込んでDBに問い合わせてその結果次第で任意のページを返せるしさ
まぁ普通はコントローラ側でこう言う事をやるわけだけどね
0683nobodyさん2012/02/14(火) 09:53:20.39ID:???
クエリパラメータと何が違うんだろ。URL組みたてづらい気がするけど。
SEO対策ってやつ?
0684nobodyさん2012/02/14(火) 15:54:04.76ID:???
既存の仕組みでも、urlManagerのrulesに
 '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:jJ6oNY1v
日本の携帯(ガラケー)って一部を除いてJavaScriptに基本的に対応してないけど、
JavaScriptが埋め込まれてるページにアクセスした場合、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:???
>>689
Cakeで不便に思うところがなければ捨てるのもったいないし
Cakeで不便に思うところがあっても、Yiiで解消されてないなら乗り換える意味ないよ。
0691nobodyさん2012/02/15(水) 14:13:55.27ID:???
>>689
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:???
CakePHPとYiiの両方使ったことがある俺から言えば、
Yiiの方がYii
理由は速さ、思想が優れていること
0694nobodyさん2012/02/15(水) 16:17:53.50ID:???
Cakeはちょっと膨らみすぎだね
0695nobodyさん2012/02/15(水) 20:23:43.02ID:???
Yiiのほうがいいけど、フォーラムとAPIリファレンスを読めるくらいの英語ができないとつらいかもな。
0696nobodyさん2012/02/16(木) 00:39:02.08ID:???
>>688
ここらへん参考になるかもです
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
>>696
おお、ありがとう
とりあえずサイズの大きい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:???
YII_DEBUGがtrueの場合jquery.jsを呼び出し
falseの場合jquery.min.jsを呼び出すので、そこらへん注意してくだいね
0699nobodyさん2012/02/17(金) 00:10:51.42ID:???
DAOで?をつかってバインドするサンプルが載ってるURLって無い?
0700nobodyさん2012/02/17(金) 15:06:04.29ID:???
どういうときにYiiのDAOで「?」使うんですか?
0701nobodyさん2012/02/17(金) 16:37:22.68ID:???
>>700
検索で複雑なsqlが必要なんでARつかうよりDAOの方が便利そうだと思ったから。
パラメータ数も上限するから :id とかでバインドするのが面倒だった。

結局、自己解決して
普通にpdoと同じやり方で出来ました。
0702nobodyさん2012/02/18(土) 21:54:07.39ID:???
久しぶりにyii使って開発してるけどやっぱ効率いいわ
0703nobodyさん2012/02/18(土) 23:01:01.44ID:???
giiがアツイよな
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:???
giiで生成したcrudのviewがDBのレコードリストを
ウィジェットを使って表示しているのを見てポカーンです。
ウィジェットの使い方を知りたいです。
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:kzCubFZM
APIリファレンス以上はソース見るしかないな
0709nobodyさん2012/02/19(日) 05:06:59.32ID:???
オフィシャルのフォーラムで検索すればある程度出てくるよ
0710nobodyさん2012/02/19(日) 10:33:48.34ID:Np7bOdr0
>>707
CListViewです、ありがとうございます!
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:Np7bOdr0
>>710
YKかwwwwww
聞いてくれていいんだけど遠慮してる?
0714nobodyさん2012/02/19(日) 13:52:40.38ID:kzCubFZM
ナニコレ珍百景に投稿してくる
0715nobodyさん2012/02/19(日) 14:36:30.21ID:???
なにこの自演
意図が全く見えない
0716nobodyさん2012/02/19(日) 14:40:19.96ID:???
触れんでいい。
0717nobodyさん2012/02/19(日) 14:51:17.56ID:???
自演ではないです。>>707 = >>710が自分で、
自分にyiiを紹介してくれたのが>>713さんです。
0718nobodyさん2012/02/19(日) 14:58:56.30ID:???
クソワロタwwwwwwwwww
同じ社内かよ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:???
CListView, CGridView, CDetailViewなどは
もともとYiiにはなかったんだけど
これはいいねってなってあとからコアに組み込むことになったんだそうですよ
どうでもいい話ですがw
0722nobodyさん2012/02/19(日) 18:27:35.51ID:???
一部のsave()でbeforeSave()を利用したくない(回避したい)のですが
方法を教えてくださいにゃん
0723nobodyさん2012/02/19(日) 19:13:08.00ID:???
youステートもっちゃいなよ
0724nobodyさん2012/02/19(日) 20:06:55.31ID:???
>>722
scenarioっていう便利な機能があるよ
0725nobodyさん2012/02/19(日) 20:23:12.13ID:???
>>723
state作成いたら成功した!
>>724
新しいscenario選択したらデフォルトのvalidateは利用されない仕組みなのかな
ちょっと試してみる!

二人ありがとYii
0726nobodyさん2012/02/19(日) 21:01:16.48ID:???
scenario選択してもはデフォルトのvalidateルールは有効だよ
ただ、俺はvalidateの切り分け以外にscenarioを使うのはおすすめしないな
なんか前にもこんな話したよね
0727nobodyさん2012/02/19(日) 23:31:59.69ID:???
反則かもしれないがアクション名で振り分けられる
モデルでYii::app()->controller->action->idを使ってさ
あとはプロパティがempty時はこうする、とかさ。いろいろあるさ〜
0728nobodyさん2012/02/19(日) 23:36:20.48ID:???
scenarioをvalidate以外で使うのをおすすめしない理由とは?
0729nobodyさん2012/02/19(日) 23:39:31.37ID:???
state作成とは、具体的にどうしたのか教えてもらえますか?
0730nobodyさん2012/02/20(月) 01:14:34.72ID:???
>>729
modelのclass変数を作成して
それをsave()前に$model->state=falseとかした感じ

beforeSave()の中で$this->stateでifして処理振り分け
0731nobodyさん2012/02/20(月) 02:03:58.18ID:???
>>730
なるほどー。一番良いやり方かもしれないですね。ありがとう。
0732nobodyさん2012/02/20(月) 03:43:08.62ID:b6WVXuP+
>>728
あとから見た時、分かり難いから
scenarioはruleを切り分けるという目的で追加されているのに、
他の目的で使うと、後で見た時になんだこれってなっちゃう危険がある
>>727の方法もいいね、っていうか前の話でも出てたなw
0733nobodyさん2012/02/20(月) 06:00:09.92ID:???
Yii::app()->controller->action->idはコンソールからモデルを実行するとき使えなくなるので
stateプロパティをモデルにもたせるのが良い方法かな
0734nobodyさん2012/02/20(月) 19:00:30.74ID:???
>>732
例えばbeforeSave()で分岐したいがためにrulesにscenarioを設定するのは違うけど
結果、$this->scenario !== 'insert'みたいのを利用できるのであれば、それはそれで使ってもかまわないってことだよね?
0735nobodyさん2012/02/20(月) 20:29:22.19ID:b6WVXuP+
>>734
それもinsert以外のscenarioの意味(効果)を変えちゃうから、俺は原則、使わないようにしてるよ
でも利用した方がベターなケースもあるかもしれないし、beforeSave()を利用したくない理由が分からないのに、
scenarioを使うのはおすすめしないって言ったのは適切ではなかったかも
単に、自分ルールとしてscenarioはvalidate ruleを切り分けるためだけに使ってる、って言うべきだったかな

結局は環境(体制、設計、規模など)によって、自然で分かりやすい実装ってのも変わってきちゃうよね
0736nobodyさん2012/02/20(月) 21:36:24.53ID:???
scenarioの意味ってruleを切り替えるってことだったんだ
初めて知ったわ
0737nobodyさん2012/02/20(月) 22:16:12.46ID:???
734ですが
$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:???
Yii::app()->nameって使うようで使わないな
layoutのmain.phpとかでは使うようにしてたんだけど、
他のviewでは結局サイト名を手打ちしてしまう。
0742nobodyさん2012/02/21(火) 22:14:58.43ID:???
メールとかで使うよ Yii::app()->name
0743nobodyさん2012/02/22(水) 00:04:11.80ID:???
>>742
どゆこと?
0744nobodyさん2012/02/22(水) 00:24:57.94ID:FnoANuGB
$body .= Yii::app()->name.'です。\nお世話になっております。';
ってことじゃね
0745nobodyさん2012/02/23(木) 05:54:50.59ID:???
レコードの挿入日時みたいなデフォルト値ってどこで設定してる?
モデルのrulesで設定してるんだけどここでいいのかな

ってかrulesのdefaultはどのタイミングで設定されるん?
1回目バリデーション失敗して、次送信したときまた新たに設定される?
0746nobodyさん2012/02/23(木) 08:37:03.38ID:???
>>745
ふつうはDBMSのトリガー使うよね。
0747nobodyさん2012/02/23(木) 09:11:29.65ID:???
beforeSave()
0748nobodyさん2012/02/23(木) 12:03:11.26ID:???
CTimestampBehaviorってものがあってだな。
俺はこれを使ってる。
0749nobodyさん2012/02/23(木) 15:12:02.57ID:???
API: CTimestampBehavior
http://www.yiiframework.com/doc/api/1.1/CTimestampBehavior
07507452012/02/23(木) 15:20:41.42ID:???
え?モデルのrulesのdefalutってこういう使いかたするんじゃないの?
一応うまくいってるけど
あと、ユーザー登録のアクティベートキーの生成&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:???
「一部のsave()でbeforeSave()を利用したくない」
これ、cakeでは'callback' => falseみたいのありましたよね?ほしいですねyiiにも
0754nobodyさん2012/02/23(木) 22:28:10.74ID:???
お安い御用です
0755nobodyさん2012/02/26(日) 12:56:19.56ID:???
txtファイルに読み書きしたいんですが、
そういうファイルはどのフォルダに入れるのが普通なんでしょうか?
0756nobodyさん2012/02/26(日) 15:20:43.51ID:???
てきとうにフォルダつくってfopen()しようとすると
エラーが出るのですがfopen()はそもそも使えないのでしょうか
0757nobodyさん2012/02/26(日) 17:49:48.25ID:???
file('http://yahoo.co.jp');
なら何も問題ないんですよね。

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/
0759nobodyさん2012/02/26(日) 19:17:25.20ID:???
>>758
早速試してみます! ありがとうございます。
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:???
>>760
>現在のカレントディレクトリがどこかを確認しれ。

どうしてこれをやらなかったのかorz
file(getcwd().'/test/test.txt');
であっさり解決しました。人に聞く前に確認しろとorz
完全にあまえでした、すみません。

ファイルの配置のお話も勉強になりました。
見られておkなのでルート直下にディレクトリつくって放り込みました。

>そのエラーの内容からちった判断しれw
恥ずかしいですほんとにorz
「そんなファイルないよ」ってエラーでした。

あーだこーだやってたのが解決してとてもすっきりしました。
親切に教えていただいて、本当にありがとうございました。
0762nobodyさん2012/02/26(日) 21:35:39.39ID:???
yiiでお気に入りの機能とかありますか?
あと、これをこうしたら、すごく便利になったとか
0763nobodyさん2012/02/29(水) 11:54:14.13ID:???
Yiiは日本では流行らないよ
このスレの住民は初心者に対して高圧的な奴が多いから
0764nobodyさん2012/02/29(水) 14:41:37.99ID:???
高圧的だからとかそういう理由で選ぶもんじゃないけどなw
0765nobodyさん2012/02/29(水) 17:23:22.19ID:???
2chの人が優しければ流行るのか?
0766nobodyさん2012/02/29(水) 23:42:39.00ID:Ha59kcRM
>>763
個人的にはそういう奴を見つけたらソフトに排除するようにしてるんだけどね

そもそも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:???
逆にCakePHPが流行ってるのってトレンド見る限り世界的に見ると日本だけだよね?
なんでだろう。
0770nobodyさん2012/03/01(木) 01:35:56.56ID:???
ガラパゴスらしいな
0771nobodyさん2012/03/01(木) 02:17:30.16ID:???
たしかにこのextentionは使っとけみたいな日本語のまとめは欲しいな
0772nobodyさん2012/03/01(木) 07:48:51.01ID:???
>>769
PHP4に縋りついてるゴミが多かったから
0773nobodyさん2012/03/03(土) 22:35:47.81ID:???
モデルのrules()に以下のように書いてもエラーメッセージが反映されないのはバグですか?
array('password', 'length', 'min'=>6, 'max'=>20, 'message'=>'6〜20文字で入力してください。'),

実際に表示されるエラーメッセージ
  パスワード が短過ぎます(最小 6 キャラクタ)。

ちなみに、unique、compareでは指定したメッセージが表示されました。
0774nobodyさん2012/03/03(土) 23:27:49.61ID:???
まずはPHPからだな。。
07757732012/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
0776nobodyさん2012/03/04(日) 12:55:12.34ID:???
>>773
あーそれ俺もはじめはまったわ。
0777nobodyさん2012/03/05(月) 00:57:03.92ID:???
$message = '6〜20文字で入力してください。';
array('password', 'length', 'min'=>6, 'max'=>20, 'tooShort'=>$message , 'tooLong'=>$message , 'allowEmpt'=>false);
という感じかな?なるほど勉強になった。ありがとう。
0778nobodyさん2012/03/05(月) 00:57:45.13ID:???
allowEmptyな
0779nobodyさん2012/03/06(火) 12:18:46.28ID:???
>>777
ふとした時に、はたしてこういうのは開発効率がいいのかどうかといつも疑問に思ってしまう。
0780nobodyさん2012/03/06(火) 13:01:53.00ID:???
ifで書くよりは早いんじゃない?
0781nobodyさん2012/03/06(火) 16:43:43.22ID:???
確実にはやい。
特殊なバリデートの時は、独自で作ればいいだけだし。
0782nobodyさん2012/03/08(木) 14:36:30.75ID:???
Yiiとかつまんねーよ
0783nobodyさん2012/03/08(木) 14:48:17.09ID:???
PHPのフレームワークでは間違いなく一番出来がいい
PDO使ってるのが導入の障壁になってんの?
0784nobodyさん2012/03/08(木) 18:32:32.73ID:i+TebrmP
そうなの?
PDOが使えない環境って例えばどういうの?
0785nobodyさん2012/03/09(金) 12:55:26.85ID:???
PDO使えないサーバを探すほうが難しいが・・・
0786nobodyさん2012/03/09(金) 15:50:42.98ID:???
ぺ、ぺどだってーーーー!?
0787nobodyさん2012/03/09(金) 21:41:28.62ID:???
portsのphp5-extensionsで入れられねーだよ
@FreeBSD
0788nobodyさん2012/03/10(土) 10:23:30.51ID:???
ttp://povertyprogramming.co.cc
この嫌儲のサイトがYiiというものでつくられてるらしいんですけど
初心者でもできますか?strongタグで太字にしたりするのはできます。
0789nobodyさん2012/03/10(土) 10:48:11.83ID:0UAYpjt7
phpを勉強する必要がありますけど、Yii Frameworkは初心者の方でも問題ないと思います。

http://www.yiiframework.com/doc/guide/1.1/ja/index
ここにガイドがあります
0790nobodyさん2012/03/10(土) 10:51:45.67ID:???
>>789
ありがとうございます! 早速読んでみます
0791nobodyさん2012/03/10(土) 11:41:30.57ID:???
>>788
ステマ乙
0792nobodyさん2012/03/10(土) 11:44:36.32ID:???
自力でドキュメント見て解決できないと初心者は厳しいです
Yiiは基本的に鎖国社会なので質問しても教えてくれる人を探すのは厳しいでしょう。
このスレも初心者には厳しいです。
まずはCakePHPなど国内の利用ユーザー数が多いフレームワークから始めることが成功の近道です。
Yiiから入ると問題にぶち当っても人に聞いても解決できないのは人生の無駄遣いです
0793nobodyさん2012/03/10(土) 13:39:25.68ID:???
>>792
ステマ乙
0794nobodyさん2012/03/10(土) 14:03:30.99ID:???
ちょくちょく前から>>792は同じことばっか言ってるけど、よほど相手にされなくて悔しかったんだろうな
まともに質問してるやつで無視されてる奴なんてあんまり見たいけど
0795nobodyさん2012/03/10(土) 14:38:58.61ID:???
日本だけじゃ情報少なくて、全ての質問に答えれるほど習熟してる人なんて
今のところほぼ居ないに等しいような状況なのはわかってて、Yii触ったんだろうに

2chのスレが気に食わないから使わない、も個々の判断だけど
そんなくだらない理由で意固地になることはすごく勿体無い判断だと思うわw
0796nobodyさん2012/03/10(土) 15:16:38.79ID:???
>>794お前のような陰湿な奴がいなくなればいいのに
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:???
2ちゃんなんてもともとそんなもんだろ
んな煽りでイライラしてるほうがおかしい
0800nobodyさん2012/03/10(土) 16:00:42.98ID:???
だなぁ。そんなことよりYiiの話しようぜ!
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:???
Yiiの話が来た途端だんまり
0803nobodyさん2012/03/10(土) 18:17:30.79ID:???
>>802
しね
08048012012/03/10(土) 18:18:55.57ID:MBX05hQs
すみません念のためID出しておきます。
よろしくお願いします。
0805nobodyさん2012/03/10(土) 18:38:26.51ID:???
>>794が答えてくれるはずだから待ちましょう!
0806nobodyさん2012/03/10(土) 18:49:05.69ID:???
>>801
無駄な所は特に感じないです。
想定通り動いてるなら問題ないのでは?
0807nobodyさん2012/03/10(土) 18:51:47.82ID:0UAYpjt7
特に無駄とかはないように見えますけど
08088012012/03/10(土) 19:09:18.46ID:MBX05hQs
ありがとうございます。
これでいいのかなぁと漠然とした不安があったので助かりました。
0809nobodyさん2012/03/12(月) 15:21:13.03ID:???
Yii勉強したいんだけど、他のFWと比べて何でこんなにHowToブログ記事少ないんだ?
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
日本人のほとんどはYii学べるくらいの英語力は持ってると思うけどな
ただ、英語アレルギーは結構あるよね
やっぱカリスマが牽引しないとコミュニティは成長しないんでしょ
0813nobodyさん2012/03/13(火) 16:51:05.10ID:???
>>812
普通の日本人は、英語ってだけで見ようともしないよ。
英語力がどのくらいないのかは分からないけど、まああまりないと思うよ。
別に日本国内で英語いらないし。
0814nobodyさん2012/03/13(火) 18:49:20.87ID:???
requirements見ると色々必要っぽいですが、
さくらのレンタルサーバーでも使えますか?

さくらで使えたら即移行するんですが・・・
0815nobodyさん2012/03/13(火) 18:56:09.19ID:OgH0Qw3S
>>121-124
APC使えない説があるぞ
0816nobodyさん2012/03/14(水) 11:18:23.67ID:???
>>814
さくらの1500円のレン鯖で使ったが普通に動いた。
apc利かないから大規模なやつは無理っぽい
08178142012/03/14(水) 13:54:04.14ID:???
おおっ!
最初は共用で、
規模が大きくなってきたらVPSやらに移ってAPC使えばおkですね。

てか、Yii楽しすw
0818nobodyさん2012/03/14(水) 20:25:32.84ID:zqK1VJfD
apc使えなくてもCFileCacheとか使えば
何も使わないよりはいいと思うよ
0819nobodyさん2012/03/14(水) 21:04:22.40ID:832chJcq
え、Yiiの実行がAPCで早くなるのはコードキャッシュの話だろ?
0820nobodyさん2012/03/15(木) 07:02:06.97ID:E3IxfR1a
群馬県高崎市に住む41歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずに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:???
Yiiって、oauth2のモジュールなくね?皆どうしてんの?
0822nobodyさん2012/03/15(木) 19:23:03.36ID:???
デフォルトではHAS_MANYやMANY_MANYを一度にsaveしてくれる機能はないの?

調べたんだけど、いまいち分からなかった;
サンプルコードも、バリデーションやトランザクションを考慮してなかったり・・・
0823nobodyさん2012/03/15(木) 20:37:46.80ID:???
自分でoauthモジュール作った
0824nobodyさん2012/03/15(木) 20:49:50.87ID:A3CMDLk6
extension使うしかないんじゃないかなあ
0825nobodyさん2012/03/15(木) 21:48:06.21ID:???
>>822
HAS_MANYで親でsaveしたら子もsaveされるような機能は今のところない。

バリデーションやトランザクションについては、オフィシャルガイドに丁寧にかいてある。
0826nobodyさん2012/03/15(木) 22:00:11.15ID:A3CMDLk6
>>580とかどうであろうか?
0827nobodyさん2012/03/15(木) 22:04:43.66ID:???
複数データの同時insertもARでは出来ないね。
ちょこっとならループ回したほうがシンプルなのかもしれないけど。
0828nobodyさん2012/03/16(金) 04:56:40.83ID:???
ここらへんはわざと実装しないで、
緩くしてあるんだろうか・・・
0829nobodyさん2012/03/16(金) 07:06:54.44ID:???
意外に痒い所に手が届かないよね。Yii。
0830nobodyさん2012/03/16(金) 14:32:14.60ID:6mu8dRw7
extensionがあるべ
0831nobodyさん2012/03/16(金) 14:50:26.02ID:???
relationSaveはあるけどsaveAllは見つからんな
0832nobodyさん2012/03/16(金) 22:25:22.90ID:???
>>829
そう?cakeのほうがいいとこある?
0833nobodyさん2012/03/16(金) 22:55:17.05ID:6mu8dRw7
RoRとの比較のほうが興味ある
0834nobodyさん2012/03/17(土) 14:56:22.63ID:???
少人数で作るならCIとかFuelのほうが確実に開発が楽。
0835nobodyさん2012/03/17(土) 14:57:04.46ID:???
Silexでいいわ。
0836nobodyさん2012/03/18(日) 03:19:48.10ID:???
うん。開発が楽と思ったものでそれぞれやれば良い。
0837nobodyさん2012/03/18(日) 11:22:39.37ID:???
そうだね
0838nobodyさん2012/03/19(月) 14:11:56.77ID:???
おれはCIはしんどかったなー
自分で書く部分が多かった
0839nobodyさん2012/03/20(火) 14:59:22.46ID:???
ページングで、

?Post_page=2
みたいなのを
?page=2
にする方法ってないですかね?
08408392012/03/20(火) 15:19:31.75ID:???
pageVarで設定出来ました;
スレ汚しスミマセン・・・
0841nobodyさん2012/03/20(火) 15:25:19.25ID:???
>>840
きにすんな
0842nobodyさん2012/03/21(水) 05:42:19.48ID:???
ログインの仕組みが複雑というか、分かりづらいな
authenticateとloginが分かれてて
UserIdentityとかもあって
何が何かパッと理解できん。。。
0843nobodyさん2012/03/21(水) 06:18:13.36ID:???
>>842
最初はとっつきにくいけど、
わかると、自由に実装できてイイ!よ。

てか、yii-userのソース見てたんだが、
saltもなしにただハッシュしてるだけじゃん・・・
0844nobodyさん2012/03/21(水) 14:23:37.03ID:???
そうそう、ハッシュひどいよね
絶対自前実装が必要
ここで実装方法を共有してもいいかもね
0845nobodyさん2012/03/21(水) 15:19:01.53ID:???
http://www.yiiframework.com/doc/guide/1.1/ja/topics.auth

デフォルトでは CWebUser はユーザの個人情報を保存するのに、
持続的ストレージとしてセッションを使います。
クッキーベースのログインが有効(CWebUser: :allowAutoLoginがtrue)になっていると、
ユーザの個人情報がクッキーにも保存される可能性があります。
パスワードのような取り扱いに注意を要する個人情報を保存しないよう気をつけてください。

これの意味がよくわからないんだけど・・・
なんでこんな仕様になってるの?
0846nobodyさん2012/03/21(水) 20:31:26.55ID:???
ほんとだ。なんでsaltの設定無いんだろ?
0847nobodyさん2012/03/21(水) 20:56:37.85ID:???
>>845
クッキーやセッションにユーザーの個人情報を保存しないって当たり前のことだろ?
0848nobodyさん2012/03/22(木) 01:55:04.42ID:???
フォームからユーザ名・パスワードを入力させてログインさせる方法は
最初からあるLoginForm.phpでできるけど、
他コントローラからユーザ名とパスワードを渡してログインさせる方法はどうやったらいいのか分かる人いる?
0849nobodyさん2012/03/22(木) 23:05:16.16ID:???
http://d.hatena.ne.jp/te2u/20110822/p1
これってそもそもフォームで入力しないものをrequireしてる時点で間違っているよね?
0850nobodyさん2012/03/22(木) 23:55:16.50ID:???
>>848
LoginFormはモデルだからどのコントローラからでも使えるよ

$model=new LoginForm;
$model->username = 'user';
$model->password = 'password';
if($model->validate())
$model->login();

ログイン処理したいコントローラで、こんな感じにモデルに情報を設定して、ログインできまっせ
答えになってるかな
0851nobodyさん2012/03/22(木) 23:57:58.30ID:???
>>849
いいえ、beforeSave()で設定する前提というのも別に問題ないと思うよ
0852nobodyさん2012/03/23(金) 03:33:31.73ID:???
>>850
なるほど。
でもこの使い方、LoginFormって名前でいいのかこれw
0853nobodyさん2012/03/24(土) 09:23:14.59ID:???
>>850じゃないけど
$model->username = 'user';
$model->password = 'password';
の部分はあくまで例でしょ。
0854nobodyさん2012/03/24(土) 10:04:41.96ID:???
>>853
いや、「フォーム」からは受け取ってないなぁと思って
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:???
>>851
いや、モデルのrules()にフォーム入力しないものを入れちゃいかんだろ
自動生成でこうなったのか知らないけど、外せばいいだけ
afterConstruct()とか馬鹿げている。しかもtimestampビヘイビア使ってるのに$this->create_time = time();とか意味不明
0859nobodyさん2012/03/25(日) 00:01:41.63ID:K3R81r0d
>>858
>いや、モデルのrules()にフォーム入力しないものを入れちゃいかんだろ
何か不都合でも?

CTimestampBehavior使ってるならcreate_timeの設定はいらないね
それもそのブログに書いてあるようだが
0860nobodyさん2012/03/25(日) 00:11:13.28ID:K3R81r0d
ごめん、ナナメ読みで間違えたこと言ってしまった
behaviorの実行が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:???
>>860
>rulesはフォーム入力したデータを検証するかどうかじゃなくて、DBのルールと合わせておくほうが個人的に自然だと思うな
いや、公式のガイドでrulesにフォームから送られてくるデータ以外は入れるなって書いてあったと思うけど
個人的な意見尊重するならフレームワーク使わないほうがいいと思うけど
もしくはCIみたいなさらに緩いの使うとか。CI使ったことないからわからんけど
0863nobodyさん2012/03/25(日) 01:21:50.65ID:???
>>862
そうだったんだ
CTimestampBehaviorの実装もそういう設計思想から来てるからおかしいものではないということか

>個人的な意見尊重するならフレームワーク使わないほうがいいと思うけど
これはどういう意味?フレームワークってYiiのことだよね
使わないと最早開発できない…
0864nobodyさん2012/03/25(日) 01:29:03.78ID:???
>>863
フレームワークって
そのフレームワークの思想や慣習にのっとって開発することによって、
スピードや保守性をアップするってのが利点だと思う
0865nobodyさん2012/03/25(日) 02:06:18.82ID:???
>>864
Yiiの思想や慣習を否定するつもりはないよ
ユーザ入力されたパラメータ以外はrulesに追加しないっていう記述があることすら知らなかった(見逃してた)

>DBのルールと合わせておくほうが個人的に自然だと思うな
それを知らないで、こんな考えを持ってたのは適切ではないというのは、その通りだと思う
でもなんでユーザ入力以外のパラメータはvalidateしちゃ駄目なんだろう
DBはエラーを返さないけど、設定を抑止したい値とかって普通にあると思うんだけど
0866nobodyさん2012/03/25(日) 05:24:10.51ID:???
恥の上塗りでレスするのやめようぜ。生産的な話しにはならない。
0867nobodyさん2012/03/25(日) 16:51:47.95ID:???
>>865
>でもなんでユーザ入力以外のパラメータは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:???
beforeSave()でやるべきだと思うけどどうなんだろ
0871nobodyさん2012/03/25(日) 22:28:10.72ID:???
つまりテストでカバーという考えかな
なんかそれでいいような気がしてきた
きっとYiiさんもそういう事を言ってるんだよね
0872nobodyさん2012/03/26(月) 08:35:27.77ID:???
>DBはエラーを返さないけど、設定を抑止したい値とかって普通にある

無いよね普通。
0873nobodyさん2012/03/26(月) 11:32:56.54ID:???
いや、それはあるだろ
状態とか
>>872は何を想像してるんだ?
0874nobodyさん2012/03/26(月) 11:40:21.47ID:???
>>873
無いのよそれが。あるわけがない。

つうか、状態とかって具体的にどういうもの?
0875nobodyさん2012/03/26(月) 12:00:29.81ID:???
ユーザー入力以外の値を事前に制御出来ない理由がわからぬ。
0876nobodyさん2012/03/26(月) 13:35:57.93ID:???
ブログで例えた場合記事を表現するPostモデルに記事の公開状態を表すstateカラムがあるとして、
その値が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:???
>>876は「改善コード」とは言わんだろ。こう言う風に俺はYiiを(仕様と違って)使ってるって自己主張してるだけで。
なお、俺は>>874でも>>877でもない。
0880nobodyさん2012/03/27(火) 00:33:01.98ID:???
ワロタ
0881nobodyさん2012/03/27(火) 00:36:55.69ID:???
>>879
つまり>>879>>874でも>>877でも無くて>>873だってこと?
じゃあ>>874>>877は同一人物なの?それとも>>873と一緒で別人なの?
0882nobodyさん2012/03/27(火) 00:48:34.18ID:???
ID出ないスレってこうなるから嫌だ
IDが常に出るピザスレなんて超平和だぞ
0883nobodyさん2012/03/27(火) 01:27:08.19ID:???
問題はIDじゃなくて同でもいいことにムキになる子たちだというオチがついたところで、おしまい
0884nobodyさん2012/03/27(火) 01:58:53.15ID:60lORSlO
じゃあID出せよ
0885nobodyさん2012/03/27(火) 05:07:35.41ID:???
http://www.yiiframework.com/doc/guide/1.1/ja/topics.auth
ムズすぎwwwwwwwwwwwww
0886nobodyさん2012/03/27(火) 08:26:04.44ID:???
>>876
> 俺はこんな書き方せずに

ほら、やっぱ無いじゃん。そういうことだよ。
0887nobodyさん2012/03/27(火) 17:39:36.91ID:???
yii-user moduleのissue見てたら
前にここで話してたhash saltが実装されてるみたいね
0888nobodyさん2012/03/28(水) 14:15:15.24ID:???
ここのyiiユーザーがムカツクから俺がフレームワークを作って潰してやるよ
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:???
単にtestビューを表示させたいだけときって、
public function actionTest()
{
  $this->render('test');
}
ってわざわざrenderさせないとだめ?
0894nobodyさん2012/04/09(月) 12:01:00.15ID:???
main.phpを表示させたくないって意味なら、renderPartial()があるよ
0895nobodyさん2012/04/09(月) 12:55:15.33ID:???
Cakeからの移行組かな?
Cakeは勝手にレンダリングされるからね。
0896nobodyさん2012/04/09(月) 15:33:20.04ID:???
そういうことか
filter書くしかなかろうな
0897nobodyさん2012/04/09(月) 17:52:13.68ID:???
http://www.yiiframework.com/download/

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:???
別に1.x系でも名前空間は使えるでしょ
0899nobodyさん2012/04/22(日) 07:16:48.12ID:???
<?php CHtml::encode($model->name); ?>
毎回データを出力するときは(入力の際にサニタイズしていない場合は)↑のようにして
出力するデータ毎に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++/P
renderPartial(array($header,$body,$footer));
0903nobodyさん2012/05/02(水) 15:32:18.12ID:???
>>899
これたのむよ
0904nobodyさん2012/05/02(水) 20:23:04.92ID:???
自分でCHtml拡張して$modelのattributeを全部encodeする関数でもつくったらええがな
0905nobodyさん2012/05/02(水) 21:46:12.06ID:???
>>902
thx
0906nobodyさん2012/05/03(木) 17:35:36.08ID:???
giiで生成されるコントローラにloadModelアクションがついてくるけど、
あらゆるコントローラで同じ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:???
>>906
共通controller.phpにloadmodelを書いて
それぞれのcontrolelrから利用すれば良いんじゃないかな?
0908nobodyさん2012/05/03(木) 23:06:16.44ID:???
>>906
これ参考にするといい
http://www.yiiframework.com/extension/crudactions/
0909nobodyさん2012/05/05(土) 17:58:57.55ID:???
>>907
共通controller.phpってなんでしょ??

>>908
それだと$this->でアクセスできないような・・・
0910nobodyさん2012/05/06(日) 00:28:26.16ID:???
CController拡張したControllerを一個作ってそこに共通のfunction書くとかじゃだめなのか
0911nobodyさん2012/05/07(月) 22:04:44.22ID:???
assets/[あれこれ]/css/jsパス
あれこれになんの意味があんの?
0912nobodyさん2012/05/07(月) 22:25:24.39ID:???
>>911
複数module等を利用した際にインストール先のPathが分けられるメリットとか?
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:???
今までCake使ってて、新しい案件をYiiで作るか迷ってる
乗り換えてオススメなことってある?
09159142012/05/10(木) 14:45:21.73ID:???
ちなみに英語力には問題ない
0916nobodyさん2012/05/10(木) 16:12:46.44ID:???
好きなfwで作れよ
英語力問題ないなら自分で触って確かめた方が早い
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:???
普通にPHP使うなら、どのみちアクセスする度に呼び出しになるのでは?
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:???
クレジットカード使え
0925nobodyさん2012/05/12(土) 11:01:03.42ID:???
>>922
そこに気づくとは…やはり天才か。
0926nobodyさん2012/05/13(日) 20:35:47.46ID:???
アクションのURLにアンダーバー使いたいんだけど、どうしたらいい?

class PostController extends CController {
 actionCamelCase(){}
}

だと
/post/CamelCase
になる
/post/camel_case
こうしたい

actionCamel_Case(){} //これじゃ無理
0927nobodyさん2012/05/13(日) 20:46:25.34ID:???
>>926だけど忘れてくれ勘違いだった
0928nobodyさん2012/05/14(月) 19:52:05.55ID:???
$abc=123
最初こういうスペース開けないコーディングにすげえ違和感感じでどうしようかと思ったけど
最近見慣れてきたわ
0929nobodyさん2012/05/14(月) 20:37:37.30ID:???
自分も慣れてきちゃったな・・
逆にスペースがあるほうがキモいレベル
0930nobodyさん2012/05/15(火) 14:38:30.64ID:???
yii式の書式を修正するのに、書式成形ツールで良いのある?
0931nobodyさん2012/05/21(月) 20:44:09.25ID:???
日本でYiiを業務で使ってる事例を教えろ
0932nobodyさん2012/05/21(月) 21:49:46.69ID:???
俺の会社
0933nobodyさん2012/05/22(火) 11:18:40.53ID:???
使えばイイじゃない
プロダクションで使えないならバックヤード側で使ってみるとか
0934nobodyさん2012/06/01(金) 22:36:34.22ID:???
モデルはデータアクセスとデータそのものの2種類が意味があると思いますが、
Yiiのモデルはこれらを1つのクラスで実装しますよね。
モデル自体が1つのデータを表してるのに、自身のクラスでfindAll()のように
複数件返す仕組みに違和感が…

DAOのように、データ自体とデータアクセスクラスが分かれてる方がしっくり
来るんですが、どちらが良いとかあるのでしょうか。
またYiiでもDAOクラスが用意されてますが、このクラスを使うときはモデル内で
DAOのコードを書くべきなんですよね?
0935nobodyさん2012/06/02(土) 12:39:59.43ID:???
>>934
俺も自身のクラスに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
>>936
間違えました
>・onBeforeSave()
>・onBeforeValidate()
・beforeSave()
・beforeValidate()
上記が正しいです
0938nobodyさん2012/06/04(月) 17:52:20.51ID:???
モデルにtrue/falseを返す連続投稿をチェックするメソッドを作って
コントローラでそれを呼び出して条件分岐するか
あとはビューで条件分岐して、falseの場合のみフォームを表示させるとか

0939nobodyさん2012/06/08(金) 04:03:52.70ID:???
recirectの第二引数は、その後のmethodを実行するか否かとマニュアルに書いてあるが、
falseにしてもtrueにしても、その後の処理は実行されない。

$this->redirect('http://example.com', false);
$this->hoge();

hoge()が実行されない。何か勘違いしてますか?
0940nobodyさん2012/06/08(金) 09:24:17.60ID:???
別のサイトに移動したらそりゃメソッドは実行されないよ
0941nobodyさん2012/06/08(金) 12:58:36.07ID:???
>>940
重複した種類のheaderを纏めるかどうかという引数のようですね。
勘違いしていました。
0942nobodyさん2012/06/10(日) 10:01:06.80ID:???
$model1->save()
$model2->save()
上記が2つ成功して初めてsave()したいのですが、どうしたらいいでしょうか?
0943nobodyさん2012/06/10(日) 11:27:02.85ID:???
トランザクション
0944nobodyさん2012/06/10(日) 15:31:20.57ID:???
>>943
DBの機能ってことでしょうか?
Yiiだけで実現できます?
0945nobodyさん2012/06/10(日) 22:29:41.16ID:???
>>944
フレームワークを使う前に、DBを含めたWEBプログラミングの基礎的な勉強をしたほうがよい。
0946nobodyさん2012/06/11(月) 09:25:07.29ID:???
>>942
model1のidを保存してmodel2が失敗したらmodel1をdeleteするw
0947nobodyさん2012/06/13(水) 15:18:45.45ID:???
あーYiiマジでYii!
めっちゃ気持ちよく開発できる
CakePHPで作ったシステムもさっさとYiiにしたいけど結構規模大きいので面倒だ
0948nobodyさん2012/06/13(水) 18:24:24.37ID:???
>>942
これ参考にすると良いと思います
http://www.yiiframework.com/doc/guide/1.1/ja/database.ar#sec-11
0949nobodyさん2012/06/16(土) 19:41:32.57ID:???
Imageエクステンション使ったら、
モデルのImageとかぶってエラー起きた
モデルの名前変更するしか無いかな?
0950nobodyさん2012/06/21(木) 18:03:32.21ID:???
yes it is
0951nobodyさん2012/06/21(木) 21:01:36.62ID:???
configから名前変えられたような
0952nobodyさん2012/06/27(水) 20:16:53.38ID:???
yiiのwebサイトのfunctionマニュアルって
配布されてないの?

ダウンロードできるマニュアルってあれに比べると
使い勝手落ちる

多分あれはYiiで作成されているんだと思うが。
0953nobodyさん2012/06/30(土) 01:06:46.89ID:???
CakePHPでいうapp_controllerやapp_modelみたいな
全コントローラ・クラスに継承させられるクラスってある?

自分でわざわざMyCControllerつくって
手動でそれを継承させないと無理かな?
0954nobodyさん2012/07/02(月) 14:07:50.65ID:???
やっと最近CakePHP2の初心者レベルをパスしたレベルなんだが、Yiiっていいのか
今からまた勉強するのもおっくうだがこれを見ると迷う
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:???
>>953
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:???
というか既に答えでてるわなw
コントローラーはコントロールをするものであり名詞
0959nobodyさん2012/07/21(土) 16:41:36.22ID:???
>クラスは名詞
>メソッドは動詞
なるほど、サンクス
0960nobodyさん2012/07/21(土) 17:46:36.46ID:???
最近更新ないねー
0961nobodyさん2012/07/21(土) 18:12:55.14ID:mc4IJPZ4
データだけ返すモデルを
protected/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:jv1g1zQt
1.1.11来てるね
0964nobodyさん2012/07/30(月) 21:13:29.54ID:CcejVExF
なにがかわったの?
0965nobodyさん2012/07/31(火) 16:32:26.25ID:???
>>964
公式HPにきちんと書いてあるんだから見れ。

2.0はまだかな〜
0966nobodyさん2012/08/04(土) 03:12:01.01ID:rmgfBjt+
5.4に対応したYii出るのかな
0967nobodyさん2012/08/04(土) 03:36:43.31ID:???
Yiiなお前らが次に目をつけてるFWは何かな?そっと教えてごらん
0968nobodyさん2012/08/04(土) 03:49:44.18ID:???
FuelPHP
書籍もでてるし
0969nobodyさん2012/08/05(日) 12:39:40.82ID:???
2.0は5.3.8系の予定だよ
http://www.slideshare.net/samdark
0970nobodyさん2012/08/05(日) 18:30:28.91ID:???
どうせなら5.4でもよさそうだけどなぁ
0971nobodyさん2012/08/06(月) 00:44:04.95ID:???
「どこでも動く」ことに重きを置いてるから5.8に留めるらしい。
まあ5.4上で動かしても何ら問題ないと思うけど
0972nobodyさん2012/08/08(水) 06:57:57.91ID:jQ2fQMzJ
HTMLに出すページのタイトルとして、
コントローラの名前と
アクションの名前を設定したいんだけど、
それぞれ共通の $this->pageTitle;って値持ってるよね
どうしたらいいんだろう
0973nobodyさん2012/08/08(水) 09:55:44.61ID:???
action | controller | title
みたいなタイトル作りたいってこと?常に固定だったらCController::getPageTitle()拡張して
return Yii::app()->controller->id. ' | '. Yii::app()->action->id. ' | '. $this->_pageTitle;
とか。
あるいはpushPageTitle()でも作って適当なところで$this->_pageTitleにスタックさせるとか。
0974nobodyさん2012/08/09(木) 16:53:44.99ID:sQlC8OJZ
YiiはCakePHPでいうところのapp_modelがないみたいですけど、
createdフィールドのような保存したときに自動でタイムスタンプを保存する機能を実装したい場合、
モデルを作る度にbeforeSave()にその処理を記述しないといけないんでしょうか?
0975nobodyさん2012/08/09(木) 20:13:16.41ID:???
>>974
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:???
>>974
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
CIはフルスタックじゃないだろ
フルスタックでYiiより速いのってあるか?
あと使って初めて気づくけど、色んな点で感動する
どこで?って言われると忘れてるぐらいの細かい点だけどね
0980nobodyさん2012/08/11(土) 20:21:38.05ID:???
わかるわぁ。
でもうまく説明できないわ。
とにかく高機能で、かつ設計が練られてるから拡張しやすくて便利なんだよね。
コアのソースを読めて、英語のドキュメントなりフォーラムを見て解決できる力があればつまることもないし。
0981nobodyさん2012/08/12(日) 20:34:09.40ID:???
ソースが読みやすい
レス数が950を超えています。1000を超えると書き込みができなくなります。