【PHP】Yii Framework Part 2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/08/13(月) 22:16:39.44ID:???公式
ttp://www.yiiframework.com/
チュートリアル
ttp://www.yiiframework.com/doc/guide/
公式フォーラム
ttp://www.yiiframework.com/forum/index.php?/forum/21-japanese/
0002nobodyさん
2012/08/13(月) 22:29:33.32ID:???イーと発音します。"Yes It Is!"の略で「速い?安全?使える?」と言った質問にそのように答えるらしいです。
つまり口からはいと垂れる前にイーと答えろ!わかったな!
・必要条件は?
PHP5.1以上。ちょっと古い鯖でもいけるね!DBはMysqlでもSqliteでも。APC推奨。
・Yiiは何に向いてるの?
軽量で洗練されたキャッシュ機構を持ってるらしいから高負荷のアプリ、例えばポータル・フォーレム・CMS・EC等に向いてるらしいよ。
・他のフレームワークに比べてどうなの?
機能が豊富。ドキュメントが充実してる。設計がイケてる。
Symfonyより楽。Cakeより軽い。CodeIgniterより高機能。バランス派。
0003nobodyさん
2012/08/13(月) 22:39:46.35ID:???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
0004nobodyさん
2012/08/13(月) 22:48:41.80ID:???http://www.slideshare.net/samdark/alexander-makarov-yii2-whats-new
・PHP5.3.8以上
・ネームスペース
・PSR-0準拠
そのうち出る
0005nobodyさん
2012/08/14(火) 09:08:40.96ID:???0006nobodyさん
2012/08/14(火) 10:03:24.53ID:???日本語の書籍は無い。
そのかわり公式の日本語ドキュメントはしっかししてる
0007nobodyさん
2012/08/14(火) 11:20:31.31ID:Gol/k/SD良さが伝われば絶対に流行ると思う
0008nobodyさん
2012/08/14(火) 14:49:32.06ID:???0009nobodyさん
2012/08/15(水) 15:05:50.95ID:???ttp://yiithemes.mehesz.net/themelist
こういうの見ると本当に海外にはユーザ結構いるんだなと思う
0010nobodyさん
2012/08/15(水) 19:00:34.55ID:???日本じゃ考えられん。
0011nobodyさん
2012/08/16(木) 21:59:35.96ID:enTIr59oreturn array(
'CAdvancedArBehavior' => array(
'class' => 'application.extensions.CAdvancedArBehavior'
),
'CTimestampBehavior' => array(
'class' => 'zii.behaviors.CTimestampBehavior',
'updateAttribute' => 'updated',
'createAttribute' => 'created',
)
);
}
これでsave()すると、createdはちゃんと時間入れてくれるのに、
updatedは入れてくれない
フィールド名は合ってる
0012nobodyさん
2012/08/16(木) 22:10:05.73ID:enTIr59o新規保存のときはupdatedに入れてくれないのね
DB側で DEFAULT 0 とかするしかないか
0013nobodyさん
2012/08/16(木) 23:21:27.84ID:???Yii2って互換性はどーなるの?
0014nobodyさん
2012/08/17(金) 01:04:22.21ID:ShnfvB2s挙動がおかしい気がするんだけどキャッシュって自動でされたりしないよね?
0016nobodyさん
2012/08/17(金) 02:26:21.88ID:???コントローラは知らんがモデルは設定によってはスキーマをキャッシュする。schemaCachingDurationとか設定されてない?
0018nobodyさん
2012/08/20(月) 20:49:22.71ID:???前スレ
【PHP】Yii Framework
http://kohada.2ch.net/test/read.cgi/php/1291909271/
0019nobodyさん
2012/08/20(月) 21:33:22.22ID:???てかその前の更新でDHTMLXとの統合って書いてあるっぽいけど組み込まれるの?
なんかExt4Yiiみたい
0020nobodyさん
2012/08/20(月) 21:44:40.49ID:xPw81cJW今開発してるサイト2にしたほうがいいのかな
完成度5割ぐらいだけど
0021nobodyさん
2012/08/20(月) 22:06:35.76ID:???0022nobodyさん
2012/08/20(月) 22:24:24.65ID:???0023nobodyさん
2012/08/22(水) 18:49:12.60ID:???http://yiijan.org/
0024nobodyさん
2012/08/23(木) 03:27:48.15ID:???なんだよこのXoopsみたいなデザインは
0025nobodyさん
2012/08/24(金) 13:44:17.79ID:???0026nobodyさん
2012/09/09(日) 23:52:20.59ID:???今後もCake並に普及したらいいと思う
反面結構使いやすくて効率良いから、
他の人に知られたくないみたいな気持ちも多少あったりする・・・俺だけだと思うけど
0028nobodyさん
2012/09/12(水) 21:21:21.36ID:???0029nobodyさん
2012/09/12(水) 21:31:02.16ID:???公式サイトがWeb黎明期みたいじゃ誰も使いませんよ
HPビルダー臭がしてもCMSそのまんま感がしても一緒
0030nobodyさん
2012/09/13(木) 06:05:24.32ID:???0031nobodyさん
2012/09/16(日) 16:40:17.42ID:???$product = new Product();
$product->price = 100;
$product->getTaxPrice();
public function getTaxPrice()
{
return $this->price * 1.05;
}
みたいな書き方はOKなんでしょうか。
それとも、getTaxPrice($price) と書くべきなんでしょうか。
上の書き方がOKの場合→開発者はどのプロパティに値をセットして良いのか分からない
getTaxPrice($price)の方が良い場合→モデルをsave()する際はプロパティに値をセットしてるのにこのときだけ引数で対応??
0032nobodyさん
2012/09/16(日) 17:02:22.91ID:???public function getTaxPrice($price=null)
{
return ($price===null) ? $this->price * 1.05 : $price * 1.05;
}
0033nobodyさん
2012/09/16(日) 17:36:27.27ID:???その辺はもう好みの問題じゃないかなあ。
個人的にはgetTaxPriceからpriceは想像できるからそんな不自然でもないと思う。
税込価格で扱っている方が手間がないからプロパティは$this->basePriceにしてpublic function getPrice()にするとか。
ちなみにYiiはget/setを省略してプロパティとして呼べるので
public function getTaxPrice()なら$product->taxPrice;でいい。
003431
2012/09/16(日) 18:08:35.70ID:???getTaxPrice()はシンプルな構成でしたが、ロジックによっては
複数のプロパティをセットしなければならない場合もありますよね。
そのとき、分かりにくいかなと思った次第です。
かといってメソッド引数に渡すのも微妙な感じです。
例えば user、user_profilesに同時にレコードを登録する場合、Userモデルのクラスに
public function save(User $user, UserProfile $profile)
{
$user->save();
$profile->save();
}
とは多分書きませんよね。普通は
public function save($profile)
{
$this->save();
$profile->save();
}
といった感じでしょうか。
あと両方に対応させるとなると、全てのビジネスロジックメソッドで同様の処理が必要となり、冗長かなぁと思いました。
0035nobodyさん
2012/09/16(日) 18:59:08.85ID:???return array('profiles'=>array(self::HAS_MANY, 'user_rofiles', 'user_id'));
}
リレーション作って
public function save()
{
$this->save();
$this->profiles->save();
}
じゃないかな。リレーション張れないようなものであれば多分一緒のモデルでSaveするべきじゃない
003631
2012/09/16(日) 19:14:46.03ID:???参考になりました。ありがとうございます
0037nobodyさん
2012/09/17(月) 00:14:07.71ID:???どのプロパティに値を追加すれば良いか判断がつかない気がする。
例えばUser、UserProfilesが必須で、条件によってUserActivitiesへのインサートが必要な場合とか。
0038nobodyさん
2012/09/17(月) 01:03:42.06ID:???引数に入れるのは依存するクラスが増えると無制限に引数増えるから個人的には避けたいかなあ
0039nobodyさん
2012/09/24(月) 18:26:45.04ID:???あらゆる場所にかかれてしまうんだけど、これはしょうがないのかな
まとめるとしたらどのファイルに記述したらいいんだろう
0040nobodyさん
2012/09/24(月) 22:41:49.60ID:???で、自動的に格納してくれるフィールドって、
DBにフィールドがある場合のみ?
リレーションで、categoriesなんてのがある場合も自動で入れてくれる?
Postモデルに2つのリレーション(どちらもMANY_MANY)を作っていているんだけど、
片方だけ入るのはどうして??
■ このスレッドは過去ログ倉庫に格納されています