モノノフ日記

普通の日記です

php

Jobeet - 2日目: プロジェクト

Jobeet - Day 2: The Project - Symfony手を抜くとかいいながら結局全部訳しちゃいました。意訳してるところも結構ありますが。。今回は要件定義の話で、まだコードは全く出てきません。毎日これくらいのボリュームだったら進めるの楽だなぁ。 あとFabienが…

Jobeet - 1日目: プロジェクトを始めましょう

Day 1: Starting up the Project (1_2) - Symfony最初の方は適当に訳しました。実践に入るところあたりからはCLIやコード中心に書いてます。ファイルパスはサイトとは合わせずに自分の環境をベースにしてます。環境はmacbookでやってます。初日なので張り切…

symfony1.2リリース + 新チュートリアルJobeet公開開始

symfony1.2が正式に公開され、それに合わせaskeetに変わる新しいチュートリアルである「Jobeet」の公開が開始されています。askeetが公開されたときと同様、12/1から1日ずつ進めていくスタイルをとっており、12/24のクリスマスイブに完成する展開みたいです…

symfony1.2でaskeet (Day3)

askeet day3は「symfonyのMVCアーキテクチャ」の回です。日本語訳もあります。 今回からgitを導入して、githubでコード見れるようにしました。日ごとにbranch切っていくので見やすいかと。 404 · GitHub 全体レイアウトを変更 layout.php <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head></html>

symfony1.2でaskeet (Day1〜2)

1.2もベータがリリースされたのでぼちぼち触ってみることにしました。秀逸なチュートリアルであるaskeetを1.2でごにょごにょ作ってみることに決定。とりあえずhttp://www.symfony-project.org/askeet/1_2/en/を叩いてみたけど、やっぱり無かった。。観念して…

第2回設計勉強会に参加してきました

第2回設計勉強会に参加してきました。あんまりWebアプリケーションを構築するアーキテクチャ側の話がメインの勉強会に参加したことが無かったので新鮮に話が聞けました。普段、意識せずにフレームワークのルールに慣れすぎているとアーキテクチャ的には変だ…

第2回symfony勉強会

第2回symfony勉強会 2008/11/07追記 動画が公開されました。 前半 後半 第2回symfony勉強会に参加しました。10/26にリリース予定だったsymfony1.2とdoctrineはまだ自分が触っていないところだったので非常に参考になりました。公式ブログ読んでても感じたけ…

Propelで同一カラムに対して複数の条件文を使う書き方

知らなくて5分くらいハマったのでメモ。生SQLだとこんなクエリです。 SELECT * FROM TEST WHERE created_at >= "2008-08-01" AND created_at <= "2008-08-31" これをPropelで書き直すと、下のようなイメージでした。 add(TESTPeer::CREATED_AT, "2008-08-01"…

Rubyのsuperの挙動

社内で下記コードの挙動どうなの?みたいな話題が挙がってました。 class A def foo bar end def bar puts "A's bar" end end class B < A def foo super end def bar puts "B's bar" end end # run B.new.foo 出力結果は「B's bar」になります。http://code…

Controller内でHelper使いたいとき

sfLoader::loadHelpersを利用したらOK。

sfMemcachePluginでcacheのlifetimeが有効になってなかったので修正した

symfony 1.1からはデフォルトで対応してるmemcachedですが、1.0.XはsfMemcachePluginというプラグインを利用して使います。 導入方法については下記ページを参照してください。 memcacheをsymfonyから利用してみる | ueblog Windows+PHP+memcached+symfony |…

convertUrlStringToParameterの仕様変更

symfony 1.0.16で動作してたアプリが1.0.17だと動かなくなってたページがあったので調べてみると、原因はconvertUrlStringToParameter関数の仕様が変わってるのが原因ぽかった。(該当チケット)convertUrlStringToParameterが定義されてるファイルは/sf_symfo…

PECL::Imagickを簡単に使えるライブラリを作った

php

Imagickを使いやすくするImagick_Thumbnailerというライブラリを作ってみました。 早速CodeReposに公開しています。初コミット! http://coderepos.org/share/browser/lang/php/Imagick_Thumbnailer/trunk/Imagick_Thumbnailer.php 概要 画像をリサイズした…

NULLかどうかは!issetを使ってます

php

型まで厳密に見るときは[===]を使う必要があるのはエントリのとおりなのですが、NULLかどうかを調べるにはis_null()を使う方法もあります。 PHP NULLかどうかはis_null()を使う - Shin x blog NULLチェックにis_null使う方法が紹介されていますが、個人的に…

PHPカンファレンス2008

php

今年のPHPカンファレンスは7月21日 - Do You PHP はてなで紹介されてたので反射的にトラバ。 今年の開催は、例年よりも若干早めの7月21日(月祝)となりました。開催日程の詳細は以下の通りです。 - 日時 : 7月21日(月曜日・祝日)10:00 〜 (開場9:30〜)会場 …

Array→Objectにキャスト

php

stdClass Object ( [0] => hoge [1] => moge [2] => fuga )echo $o->0; => Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '{' or '$' この場合どうやってアクセスすればいいのかな。わからずー。 cucumberグループ…

Yahoo! Answerがsymfonyで作り直されてた

symfony Web PHP Framework » Blog » Yahoo! Answers powered by symfonyにYahoo! Answersの再構築にsymfonyが使われていることが紹介されてます。Yahoo! Answersは1億3500万以上のユーザがいて、5億1500万のアンサーがある巨大なWebアプリであり、なぜsymfo…

同一変数名による参照の参照

php

foreach()だと参照を要素に設定した配列の要素が上手く取れなくて、for()に戻した。 - ぐらめぬ・ぜぷつぇんのはてダソース読んでてこうやったら動くだろーなってのが思いついたので書いてみます。 foreachで上手く動かす方法だと、addメソッド内の参照の参…

PHPタグの終了タグ

php

今さっき今日から隣に来た派遣の人が「これなんでPHPタグで閉じてないんですか?」とか質問してたのを聞いて理由が即答できなかったので調べた。どこかで「閉じないの推奨」って書かれてるのを見た覚えがあったんですが、Zend Framework PHP 標準コーディン…

symfony1.1 beta3を導入してみる

ちょっと試しにローカル環境に導入してみました。 導入にはPEARからインストールせず、サクっと試せるsf_sandboxを利用してます。sf_sandboxは必要なライブラリとか全部込みでワンパッケージ化されていて、webルートディレクトリに置けばそのまま動く便利モ…

symfony1.1 beta3リリース

symfony勉強会のあった当日にリリースされてた模様です。斜め読みで訳した変更点をまとめておきます。適当に訳してる所もあるので注意w 詳細はsymfony Web PHP Framework » Blog » Symfony 1.1 beta3 is outを参照してください。 変更点 Windows環境下でsfF…

第1回symfony勉強会

株式会社ディノさんで開催された第1回symfony勉強会に参加してきました。会場提供ありがとうございます! 気になるところノートにメモったので軽く感想レポ。詳細は公開されるであろう資料をw15分くらい遅刻したのですが、何とかプレゼンには間に合ってよ…

PECL::Imagickを試す

php

GDで展開できない画像*1があったのでImageMagickを試そうと思って導入してみました。 インストール peclモジュールなのでコマンドライン1発で楽チン。 sudo pecl install imagick php.iniにライブラリを呼び出す記述を追加 extension=imagick.so 実際に使っ…

タグクラウドのアルゴリズム

php

タグクラウドを生成する際のアルゴリズムをオープンソースのコードを参考にして現在考えてます。 symfonyの公式サイトで見つけたアルゴリズム next()) { if (!$max_popularity) { $max_popularity = $rs->getInt('count'); } $tags[$rs->getString('tag')] =…

WordPressでXSSの可能性?

php

社内のツールでWordPress2.5に対してセキュリティ診断かけたら、 1件Criticalが見つかるという始末。。ちなみにWordPressはインストールしてすぐのデフォルトスキンの状態です。 コメントとトラックバックは無効にしました。どこがXSSの原因になるのかと言う…

symfony1.1 Beta2リリース

Symfony 1.1 Beta 2 released - What's new? - SymfonyいつBeta1が出たか知らないんですが、Beta2がリリースされてます。 変更点が多そうなのであとからじっくりリリースノート読んだら追記します。 1.0との互換性 高い互換性が保証されてるみたいです!以下…

WordPressでproxy使う設定方法

FeedWordPressというプラグインを使おうと思ったら、proxyが越えれなくて困ってました。 Googleで調べてたら本家のTracにチケットが出ててパッチも公開されてました。 #4011 (add global proxy support in options) – WordPress Trac 編集するファイル wp-co…

symfony 1.0.12にupgradeするときにつまずいた点

2ヶ月ぶりに30以上のチケットを解決したsymfony-1.0.12(安定版)がリリースリリースされました。重要なセキュリティの問題の解決および、Windowsプラグインの問題が解決されているのでアップデートをお勧めするとのことです。 http://blog.symfony.jp/ という…

第一回symfony勉強会告知キタ

第一回symfony勉強会 イベント概要:第一回symfony勉強会を開催します。日時: 2008年4月11日(金) 18:30〜21:00会場: 株式会社ディノ セミナールーム(〒150-0002 東京都渋谷区渋谷3-13-11 渋谷TKビル9F) http://events.php.gr.jp/event.php/event_show/40 これ…

symfonyのModel

g:catalyst:id:dann:20080305:1204732091やg:subtech:id:miyagawa:20080306:1204761778を読んでsymfonyで例を考えてみた。自分がsymfony使ってコード書くときはアプリのコントローラにDBアクセスする処理は直接書いてない。 Model抽象化したクラスにラッパー…