PGメモ

非エンジニアの記録

symfony

PDOではINが使えない。なぜか

symfonyで直接SQLを書く事は珍しい事ではない 今日もSQLを直接書くよ! $sql="select * from hoge where id in(?,?,?)"; $sth = $con->prepare($sql); $sth->execute(1,2,3);しかし、こう書いても返ってくるのはidが1のレコードのみ。 なぜか。 bindされた後…

::execute() must be compatible with that of sfComponent::execute() in の対処法

symfony1.1以上でactionsが長くなってきたので分けたいと思ったので分けてみた。すると hogeAction::execute() must be compatible with that of sfComponent::execute() inというのが出た。 hogeAction extends sfActions { public function execute() { } …

symfonyでプラグインのシンボリックリンクをはる

./symfony plugin:publish-assets

symfony1.4 生sqlを使う

public static function getCount() { $con = Propel::getConnection(); $stmt = $con->prepare("SELECT sum(foo) as count FROM var"); $stmt->execute(); while($row = $stmt->fetch()) { $r = (int) $row['count']; } return $r; }こんな感じ

プロジェクト作成時ORMにpropelを使用する

デフォルトだとドクトリン。 php /symfony/data/bin/symfony generate:project projectname --orm=propel

symfonyでbuild-modelとかすると自動生成の日付が更新されてうざい件

★目的 ./symfony propel:build-modelなんかするとべろべろっとファイルが自動生成されるわけだが、何も変更のないbaseファイルまで更新される。 その更新内容はなんと自動生成の日付だ。 そんなのけっこうどうでもいい。やめさせよう★調べた symfony/lib/plu…

symfony criteria update

$c1 = new Criteria(); $c1->add(CommentPeer::RATING, 5, Criteria::NOT_EQUAL); $c2 = new Criteria(); $c2->add(CommentPeer::RATING, 5); BasePeer::doUpdate($c1, $c2, $con);

symfony 国際化 xliffファイルの中で改行を使いたい

symfonyで国際化するときに使用されるファイル。xliffといってもxmlだが、長い文章を翻訳したいとき、どうしても改行が登場しますよね。どこぞのテンプレ ふがふが'); ?><trans-unit> <source>ほげほげ<br />ふがふが</source> <target>hogehoge<br />fugafuga</target> </trans-unit>こういったのを書いたが、まったくもって動かない…

i18nのタグをアクション内で呼ぶ

$this->getContext()->getI18N()->__('something');

symfonyで動的にページタイトルを変える方法

action内で $this->getResponse()->setTitle('foovar');とするだけスタイルシート追加 $this->getResponse()->addStylesheet('newstyle');ジャバスクリプト追加 $this->getResponse()->addJavascript('newscript');最初に読み込ませる $this->getResponse()-…

symfony1.4 sfFormのエラーメッセージ国際化

sfFormでエラーメッセージを国際化してみる。今回1点ハマったのは、sfFormをそのまま出力すれば問題なく辞書で設定したものが出るのだが、いかんせん見た目を変えたいとき、$hogeform['name']->getError()などをしたいわけですよ。しかしそう書いただけでは…

sfFormでsfValidatorAndを使うと、どうもrequiredのエラーメッセージが変えれないらしいぞ

★現象 sfValidatorAndを使うと、requiredのエラーメッセージが「Required」から変更できない $this->setValidators(array( 'email' => new sfValidatorAnd( array( new sfValidatorEmail( array(), array( 'invalid' => '正しいメールアドレスを入れてね' 'r…

sfFormでsfWidgetFormInputPasswordにsetDefaultで値が入らない

入らないです。パスワードだから $this->widgetSchema['password']->setOption('always_render_empty', false);こう書けば入るけど。

symfonyの管理画面で言語関係のエラー

管理画面を作っていて以下のエラーがでて見れない Data file for "sf" was not found.sfという言語を探してそんなのないよとなっている感じ。 表で国際化の設定をしてるからかなと思いいろいろいじった。 例えばsetting.ymlのdefault_cultrureをjaにしてみた…

sfWidgetFormSelectRadioにdefault valueをセットする

sfFormでラジオボックスを作る時。 'mailmagazine' = new sfWidgetFormSelectRadio(...と書いていたわけだが、デフォルトで「はい」にチェックを入れておきたい。 探した結果。 new sfWidgetFormSelectRadioする時ににデフォルトの値を入れる部分は書けない …

symfony1.4で国際化してみる

symfony1.4で国際化の手順まずは言語の管理 symfonyにはユーザカルチャというものが存在しており、そこに言語の種類を入れます $this->getUser()->setCulture('ja'); echo $this->getUser()->getCulture(); デフォルトの言語を設定する // apps/frontend/con…

symfony 1.4 helperを読み込む

sfProjectConfiguration::getActive()->loadHelpers(array('xxx', 'xxxx'));もしくは sfContext::getInstance()->getConfiguration()->loadHelpers('xxx');

symfony1.4でログを残す

ログを残したい sfContext::getInstance->getLogger()->info('foovar');と書けばログが残る。 infoの部分はいろいろと種類があって、errだと種類がエラーになったりする 詳しくはsfLogger参照である

propelでis not null

$c->add(HOGEHOGE::CATEGORY, null, Criteria::ISNOTNULL);

symfonyでエスケープせずに値を表示

$sf_data->getRaw('name');$person->getRawValue()->getContent();

symfonyとpagerとgroup by

symfonyで使えるsfPropelPager 便利でよいのだが、group byをするとトータルの数がうまく取得できず、group byした総計が返ってこない。 それを回避するためのtips public static function getSomething($item_id, $page) { $c = new Criteria(); $c->add(se…

symfony sfPropelPagerのメモ

$page = $request->getParameter('page', 1); $c = new Criteria(); $c->add(self::ID, 123, Criteria::EQUAL); $c->add(self::IS_DELETE, false); $pager = new sfPropelPager('User', 5); #model名,表示数 $pager->setCriteria($c); $pager->setPage($page…

symfony1.4 タスクの作り方

php symfony generate:task xxxxx

symfony1.2 task内でsfConfig::get('app_hogehoge')ができない

タスクを作っただけではできない。 new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name', 'xxxxx'), xxxxxの所にアプリケーションネームを入れると読み込めるようになる。 指定してあげないとだめなので…

csrf_tokenメモ

symfony1.2は素敵な事に、アプリケーションを作る時にcsrf対策をつけれる。 すごい便利なcsrf対策。少し詳しく見てみた。フォームでCSRFを防ぐために、フォームの繊維する画面では常にhiddenでCSRF_TOKEN を持ちまわしている。これのおかげで値が違ったとき…

fixtureファイルのデータが上手く入らなかった

City: city_: name: test_ build_at: 1990-10-11 これが上手く入らない。nameがtest_1 build_at:1990-10-11のように繋がってはいってしまう。なぜか City: city_: name: "test_" build_…

admin generatorにてsfFormでfilterを自分で設定したら動かない時の対処

symfony1.2で管理画面を作るためにadmin generatorを使いました 簡単に作れて自分でカスタマイズもできるっていいですね。しかし、今回問題が発生しました 検索でフィルタをかける部分を自分でカスタマイズしたのですが フィルタをかけようとするとエラーが …