symfony
バリデータ用のformクラス作成。バリデートに関する実装はこちら class validateForm extends sfForm { public function configure() { $this->setValidators(array( 'param' => new sfValidatorString(array('required' => true), array('required' => 'is …
modelのfind()にnullやfalseが入ってしまった場合、どうなるかのテストtest/unit/model/HogeTest.php find($param); echo $a ? 'exist' : 'none'; echo "\n"; } test(1); test(''); test(null); test(false); test('hoge'); 実行結果は以下、nullやfalseを入…
defaultではsymfonyフレームワーク内にあるskeletonディレクトリを基に作成されるが、projectのdataディレクトリにskeleton/moduleを置くとそちらを参照するようになります。 sfGenerateModuleTask.class.phpより if (is_readable(sfConfig::get('sf_data_di…
直接SQLを打たなくとも、symfony doctrine:migrate でできました。schema.ymlを更新したあと $ symfony doctrine:generate-migrations-difflib/migration/doctrine/1313561518_version1.php のような差分クラスファイルができる ※modelクラスを生成した後だ…
.../apps/frontend/config/factories.yml all: routing: class: sfPatternRouting param: generate_shortest_url: true extra_parameters_as_query_string: true suffix: .html request: class: sfWebRequest param: relative_url_root: "/hoge"$app = 'fron…
// test/unit/hogeTest.php true)); ←$t->fail()は通らないからテスト数に加算しない try { <<例外が起きる処理>>; $t->fail('通っちゃダメ'); } catch (sfException $e) { ←catchしたい例外クラスを指定 $t->pass('catch exception'); echo $e->getMessage(…
factories.yml all: routing: class: sfPatternRouting param: generate_shortest_url: true extra_parameters_as_query_string: true suffix: .html request: class: sfWebRequest param: relative_url_root: "/mobile"特定applicationの設定は以下で取得で…
フォームクラスでこんな風にしても怒られるので... $this->validatorSchema['name'] = null; →「A field must be an instance of sfValidatorBase.」unset($this->validatorSchema['name']); →「Unexpected extra form field named "name".」sfValidatorPass…
isValid()が偽になった時、などにtemplateにて getErrorSchema() as $key => $err) { echo $key.'='.$err.'<br />'; } ?> ↓↓↓ //name=入力してください。 //email=入力してください。 //password=入力してください。 //password_confirmation=入力してください。 /…
new lime_test(null, array('force_colors'=>true))を追加 //$browser = new sfTestFunctional(new sfBrowser()); $browser = new sfTestFunctional(new sfBrowser(), new lime_test(null, array('force_colors'=>true)));$ php hogeActionsTest.php # get /…
タグを除去して出力したい、と思いpreg_replace()であれこれやろうと考えたが、strip_tags()という便利な関数があった。しかし、templateで strip_tags($class->getHoge());と、やってもタグが消えない。。。。こうやったらOKでした↓↓↓ strip_tags($class->g…
https://github.com/soh335/vim-symfony 上記URLにて、以下をDownloadしてみました。「soh335-vim-symfony-v0.10-0-gcf34106.zip」gitで取得する場合はコチラ↓↓↓ $ git clone https://github.com/soh335/vim-symfony.git ※(2011/6/16現在)「SSL certificate …
やり方を聞かれたので試してみました。特定モジュールの場合 public function preExecute() { sfConfig::set('sf_web_debug', false); }特定アクション public function executeXXX(sfWebRequest $request) { sfConfig::set('sf_web_debug', false); }※共にa…
templateに渡った変数をデフォルトでエスケープする設定(XSS対策など) setting.yml # Output escaping settings escaping_strategy: trueこれでエスケープして出力されます echo $class['hoge']; // 例)<b>aaa</b><br />あえてエスケープしない出力(タグを許す場合な…
debugツールバー User▼ attributeHolder: sfGuardSecurityUser: { user_id: '9' } symfony/user/sfUser/attributes: { }getする時は、第3引数にnamespaceを入れる $user = sfContext::getInstance()->getUser(); $user->getAttribute('user_id', null, 'sfG…
例)frontendアプリケーションに独自クラスmyPHPViewを設定lib配下にsfPHPViewを継承した独自クラスを作成 /apps/frontend/lib/view/myPHPView.class.php
単にこのように書くと、追加されるだけなので... stylesheets: [sub.css]「-(ハイフン)」を付けると除去できます stylesheets: [-/css/form.css, -main.css, sub.css]
generate-adminをしてできたソースをカスタマイズしたくて元ファイルを見たかったのだが、見つからず。 しばらく悩んでいたところ...エラーメッセージ見たらわかりました。 Notice: Undefined variable: xxxx in /var/www/admin/hoge/symfony/cache/admin/de…
List画面に標準で付いてくるFilters(検索ボックス)にはidカラムがありません。 ※Base[tableName]FormFilter.class.phpを参照そのままBaseに追加しても動きますが、オーバーライドしてやれば追加できます。[tableName]FormFilter.class.php public function…
lime_testの第2引数にオプションを指定 //$browser = new sfTestFunctional(new sfBrowser()); $browser = new sfTestFunctional(new sfBrowser(), new lime_test(null, array('force_colors'=>true)));
moduleのテストをする際、毎回moduleのURLを叩いてブラウザ確認をするのは大変。 そこでtestフレームワークです。個別に実行 $ php test/functional/[app名]/[module名]ActionsTest.phpもしくは $ ./symfony test:functional [app名] [module名]Actions実行…
開発中、ブラウザが下記エラー表示をしてしばらく悩んだ。。 Proxy Errorapacheのerror.logを見ると [notice] child pid 8942 exit signal Segmentation fault (11)上記で調べてもなかなか糸口がつかめず。。。 他のVirtualHostのURLを確認したら正常に表示…
sfContext::getInstance()->getLogger()->debug("message");version 1.2.9
actionでフォームをnewする際の引数とするか、form内で設定するか、などの方法があるaction.class.php public function executeForm(sfWebRequest $request) { $this->form = new XXXForm(array('id'=>'default')); }XXXForm.class.php class XXXForm extend…
オブジェクトに定義されているメソッド名が知りたい場合、直接定義されているファイルを覗いてもよいのですが、PHPでブラウザ表示する事もできます。PHP5から採用されているReflectionを利用します。例)symfonyのactionにて、controllerが持っているメソッ…
input_tag ($name, $value = null, $options = array()) デフォルトではtype=textとなっているがoptionを書き換える事で様々なtypeにカスタマイズできる 例)buttonタグにしてonclickアクションを実行させる input_tag('hoge', 'ボタン', array('type'=>'but…
doctrineの場合 ./symfony doctrine:build-schemadatabases.ymlも設定しておく [databases.yml] all: hoge: # class: sfPDODatabase class: sfDoctrineDatabase param: dsn: mysql:dbname=hoge;host=localhost username: fuga password: xxxxxxxx persistent…
SMTP Error: The following recipients failed: hoge@example.com→まずはhoge@example.comにメール送信できるか確認してみる ※symfonyのsfMailでは文字が大文字になっている場合、Exceptionに入るらしい [symfony 1.0.9]
例)hogeをcdコマンドと同じに alias hoge=cdこれで直ちにhogeでcdコマンドの代用ができます。 ただし、ターミナルを閉じると効果はなくなります。 毎回設定するのが面倒なら自分の環境にセットしておく 例)symfonyコマンドをsfに ~/.bashrc # .bashrc # So…
Doctrine_Query::create()でexecute()などをする前の値で確認できます。 $query = Doctrine_Query::create() ->select('item_id') ->from('UserItem') ->where('user_id = ?', $userId); $items = $query->execute(); ←コチラだとobj化している sfContext::g…