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

【PHP】Yii Framework

■ このスレッドは過去ログ倉庫に格納されています
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/
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は'女性'とかに置き換えるってのは無駄なのなんなのか、よくわからなくなって・・
■ このスレッドは過去ログ倉庫に格納されています