TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【スレッド】2ch型掲示板 15 【フロート型】
PHP関連サイト
新しくperlで標準で欲しい関数は?
【Java】Play framework【Scala】
インストールマニアックス3 Hyper-V祭 Part2
PHPBB
Ajax vs Javaアプレット vs FLASH
おいおまら誰か教えてくださいHTML・・・
☆負荷軽減対策委員会(Perl、PHP)★
【PHP】フレームワークPharonスレ
【PHP】Yii Framework Part 2
- 1 :2012/08/13 〜 最終レス :2019/05/09
- 前スレDat落ちでまさかの2スレ目。流行れ!
公式
ttp://www.yiiframework.com/
チュートリアル
ttp://www.yiiframework.com/doc/guide/
公式フォーラム
ttp://www.yiiframework.com/forum/index.php?/forum/21-japanese/
- 2 :
- ・Yiiとはなんですか?
イーと発音します。"Yes It Is!"の略で「速い?安全?使える?」と言った質問にそのように答えるらしいです。
つまり口からはいと垂れる前にイーと答えろ!わかったな!
・必要条件は?
PHP5.1以上。ちょっと古い鯖でもいけるね!DBはMysqlでもSqliteでも。APC推奨。
・Yiiは何に向いてるの?
軽量で洗練されたキャッシュ機構を持ってるらしいから高負荷のアプリ、例えばポータル・フォーレム・CMS・EC等に向いてるらしいよ。
・他のフレームワークに比べてどうなの?
機能が豊富。ドキュメントが充実してる。設計がイケてる。
Symfonyより楽。Cakeより軽い。CodeIgniterより高機能。バランス派。
- 3 :
- ブログチュートリアル
ttp://www.yiiframework.com/doc/blog/1.1/ja
パフォーマンス比較
ttp://d.hatena.ne.jp/cakephper/20110802/1312275110
ブログ記事
ttp://www12.atpages.jp/~nekomike/blog/2011/12/03/%E5%88%9D%E3%81%AEphp%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFyii%E3%81%A7%E8%A1%8C%E3%81%93%E3%81%86%EF%BC%811%E6%97%A5%E7%9B%AE/
ttp://d.hatena.ne.jp/tjtjtjofthedead/archive?word=*%5Byii%5D
ttp://d.hatena.ne.jp/tanakahisateru/20120105/1325759589
ttp://d.hatena.ne.jp/cake67/searchdiary?word=Yii
ttp://livejamdb.blogspot.jp/search/label/Yii%20Framework
- 4 :
- Yii2について
http://www.slideshare.net/samdark/alexander-makarov-yii2-whats-new
・PHP5.3.8以上
・ネームスペース
・PSR-0準拠
そのうち出る
- 5 :
- このフレームワークは書籍でてる?
- 6 :
- ttp://www.yiiframework.com/news/?tag=books
日本語の書籍は無い。
そのかわり公式の日本語ドキュメントはしっかししてる
- 7 :
- パート2になって更に人気出ると良いね
良さが伝われば絶対に流行ると思う
- 8 :
- 後発なだけあって完成度が高い
- 9 :
- テーマ集めたサイトがあったので
ttp://yiithemes.mehesz.net/themelist
こういうの見ると本当に海外にはユーザ結構いるんだなと思う
- 10 :
- すげーな。
日本じゃ考えられん。
- 11 :
- public function behaviors(){
return array(
'CAdvancedArBehavior' => array(
'class' => 'application.extensions.CAdvancedArBehavior'
),
'CTimestampBehavior' => array(
'class' => 'zii.behaviors.CTimestampBehavior',
'updateAttribute' => 'updated',
'createAttribute' => 'created',
)
);
}
これでsave()すると、createdはちゃんと時間入れてくれるのに、
updatedは入れてくれない
フィールド名は合ってる
- 12 :
- 自己解決
新規保存のときはupdatedに入れてくれないのね
DB側で DEFAULT 0 とかするしかないか
- 13 :
- 1乙。でもフォーレムって何だw
Yii2って互換性はどーなるの?
- 14 :
- なんかモデルを更新したりコントローラを更新したりしても
挙動がおかしい気がするんだけどキャッシュって自動でされたりしないよね?
- 15 :
- >>11
'setUpdateOnCreate' => true,
↑追加したらアップデート時もいれてくれる。
- 16 :
- >>14
コントローラは知らんがモデルは設定によってはスキーマをキャッシュする。schemaCachingDurationとか設定されてない?
- 17 :
- >>13
AR周りが大きく変わるしCFormModelもなくなるって言うから完全な互換は無理じゃないかなあ
- 18 :
- 1.1.12来てるね
前スレ
【PHP】Yii Framework
http://kohada.2ch.sc/test/read.cgi/php/1291909271/
- 19 :
- ほとんどバグ修正だな
てかその前の更新でDHTMLXとの統合って書いてあるっぽいけど組み込まれるの?
なんかExt4Yiiみたい
- 20 :
- Yii2っていつでるの?
今開発してるサイト2にしたほうがいいのかな
完成度5割ぐらいだけど
- 21 :
- 年内に出るといいな
- 22 :
- 年内にベータくらいはでてほしいね。
- 23 :
- 日本ユーザグループリニューアルしたよ
http://yiijan.org/
- 24 :
- 公式サイトみたいにスッキリさせろよ
なんだよこのXoopsみたいなデザインは
- 25 :
- あやまれ!Xoopsにあやまれ!
- 26 :
- でもこういう日本語のサイトができるのは大きな一歩だよ
今後もCake並に普及したらいいと思う
反面結構使いやすくて効率良いから、
他の人に知られたくないみたいな気持ちも多少あったりする・・・俺だけだと思うけど
- 27 :
- >>23
もうデザイン変更されててわろた
>>24-25でデザイン批判されたからか?w
- 28 :
- やっぱ見た目って大事だよなw
- 29 :
- いくら素晴らしいものでも
公式サイトがWeb黎明期みたいじゃ誰も使いませんよ
HPビルダー臭がしてもCMSそのまんま感がしても一緒
- 30 :
- 今のデザインはいいの?
- 31 :
- Yiiはモデルにビジネスロジックを書きますが、例えば
$product = new Product();
$product->price = 100;
$product->getTaxPrice();
public function getTaxPrice()
{
return $this->price * 1.05;
}
みたいな書き方はOKなんでしょうか。
それとも、getTaxPrice($price) と書くべきなんでしょうか。
上の書き方がOKの場合→開発者はどのプロパティに値をセットして良いのか分からない
getTaxPrice($price)の方が良い場合→モデルをsave()する際はプロパティに値をセットしてるのにこのときだけ引数で対応??
- 32 :
- 両方に対応させたらいいんじゃね?
public function getTaxPrice($price=null)
{
return ($price===null) ? $this->price * 1.05 : $price * 1.05;
}
- 33 :
- なんかJAVAっぽい
その辺はもう好みの問題じゃないかなあ。
個人的にはgetTaxPriceからpriceは想像できるからそんな不自然でもないと思う。
税込価格で扱っている方が手間がないからプロパティは$this->basePriceにしてpublic function getPrice()にするとか。
ちなみにYiiはget/setを省略してプロパティとして呼べるので
public function getTaxPrice()なら$product->taxPrice;でいい。
- 34 :
- なるほどー。
getTaxPrice()はシンプルな構成でしたが、ロジックによっては
複数のプロパティをセットしなければならない場合もありますよね。
そのとき、分かりにくいかなと思った次第です。
かといってメソッド引数に渡すのも微妙な感じです。
例えば user、user_profilesに同時にレコードを登録する場合、Userモデルのクラスに
public function save(User $user, UserProfile $profile)
{
$user->save();
$profile->save();
}
とは多分書きませんよね。普通は
public function save($profile)
{
$this->save();
$profile->save();
}
といった感じでしょうか。
あと両方に対応させるとなると、全てのビジネスロジックメソッドで同様の処理が必要となり、冗長かなぁと思いました。
- 35 :
- public function relations(){
return array('profiles'=>array(self::HAS_MANY, 'user_rofiles', 'user_id'));
}
リレーション作って
public function save()
{
$this->save();
$this->profiles->save();
}
じゃないかな。リレーション張れないようなものであれば多分一緒のモデルでSaveするべきじゃない
- 36 :
- お、それは良さそうですね。
参考になりました。ありがとうございます
- 37 :
- save()に引数がないと、テーブルのリレーションを知らない開発者は
どのプロパティに値を追加すれば良いか判断がつかない気がする。
例えばUser、UserProfilesが必須で、条件によってUserActivitiesへのインサートが必要な場合とか。
- 38 :
- 複數のモデル絡んだ入力ならFormModelでまとめたらいいとは思う
引数に入れるのは依存するクラスが増えると無制限に引数増えるから個人的には避けたいかなあ
- 39 :
- ユーザーIDを元にユーザーテーブルからユーザー情報ひっぱってくるっていう処理が
あらゆる場所にかかれてしまうんだけど、これはしょうがないのかな
まとめるとしたらどのファイルに記述したらいいんだろう
- 40 :
- $post->attributes=$_POST['Post'];
で、自動的に格納してくれるフィールドって、
DBにフィールドがある場合のみ?
リレーションで、categoriesなんてのがある場合も自動で入れてくれる?
Postモデルに2つのリレーション(どちらもMANY_MANY)を作っていているんだけど、
片方だけ入るのはどうして??
- 41 :
- >>40
自己解決した。
http://www.yiiframework.com/doc/guide/1.1/ja/form.model#sec-4
必須項目でもなんでもなかったので、
バリデーションルールに属性が書かれていなかったので「安全」とされずに
一括代入で代入されていなかったようだ。
いや〜理解すればするほど、よくできてるなぁと思う。
- 42 :
- コントローラで
class HogeController extends Controller
{
public function actionCreate($name)
{
$account=Account::model()->findByAttributes(array('name'=>$name));
/hoge/create/myname1234
みたいにURLから引数を受け取りたい場合って、
わざわざconfig/main.phpのurlManagerで設定しないとダメなの?
- 43 :
- 要点を得てないかもしれないが
/hoge/create?name=myname1234&age=17が嫌で
/hoge/create/name/myname/1234/age/17みたいなURLパターンが使いたいなら
'<controller:\w+>/<action:\w+>/*'みたいに末尾を*にするとname/valueのパターンが繰り返される
- 44 :
- >>43
ありがとうございます。
*を追加する方向でいきます。
あと、もう1つ別の質問があるのですが、
return array(
'condition'=>'t.status=:status',
'params'=>array(
':status'=>1,
),
);
scopes()や、Dbcriteriaなどで使う条件のparamsで、
上記のように数値でstatusを渡すと思い通りに帰ってこなく悩んだのですが、
':status'=>'1'
のようにしなくてはいけないのですね。
これは内部的には数値と文字列を別々にしているということだと思いますが、
MySQLの場合、どれが数値でどれが文字列として解釈されるのかというのを説明したページってありますか?
上記の場合はENUMでstatusを設定していました。
- 45 :
- YiiJanとかドキュメントでLinkPagerとかGridViewについての記事を見ても
使おうという気にならない
どこで使えばいいか、どう便利なのか全然わからん
- 46 :
- 管理画面がサッと作れて便利ちゃう?
- 47 :
- 地域別人気度
インドネシア 100
インド 79
ウクライナ 74
ロシア 60
ベトナム 44
ポーランド 14
中国 13
ブラジル 13
イタリア 10
スペイン 9
- 48 :
- yii framework使って仕事したい
- 49 :
- 受託で小さめの案件なら勢いだけで採用してもいいんだけどねえ。
あとは独立しかない…
一応使ってる会社もあるらしいよ
ttps://speakerdeck.com/crifff/yii
- 50 :
- サーバーにあげると極端にセッションの接続時間が短くなるんだけどどういう理由が考えられる?
・phpinfoのsessionの項目はローカルとサーバで同じ
・configの user['allowAutoLogin'] は true
・もちろんローカル、サーバ全く同じプログラム
LoginForm.phpのlogin()処理は
$duration=3600*24*30; // 30 days
Yii::app()->user->login($this->_identity,$duration);
みたいに30日間続くようにしている
ローカルではこのとおり動いていそうなんだけど、
サーバにあげるとすぐに切れる
ini_set()でsession.gc_maxlifetimeが1440に設定されているけど
変えないといけないのかな?
しかし、ローカルで1440秒以上続く理由がわからない・・・
- 51 :
- index.phpでsession.gc_maxlifetimeを設定してもダメだった。。。
なんだ???わけがわからん・・・
- 52 :
- まったく知らずに言うけどドメインかhttpsのどっちかじゃないかな
- 53 :
- >>52
ありがとう!!!!!!!!
,. < ̄ ̄ ̄ ̄ ̄ > 、
/ ヽ _
〈彡 Y彡三ミ;,
{\ \|_ \>ー 、 ト三三ニ:}
人{ >、,___.>、/三 ヾ\ |わ三彡;!
/./ トミ;,_ Y/ \>ノー〜=- "
V / /!  ̄ ̄ ゝ | / _
し/'┴──----─''| ン}\-ヾ彡
ヾ、___ノー'''`
- 54 :
- >>53
当たり!? 良かったー。お疲れ様〜
- 55 :
- >>54
当たりというかドメイン関係の発想で
レンタルサーバだったからセッションの保存先変えたらいけました
- 56 :
- CakePHPがあまりにもダメダメだったので
純粋なOOPフレームワークであるYiiに乗り換えました。
宜しくお願い致します。
- 57 :
- Yiiを一言で表すと、「かゆいところに手が届く」って感じだよな
- 58 :
- >>56
次にお前はPHPがあまりにもダメダメだったのでrailsにしましたと言う。
- 59 :
- PHPは言語でRailsはフレームワーク。
しっかりしろよ。
- 60 :
- ・データキャッシュ
・フラグメントキャッシュ
・ページキャッシュ
お前らが一番使ってるキャッシュってどれ?
なんかデータキャッシュやらクエリキャッシュを見ても、
もうページキャッシュでいいじゃんって思ってしまうんだが
- 61 :
- >>59
RailはDSLなのでRubyの方言と言って差し支えないレベルなのであながち間違ってないんじゃないでしょうか
>>60
俺はむしろページキャッシュ全然つかわないなあ、一部データキャッシュしてる程度
ブログとか投稿系メインならページキャッシュがいいんだろうけどそういうサイトでもないし
- 62 :
- ページキャッシュは使い所が限られすぎて存在を忘れるレベル
ヘッダにログインしてるかどうかみたいな表示があったらもう使えないからなぁ
フラグメントキャッシュは物珍しさに一回使ってみたけど、なんかお肌に合わなかった。
データ更新したときのためにDependency付けたりするとviewがまたごちゃごちゃしだすんだよな・・。
- 63 :
- >>62
じゃあキャッシュ使ってないの?
- 64 :
- >>63
普通のデータキャッシュはよく使うよ。
findByPkの結果をキャッシュしたりするし、大したサイズが無いマスターテーブルなんかは期限1日で丸ごとキャッシュしてる。
- 65 :
- >>64
都道府県テーブルとかキャッシュしたいんだがどこでどのタイミングでキャッシュ&破棄したらいいのかわからない
Yiiの話か微妙だけど・・・
- 66 :
- なんで都道府県キャッシュ?
- 67 :
- あらゆる場所で多用するので、
そのたびにDBにアクセスしてひっぱってくるのは負荷が高い気がするので
リレーションで他のテーブルと結合したりもするのですが
とにかく使用度が高い
- 68 :
- 都道府県なんて10年単位で見ても変化する確率低い物を、
DBから呼び出しでるって時点で設計が間違ってるのでは?
DBで管理するにしても、変更時に静的ファイル生成しちゃったほうが早いだろ。
- 69 :
- いや、最初そうしてたんだけど、
都道府県でリレーション組んでるので結局ActiveRecordに変えた
SNSのようなものを作っていて、
都道府県別のユーザー数を統計クエリで集計できるのでARだとすごい便利
class Prefecture extends CActiveRecord
{
public function relations()
{
return array(
'users'=>array(self::HAS_MANY, 'User', 'prefecture_id'),
'userCount' => array(self::STAT, 'User', 'prefecture_id'),
);
}
}
↑こういうのはやっぱりテーブルで持たないと不便(無理?)ですよね?
- 70 :
- そのprefecture_id
が指し示す都道府県名を利用するのって、県名を表示する時だけでしょ。
それ以外は数字のみで管理・照合してるんだから、都道府県のテーブルなんていらないんじゃね?
- 71 :
- 自分ならモデルにconstするわ
- 72 :
- 県名を参照するだけであれば確かにstatic変数や定数をもったモデルを作るのが良いのだけれど、
>>69のような統計クエリや、MANY_MANYリレーションをつくるときはやっぱりActiveRecordじゃないとダメですよね?
今はHAS_MANYになってるけど、これはもうMANY_MANYに変わります
そうなるとやっぱりAR使うしか無いような気がするんですが、どうでしょう??
- 73 :
- DBに入れて外部キー貼ってればツールで見た時に解りやすいし
YiiはARのAttributesに含まれてるほうが何かとチョロいので個人的にはDBにいれるなー
好みじゃないかなー
- 74 :
- まぁ都道府県の増減はまずないだろうから定数でもいいとは思うけれど
基本変更が殆どないマスタデータって考えれば、テーブル管理でもいいと思うよ
ここは定数、こっちはテーブル、みたいな使い分けするよか全部テーブルってしたほうが
例外パターンとかを決める必要がないので自分はこっちのほうが好きかな
あとは要件次第(ものっそいシビアなパフォーマンス要求されるならDBアクセスも減らすべきじゃね、とかそういう)
- 75 :
- http://qiita.com/advent-calendar/2012/yii
書いてもいいのよ
- 76 :
- 金どる
- 77 :
- (´・ω・`)findAll()
- 78 :
- >>62
ダイナミックコンテンツを使え。超便利。
サイトトップはメインはページキャッシュ使いつつ、ログイン表示とか部分的に動的に出力してる。
ttp://www.yiiframework.com/doc/guide/1.1/ja/caching.dynamic
- 79 :
- キャッシュに関するノウハウが欲しいな
どこでどういうキャッシュ使えばいいのかまとめて欲しい
ってわけで>>75のサイトで誰か書いて
- 80 :
- 1.1.13来たね
ttp://www.yiiframework.com/news/65/yii-php-framework-1-1-13-is-released/
- 81 :
- http://www.yiiframework.com/files/CHANGELOG-1.1.13.txt
大して変わったことないかな?
- 82 :
- 大きな変更といってもjQueryとPHPUにtのバージョンアップくらいかなあ
- 83 :
- カイブツクロニクルってゲーム、Yiiで作られてるのかな?
ttp://gcwiki.jp/kaibuz/index.php?kako_wiki_zs8
CDbTransactionで検索。
エラーメッセージが同じ。
- 84 :
- モデルのデフォルト値で、
空白の場合だけ設定したいんだけどどうしたらいいの?
- 85 :
- 海外のFWレビューでは人気が出てきたYiiも日本ではさっぱりだね
http://webrevisions.com/tutorials/php-framework-the-best-php-framework-for-2013/
http://codegeekz.com/best-php-frameworks-for-developers/
http://www.phpframeworks.com/top-10-php-frameworks/
日本語でもブログとかで情報がぼちぼち出てきてる感じだけど、まだまだ注目されてる感じじゃない。
公式ガイドの日本語訳も頑張ってるけど、クックブックが翻訳されればもっといいんだけどね。
・Yii Application Development Cookbook Second Edition
http://yiicookbook.org/
・サンプルコード
https://github.com/samdark/yii-application-cookbook-2nd-edition-code
- 86 :
- 英語アレルギー+現在のPHPマの大半が新規勉強をやる気持ちが足りてないから、難しいんじゃないかなぁって感じ。
- 87 :
- 英語ができないやつがどうやってプログラム書けるの?
プログラムって英語じゃん
- 88 :
- >>87
ヒント: shain_bango
- 89 :
- yiiって、他のフレームワークにあるみたいに、DBの日付のカラム名をcreated_atに指定したりすると、
フォーム処理の際に自動的に現在の日付を入れてくれるって機能はないですか?
- 90 :
- 89です。
×DBの日付のカラム名をcreated_atに指定したりすると、
○DBの日付のカラム名をcreated_atなど決められた名前にすると、
- 91 :
- 89です。
すいません。自己解決しました。
beforeSaveをオーバーライドすればよかったんですね。
- 92 :
- beforeSaveで削って、db側でevent作ってあげれば楽だよね
updated_atも処理出来る
- 93 :
- http://www.yiiframework.com/wiki/10/how-to-automate-timestamps-in-activerecord-models/
カラム名で判別するわけじゃないけど、自動タイムスタンプの3パターンやり方が書いてある
・rulesのonオプションupdate,insert
・beforeSave()
・CTimestampBehavior
- 94 :
- protected/runtimeのapplication.logにログが更新されなくなりました。
今日の朝はまでは問題なく仕事から帰ってきたら突然なってました。
特にmain.phpの設定は変えていないのですが・・・・。
何かわかる方いらっしゃいますか?
runtimeのパーミッションは777
application.logのパーミッションも777にしてみましたが、ダメでした。
application.logファイル自体を消してみても、新しいファイルは作成されませんでした。
以下がmain.phpの設定です。
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
'filter'=>'CLogFilter',
),
array(
'class' => 'CProfileLogRoute'
),
// uncomment the following to show log messages on web pages
/*
array(
'class'=>'CWebLogRoute',
),
*/
),
),
- 95 :
- levels に trace 加えても作成されない?
- 96 :
- 公式ガイドとブログチュートリアル一通り読んだんだけど
viewのウィジェットが訳わかめ
CListViewだのCGridViewだのみんな使ってるの?
- 97 :
- >>95
ありがとうございました。trace加えたら、ログが出てきました。
でも、traceを消したら、またでなくなるって感じです。
今までtrace無い設定でうまくログが出てたんですけどね・・・。
- 98 :
- >>96だけど自己解決しました
http://www.yiiframework.com/forum/index.php/topic/4532-renderpartial-vs-widget/page__p__24257#entry24257
- 99 :
- ウィジットもコントローラないとリストの検索とかページネートとかやり難くないんかな?
- 100 :
- CListView、CGridViewが便利なのはわかった
面倒なことを勝手にやってくれるすごい奴
100〜のスレッドの続きを読む
●●Perlって死滅しちゃうの????●●
携帯サイトのWebプログラムを語ろう Part3
PHPでオークションサイトを作ろう!
【PHP】セッションについて語ろう!【PHP】
インストールマニアックス3 Hyper-V祭 Part2
++++FF ADVENTURE++++
CGI VS PHP VS JAVA
他所のCookieを読み込みたいのですが
OpenPNE その6
外部2ちゃんねるread.cgi
--------------------
【話題】三浦瑠麗「私権制限に反対してきたリベラルが政府にもっと果断な対応しろと要求、それに政府が消極的になるシュールな状況」 [緑の人★]
【函館】オリエンタルな街 【地元民も】
☆和製HIP-HOP、ラップ総合スレ★
Fate/Grand Order まったりスレ5180
ニコニコ生放送 part10348 精神崩壊なぼキチ
沖縄県「首里城火災、我々の防火体制に問題なかった」
蒼い夜そして【ソン・シギョン】です★本館★9夜目
【堅牢】VHSデッキ総合 2台目【廉価】
雑
ひとり旅同好会 part7
【Altern8】
艦隊これくしょん〜艦これ〜鹿屋基地スレpart238
連続テレビ小説 なつぞら ★253
【一番輝いてね♪】藤谷美紀【応援してるからね♪】
きらクラ! 11スレ目ダンケシェーン
【細貝嫁】中村明花118【タイ情報はまだですか】
【キチガイ】B'z信者【荒らし】
逃走中&戦闘中 ★59
近江知永 + 2 +
福岡 釣り 28
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼