元スレsymfony PHPフレームワークpart2
php覧 / PC版 /みんなの評価 :
203 = :
sfValidatorSchemaCompare も sfValidatorEmail等 も、バリデート失敗時は「Invalid」が表示されますよね。
普通は国際化して、「入力が正しくありません」などに変えると思います。
新規登録画面でパスワードを2回入力させて、そのチェックに sfValidatorSchemaCompare を使っているので、
失敗時には「入力が正しくありません」じゃなくて「パスワードが一致しません」にしたいんです。
なんとかエラーメッセージを区別できないもんでしょうか?
ソースを見た感じ、"throw_global_error"オプションを設定して、自分でcatchしてハンドリングすればできそうな気もしているのですが
どこでどうハンドリングすればいいのか分かりません。
sfValidatorSchemaCompare.class.phpの117行目の「$error = new sfValidatorError($this, 'invalid', 」の
'invalid'を書き換えればひとまず対処できますが、sfValidatorSchemaCompare を他の用途で使うときに
適切でないエラーメッセージになってしまうので、ソースを直接いじるのは遠慮したいです。
どのように対処すればよいでしょうか?
205 = :
コアを書き換えるなよ・・・
206 = :
今更知ったけど、netbeansってsymfony対応してたんだな
http://netbeans.org/features/php/index_ja.html
210 = :
ExternalToolsはリフレッシュもしてくれるんだねぇ。便利。
php symfony doctrine:build --all --and-load --no-confirmation
php symfony doctrine:data-load
php symfony cc
このへんはいけるけど、
symfony generate:module frontend hoge
なんかは対応できないよね?
スレチだけど。
212 = :
便利すぎるだろ。。。
214 = :
それは自前で作るじゃなくて作ってもらうって言うんだ
215 = :
いや、ヒントだけでよかったんだよ。
いま開発環境ないPCだけど、Renderフィルター覗けばなんか分かりそうな気がしてきた。
217 = :
初心者ですいません。
Table:
columns:
id:
name:
のように定義した状態で、
executeCreate内でnameフォームの値を取得するのに「$request->getParameter('name')」や「$form['name']->getValue()」
としてみたのですが、値が取得できません。
フォームの値を取り出すにはどのようにやればいいのでしょうか?
218 = :
$requestArray = $request->getParameter($form->getName());
$requestArray['name']
で取得できたんですけど、毎回こうやらないとダメなんでしょうか(汗)
219 = :
leftJoin時のSQL発行回数について質問です。
SQL1回の発行で済ませて欲しいのに、2回実行されているようです。
なぜでしょうか?
#schema.yml
User:
columns:
id:
name:
Thread:
local: id
foreign: user_id
type: many
Thread:
columns:
id:
user_id:
relations:
User:
local: user_id
foreign: id
type: one
220 = :
#action.class.php
public function executeIndex(sfWebRequest $request)
{
$this->thread = Doctrine_Core::getTable('thread')
->createQuery('t')
->where('t.id',$request->getParameter('id'))
->leftJoin('t.User u')
->execute();
}
#indexSuccess.php
お名前は<?php echo $thread->getUser()->getName() ?>
似たような話題で、http://blog.asial.co.jp/591 も見てみたのですが、
バージョン違いなのか全く動きませんでした。
221 = :
>>220
$this->thread = Doctrine_Core::getTable('thread')
->createQuery('t')
->where('t.id',$request->getParameter('id'))
->leftJoin('t.User u')
->execute();
$this->thread = Doctrine_Core::getTable('thread')
->createQuery('t')
->where('t.id = ?',$request->getParameter('id'))
->leftJoin('t.User u')
->fetchOne();
に変えたらどう?
222 = :
fetchOne()に変えて、$thread['User']['name'] で取得できました!
SQLも新しく発行されていないようです。
ただ、$thread->getId() の構文が使えなくて $thread['id'] に全部書き換えないといけませんけど><
224 = :
$form->isValid()に失敗したとき、失敗の内容はどうやって取得できますか?
具体的には、CSRFチェックに引っかかったとき、自動的にhoge/newにリダイレクトさせたいんです。
226 = :
特定のユーザーを、強制ログアウトさせるにはどうすればいいですか?
227 = :
>>226
myUserの初期化メソッドで通常の処理の後にIDみて強制ログアウトする処理を足す。
228 = :
>>227
すいません、そうゆう意味じゃないです。
たとえば、管理者が荒らし行為真っ最中のユーザーを見つけたら、
そいつのセッションやらクレデンシャルやらをクリアしてログアウトさせることをイメージしてました。
セッションにユーザーIDを入れておき、
全セッションファイルをトラバースして、
「id|i:(\d)+:123;」みたいにマッチしたファイルを削除すればいいかな?
symfony関係なくなっちゃうけど。。。
231 = :
>>228
それならis_active int(1)とかでフラグ項目をDBのユーザーテーブルに持たせておいて、公開側では
myUserの初期化で$dbuser->getIsActive()の値を調べて強制ログアウトさせればいいんじゃない?
強制ログアウトさせたいユーザーは、管理者が裏画面からis_activeの値を更新して強制ログアウト側に
落とす。
username password is_active
233 = :
myUserにコンストラクタ定義すると、深い迷路に迷い込めそうな予感。。。
234 = :
ちょっと語弊がありました。
グループ化された日付が1つだけの場合、グループ化されていないままのレコード総数が返ります。
日付が複数の場合、正しい値が返ります。
235 = :
分かったら当たり前だけど、myUserのコンストラクタは
public function __construct(sfEventDispatcher $dispatcher, sfStorage $storage, $options = array())
{
parent::__construct($dispatcher, $storage, $options);
}
って書かないとダメなのね。__construct()とだけ書いてちょっと泥沼になった。
236 = :
テンプレート内でvar_dump()すると、指定した変数以外もすんごい量がダンプされるんですけど
$thisとかも見に行ってるんですか??
240 = :
>>239
認証とセッションデータをごっちゃにするなよ
245 = :
認証情報はセッションに入ってるものだと思ってました。
認証情報はどこに保存されているんでしょう??
247 = :
問題があるとしたらファイル名に「'」を使ってることかな
248 = :
php初心者というかパソコン初心者レベルだな
249 = :
セッション(認証?)が30分程度で切れてしまいます。
以下の設定だけでは、変更できないんでしょうか?
#.htaccess
php_value session.gc_maxlifetime 86400
php_value session.gc_probability 1
php_value session.gc_divisor 100
#setting.yml
all:
user:
class: myUser
param:
timeout: 86400
みんなの評価 :
類似してるかもしれないスレッド
- [PHPフレームワーク]Laravel (995) - [60%] - 2017/7/22 11:45
- 【PHP】フレームワーク Akelos (129) - [51%] - 2019/5/9 7:46
- 【PHP】フレームワークPharonスレ (306) - [46%] - 2022/10/10 20:00
- 【PHP】PHPフレームワーク総合スレ14 (1001) - [45%] - 2010/12/11 10:32
- 【PHP】PHPフレームワーク総合スレ15 (989) - [45%] - 2013/9/27 6:00 △
- [PHP][フレームワーク]CodeIgniter Part2 (983) - [41%] - 2015/4/7 12:46
トップメニューへ / →のくす牧場書庫について