symfony
symfonyのインストールディレクトリが違う 三項演算子なりswich文なりで、パスを動的に書き換える。 ヒットする可能性が高い順に調べることで、比較回数を減らすよう考慮すべし。 web/index.php
なぜクエリー文字列を付加するのか せっかくCSSやJSを変更しても、ブラウザのキャッシュが残っていて変更が反映されない場合があります。そんなときによく使われるテクニックが、ファイル名の後ろにクエリー文字として更新時間を追加するというものです。こ…
apacheのエラーログ見たら、File does not exist favicon.icoの嵐で参ったよ。 早速favicon.icoを作成して設置しました。 faviconを設置 通常は、 <link rel="shortcut icon" href="/favicon.ico" /> こんな記述なんですけれど、今回はimagesフォルダ下のfavicon.icoを参照させたかったので 'shortcut icon',</link>…
誤って、DROP DATABASEしちゃった!クエリーログも無い! ______ |←樹海| . ̄.|| ̄ オワタ┗(^o^ )┓三 || ┏┗ 三  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄とならないために、cronで定期的にデータをダンプする方法です。 crontabに処理を登録 $ crontab -eコマンドでc…
あるデータは、現在使っているのとは別のデータベースに入れたいなぁ。 という時に便利なハックです。 DBの設定追加 databases.ymlにdatabase1用の設定(doctrine)が既にあるとして、新たにdatabase2用の設定を追加します。 all: doctrine: class: sfDoctrine…
's0.foo.net', 'username' => 'CN=user1,DC=foo,DC=net', 'password' => 'pass1', 'bindRequiresDn' => true, 'accountDomainName' => 'foo.net', 'baseDn' => 'OU=Sales,DC=foo,DC=net' …
前提条件 普段のユーザ認証には、sfDoctrineGuardPluginを利用している LDAPまわりは、Zend FrameworkのZend_Ldap利用する Zend Frameworkを用意する http://framework.zend.com/ 今回は、最新版(1.9.5)を使いました。 symfonyへZend Frameworkの場所を明…
view.ymlでstylesheetsを指定すると相対パスで読み込まれます。普段はこれで問題ないのですが、絶対パスで読み込ませたい場面に遭遇したのでメモしときます。 解決方法 view.ymlに記述するファイル名を絶対パスで記述する。 まんまですね。 パス取得 symfony…
久しぶりにsymfonyネタを1つ。 バリデーション通ったURLでもアクセスしたら、404返ってきたよムキー!ってなったので 要求仕様 sfValidatorUrl通る 実際にアクセスできる 以上の要求を満たすバリデーションを作成しました。 なお、アクセス検証のためにsfWe…
symfonyでテストしようとしたら、コネクション開けないと怒られました。 基本に戻り、Jobeet8日目を読み返す。 コネクション確立用のDoctrine.php作ってなかった!
というような出力をしたくて、DateHelper.php -> sfDateFormat.class.phpと辿って行くと、getPattern関数に与える引数で形式を変えられることが判明。しかし、MM-dd形式での返り値がない! sfDateFormat.class.phpをオーバライドすればいいのですが、DateHe…
口でうまく言えないので、例を絵で説明すると コメントテーブルは、コメントしたユーザのidとコメントされたユーザのidを持っている。を表す方法です。 User: columns: id: type: integer(4) primary: true autoincrement: true username: string Comment: c…
備忘録 $conn = Doctrine_Manager::connection(); 続けざまにトランザクション $conn->beginTransaction(); try { // ... } catch (Exception $e) { $conn->rollback(); }
setgidを使えば、「グループ」を変更できることは分かったので、パーミッションをいかに変更するかを調べました。 file_put_contents前にumaskかます 例えば、設定ファイルのキャッシュは、sfConfigCache.class.phpのwriteCacheFileメソッドが作成します。 …
まず、http://d.hatena.ne.jp/TakiTake/20090104/p1では嘘書いてしまい申し訳ありませんでした。 Failed to write cache fileですが、キャッシュを上書きしようとすると起きるようです。 例 # apps/frontend/config/settings.yml dev: .settings: web_debug:…
この内容は、間違っています。申し訳ありませんでした。 こちらをお試しください http://d.hatena.ne.jp/TakiTake/20090111/p1 settings.yml書き換えて、 $ symfony ccしたら、Failed to write cache fileですよ。 毎回、 $ sudo chmod -R 777 cacheするのも…
本番環境へ移行する回。 Previously on Jobeet 昨日は、キャッシュ設定の仕方について学びました。そして、本番環境で運用する準備が整いました。 22日目までは、開発環境(大抵はローカルマシーンではないでしょうか)で開発していました。本番環境で開発し…
ページをキャッシュして描写を素早くの回。 いよいよ詰んだ。Doctrineはキャッシュ周りが未だ不安定です。 Previously on Jobeet yamlの設定ファイルは、php形式に変換されてキャッシュされている。 今回は、ページあるいはパーツをキャッシュする。 Creatin…
やっと、20日目のなんちゃって翻訳終了。 さて、21日目はデザイン品評会なんで見てるだけー。 どのデザインも、検索ボックスの横にサーチボタンがあって、ですよねーと思いました。 デザインでだいぶ印象変わるね。 やっぱデザイン大事。
ついに20台まで来たよ。 pluginの説明とjobeetをplugin化しようの回。 subversionでバージョン管理している場合は、s/mv/svn mv/ で移動を明示的にして行方不明になるのを防ぎませう。 行方不明にしちゃった場合は、行方不明になったファイルをまとめて消す…
国際化のターン。 Language Switching 日本語は、jpかな?と、安易にfrをjpに置換したら、怒られた。 さーせん、jaでしたね。 でも、料理と一緒でまずはレシピ通りにやろうと思います。 Templates __()関数通すと、レンダリング時にユーザの言語に合わせて文…
Ajaxの回。 いきなり、prototype.jsからjQueryに浮気かい! たしかに、jQueryの人気っぷりは凄いからなぁ。 AJAX in an Action 通常の通信とAjax通信で返すViewを変える処理が、わかりやすいコードで好きです。 今更ですが、"Post a Job"ボタンと検索ボタン…
data/job.dev.indexの中身は、ころころ変わるので svn propedit svn:ignore dataで、 *.*.indexと書き込んで保存。 検索のインデックスフォルダ(job.dev.indexって書くより、*使ってあいまい指定が便利)をsubversionの管理外にするといいんじゃないかと ち…
The Fixtures symfony doctrine:data-loadしようとしたら、Integrity constraint violationと怒られた。 jobeet_jobテーブルがjobeet_categoryテーブルのcategory_idを参照してるので、先にjobeet_categoryテーブルを空にできないからと思われる。 手動で、j…
Feed配信しようの回 // php.ini short_open_tag = Onのせいで、xml宣言がPHPの構文エラーになっていたので、Offにして # /etc/init.d/httpd restart
一休みの日 14日目は、Jobeetとしては何もしないみたいなので、コードリーディングに役立つvim pluginの紹介をしたいと思います。 project.vim windowの左側に、フォルダをツリー形式で表示してくれる。 ファイルの位置が直感的にわかるので、重宝してます。…
後半戦突入! User Attributes // apps/frontend/modules/job/actions/actions.class.php job = $this->getRoute()->getObject(); // fetch jobs already stored in the job history $jobs = $this->getUser()->getAttr…
設定ファイル変更したら、キャッシュクリアしないと反映されないよ。 symfony cc --env="backend" Backend Look and Feel sf_admin_barが邪魔です。 sf_admin_barのfloatがleftになってるのが原因でしたので // web/css/my.css #sf_admin_bar { float: none …
Formもテストしよう回。 Submitting a Form clickシミュレート後のモジュール、アクションのチェックだからwithの位置は $browser->info('3 - Post a Job page')-> info(' 3.1 - Submit a Job')-> get('/job/new')-> with('request')->begin()-> isParameter…
Form周りの話。 Customizing the Job Form // apps/frontend/modules/job/template/showSuccess.php <img src="/uploads/jobs/<?php echo $job->getLogo() ?>" alt="<?php echo $job->getCompany() ?> logo" /> imageタグきた! getLogo(), array('raw_name' => tr…