Yiiのノウハウ
#2
Posted 16 February 2009 - 06:59 AM
クックブック追加されましたね。
フォーラムのアカウントで誰でも投稿出来るみたいですが
自分はまだ披露出来るようなネタが無いです
hangmanのソース読んで、CHtmlヘルパーのlinkButton()とか自動で
jQueryと連動したボタン作ってくれるのに今さら気づいてビビッてる所です。
#3
Posted 16 February 2009 - 09:51 AM
hangmanのソースを読まれているんですね。私はまだblog demoしか読んでいません。でもリレーションがまだ使えるようになっていません。
#4
Posted 16 February 2009 - 09:41 PM
Quote
cookbookに投稿しました。不備、不明点等があればお知らせください。
http://www.yiiframew...oc/cookbook/12/
#5
Posted 24 February 2009 - 07:50 AM
思わず写真サイトとか作ってみたくなりました
僕はソースフォージにあるSQLiteマネージャーが使いにくかったので
もしフレームワークの中にデータベースマネージャーがあったら
メイン画面を見ながらDBテーブル構成も作成出来て最強じゃん??って思って
SQLiteマネージャー的な機能をYiiにぶち込もうとしてます
まだSQLiteが直接サポートしてないのでALTER TABLEとか入れるのに手間取ってますが
全テーブル名一覧と、各テーブルのステータス作成に使われたSQLが
一覧出来る様になりました。

SQLiteじゃyなくて、phpMyAdminみたいにMySQLでやれば需要ありそうですが・・・。
Attached File(s)
-
sqlm.gif (18.78K)
Number of downloads: 7
#6
Posted 24 February 2009 - 08:16 PM
私もblog demoを試験するのにMySQLに変えればphpMyAdminが使えるものの、
- (MySQLでは)ユーザ名、パスワードが露わになる
+ (SQLiteでは)データも含めてgoogleに登録できる
ことからSQLiteをコマンドラインから使用していました。
phpSQLiteAdminのようなものがあったようですが、開発が止まっていたと思います。こういうものがあれば便利で良いですね。
#7
Posted 25 February 2009 - 07:04 AM
ミソは、単なる開閉ならjqueryで数行でできるのですが、ページ遷移の際に状態を忘れてしまうのが欠点でした。今回はpersistJSを使用してクライアントサイドにその状態を記憶することでウィジェットの開閉の一貫性を持たせたことです。
// ああ日本語だと説明しやすいなぁ
http://www.yiiframew...msg5130#msg5130
#8
Posted 11 March 2009 - 12:42 AM
ドキュメント'basics.component'にビヘービアの章が追記されました。ビヘービアは1.0.2からサポートされました。以下のMixinをサポートするためのもののようです。
Quote
#9
Posted 20 May 2009 - 09:34 PM
1年以上のSymfony経験者なのですが、Symfonyと比べてYiiはどんな感じかなと思い、
これから触ってみようと思います。
ドキュメントの翻訳もお手伝いできればと思います。
よろしくお願いします
#10
Posted 21 May 2009 - 11:27 PM
その後CIをトライしてデモがすんなり動いたのでしばらくCIを勉強していましたが、ちいたんを経てYiiに至っています。よろしくお願いします。
#11
Posted 04 September 2010 - 08:11 PM
Yiiを使い始めて7カ月になります。
Symfonyより手軽でCakePHPよりわかりやすい?との印象ですでに実用にも使っているのですが、なにせネットでの検索対象としてはひどく少なく(自分も知れたことを発表していないのですが)て、時々困惑させられます。
今悩んでいるのは、rulesの使い方にほとんど実例が見つからない、ということ。フレームワークを使うのは、こうしたValidateが完備しているからこそだと思っていますが、実例が少ない。
どこかにrulesの実例を発表しているサイトがあれば、教えてください。
特に困っているのが、チェックボックスなどで複数選択した場合のrulesです。INでも、lengthでもエラーが出てしまいます。
INの場合:プロパティ "CRangeValidator.0" が定義されていません。 ※0って何か不明。
lengthの場合:strlen() expects parameter 1 to be string, array given
必須のために使っているわけではなく、エラーが発生した場合の値を保持するためで、フレームワークの便利なところなのでしょうが。
よろしくお願いします。
#12
Posted 05 September 2010 - 01:25 AM
> 特に困っているのが、チェックボックスなどで複数選択した場合のrulesです。INでも、lengthでもエラーが出てしまいます。
実際にどんなコードを書いてます?
rules()の中身と、viewのコードとか教えてもらえれば、なんかわかるかもしれないです。
#13
Posted 10 November 2010 - 04:34 AM
『リレーショナルアクティブレコード』について学んでいますが
わからない点や確認したいことがいくつかあります
Yii1.1.4でdbはMySQLの場合
1. 『MyISAMエンジンでもリレーションARができてしまうのはなぜか』
公式ガイドでは
『1.0.1版からはデータベースに外部キー制約が定義されていない場合でもリレーショナルARを使用することができます』、と書いてありますが
これは1.0.1版以降はMyISAMだろうがInnoDBだろうが、リレーションARができるよってことでしょうか
その後に、ER図を挟んで、
『情報: 外部キー制約のサポートはDBMS毎に異ります.......』という情報があり混乱しています
実際MyISAMでやるとできるのですが、自分の解釈はあっているのか不安です
2. 『リレーションされた2つのテーブルのcolumn名の分け方はどのようにするのか』
例えば
users, wordsという2つのテーブルがあり
usersにはid, username, password, email
wordsにはid, user_id, eng, jpnというcolumnがあるとします
models/Wordsのrelations()に
'users' => array(self::BELONGS_TO, 'Users', 'user_id'),
とした場合、controllers/WordsControllerのactionIndexにてusersの特定のusernameを取得するには現在
public function actionIndex() {
$models = Words::model()->with(array('users' => array('select' => 'username')))->findAll(array(
'select' => 'id, eng, jpn',
'condition' => 'user_id = ' . Yii::app()->user->id,
'order' => 't.id ASC',
));
$this->render('index', array(
'models' => $models
));
}
としています
ただ、『'select' => 'id, eng, jpn' 』部分のidは
words, usersテーブルふたつともにあるが、明確にしなくて良いのか
もうひとつ、『'order' => 't.id ASC'』部分のt.idとは何か、さっぱりわかりません
『words.id ASC』や『??.id ASC』など試して失敗し
いろいろ調べていて『t.id』というものを使っているのが目につき、やってみた結果たまたま上手くいったのですが
理解が全くできていないので、理解されている方、少しのヒントでもかまわないので、教えていただけないでしょうか
P.S alias, aliasTokenなども公式ガイドを読んでも理解できていない現状です...
#14
Posted 22 November 2010 - 12:45 AM
jamband, on 10 November 2010 - 04:34 AM, said:
『リレーショナルアクティブレコード』について学んでいますが
わからない点や確認したいことがいくつかあります
ただ、『'select' => 'id, eng, jpn' 』部分のidは
words, usersテーブルふたつともにあるが、明確にしなくて良いのか
もうひとつ、『'order' => 't.id ASC'』部分のt.idとは何か、さっぱりわかりません
『words.id ASC』や『??.id ASC』など試して失敗し
いろいろ調べていて『t.id』というものを使っているのが目につき、やってみた結果たまたま上手くいったのですが
理解が全くできていないので、理解されている方、少しのヒントでもかまわないので、教えていただけないでしょうか
P.S alias, aliasTokenなども公式ガイドを読んでも理解できていない現状です...
日本語公式ガイドが古いせいですね(私のせいです、すみません)。
Quote
とありますが、Yii 1.0までは'??.'であり、Yii 1.1からは't.'となったと思います。従って、't.id'で動作するのは正しい動作です。詳しくは対応する英文のガイドを見てください。
ちなみに、原文には以下のように変更されたとありました。
Quote
#15
Posted 22 November 2010 - 03:43 AM
mocapapaさんありがとうございました
日本語訳に関しては誰のせいでもなく、むしろなかったら自分もYii触ってないので、逆に感謝でいっぱいです
#16
Posted 14 December 2010 - 10:06 PM
yii1.1.5を使用しています
applocationName/protected/config/main.php内の'components' => array以降に
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CWebLogRoute', 'levels'=>'trace', 'categories'=>'system.db.CDbCommand', ), ), ),
とするとウェブページの最後に実行されたSQL文が表示されますが
その他の別のやり方でSQL文を確認できる方法はないでしょうか?あれば教えてください
参考リンク
http://www.yiiframew.../topics.logging
http://www.yiiframew...-while-testing/
#18
Posted 28 December 2010 - 02:39 AM
ぱっと見、CakePHPでいうDebugkitみたいな感じでしょうか
extensionはまだ使用したことがないので
これを機に一度試してみたいと思います ありがとうございます!
#19
Posted 12 April 2011 - 11:31 PM
これはどういう意味があるのか、ご存知の方おられますか?
参考リンク
[Guide] Securing Attribute Assignments
[Wiki] Understanding "Safe" Validation Rules
#20
Posted 14 April 2011 - 01:41 AM
必須ではなく、かつ、特定のバリデーションルールを持っていないものに対して行うものと、理解しました
訂正あれば、追加でコメント下さい

Help












