Doctrine2のアノテーションリファレンス

http://www.doctrine-project.org/projects/orm/2.0/docs/reference/annotations-reference/en ※このファイルを翻訳していますが、ちょっと時間がかかりそう・・・。

バンドルを作るコマンド

$ php app/console init:bundle (名前空間) # 例 $ php app/console init:bundle Application\\HelloBundle $ php app/console init:bundle Bundle\\TestBundle init:bundleの後ろのパラメーターは名前空間。名前空間に対応するディレクトリにバンドルの雛…

Doctrine2のschema:updateとイントロスペクション

PHP MatsuriでKrisのワークショップ中に気になった「doctrine:schema:update」ですが、Doctrine2のマニュアルを読んだら以下のように書いてありました。http://www.doctrine-project.org/projects/orm/2.0/docs/reference/tools/en#database-schema-generati…

PHP Matsuriに参加しました&やったことなどまとめ #phpmatsuri

php

PHP Matsuri 2010に参加しました。 いろいろやったことなど Symfony2のドキュメント翻訳をこっそりやった→ symfony-docs-ja/contributing/documentation at master · symfony-japan-old/symfony-docs-ja · GitHub @brtriver、@cakephperとの秘密プロジェクト…

filter_var()でURLのフォーマットチェック(とバグ)

PHPにはfilter_var()という関数があって、この関数を使うとURLのフォーマットチェックができます。(PHP 5.2.0以降) PHP: filter_var - Manual ですが、この関数のURLフォーマットチェックにはバグがあって、ドメイン部分にハイフンがあると「URLではない」…

Symfony2コマンド一覧

自分用メモ doctrine系 ネームスペース コマンド 内容 クラス doctrine:database doctrine:database:create configで設定したデータベースを作成する doctrine:database:drop データベースをDROPする doctrine:schema doctrine:schema:create エンティティの…

Symfony2のコマンド(タスク)システム

symfony 1.xでシステムを開発する場合、結構手放せないのがタスクの仕組みです。組み込みのコマンドはもちろん、バッチ処理から、ちょっとしたヘルパータスクなど、私はシステムを開発する上で結構使っています。このタスクシステム、Symfony2ではどうなって…

Windows環境で「No supported authentication methods available」の場合の対処

GitHubのサポートページに対処法が書いてあったのでメモ http://help.github.com/troubleshooting-ssh/ /cygdrive/c/ntnot/plink.exe -i “c:\users\you\.ssh\key-file-for-github.ppk” $1 $2というようなスクリプトを作り、これを実行するようにGIT_SSHを設…

OpenPNEを使ったカスタマイズ開発プロジェクトをGitで管理する方法

# まだまだGit勉強中なので、あくまで現時点の私のレベルでのメモです。 注意 OpenPNE3ディレクトリ配下だけをカスタマイズプロジェクトとして扱いたいだけであれば、OpenPNE3リポジトリに自分用開発ブランチを作ればよいと思います。 状況とやりたいこと 状…

symfonyの設定ファイルのカスケードルール

symfonyの設定ファイルは「カスケード」機能があって、下位のレベルに配置した設定ファイルで上位の設定を上書きしたりできます。 基本的な説明は、公式サイトの以下のページを参照してください。 symfony 1.x legacy website 基本ルールは「symfonyの初期設…

OpenPNE3メモ

ちょっと腰を据えてOpenPNE 3に取り組む予定なので、自分用メモエントリ。 設定関連 インストールしないプラグイン - config/plugins.yml デフォルトでは、openpne:installでいろいろなプラグインがインストールされてしまい、関連モデルなども作成される。…

最近のsymfony関連の活動など

特にブログに書くほどのことでもないのですが、個人的まとめ。6月に日本Symfonyユーザー会が立ち上がってから行った、symfonyに関連する活動 Symfonyユーザー会サイトの構築 (→http://github.com/hidenorigoto/sfjp-cms) Symfonyユーザー会サイトのコンテ…

symfony X OpenPNE勉強会に参加してきました

今度のOSC名古屋でセミナーをやる予定の中村さんと、セミナー内容の打ち合わせをするついでに、手嶋屋さん主催のsymfony X OpenPNE勉強会に参加してきました。相変わらずの個人的な感想を書いておきます。 私はOpenPNE3をガッツリと触った経験がなかったので…

Symfony2のいいところ(シンプルな点)

参考: Fivestarさんの Symfony2のいいところ - ゆっくり*ゆっくり OSC Nagoya、Tokyo/FallでSymfonyユーザー会枠のセミナーの一部を担当する予定ですが、そこでSymfony2の紹介をやろうと思い、プレビューリリース2のキャッシュ機能を試しています。ただ、ま…

第3回 symfony 1.4勉強会に参加しました

普段は、東京で開催される勉強会になかなか参加できないのですが、今日はたまたま用事ができた(作った)ので、symfony 1.4勉強会に参加しました。 第3回 symfony1.4勉強会 - events.php.gr.jp 以下、勉強会の感想などです。 symfonyでのタスクの作り方 symf…

doctrine:build処理のメモ

sfDoctrineBaseTask::prepareSchemaFile() プラグインとプロジェクトのスキーマを読み込んで結合する。 結合したスキーマファイルをテンポラリディレクトリに保存する。 realpath(sys_get_temp_dir()).'/doctrine_schema_'.rand(11111, 99999).'.yml' テンポ…

Doctrineのmigration機能でデータベーススキーマの差分管理

DoctrineにはRuby on Rails由来のmigration機能があります。 この機能を今まで使っていなかったので、ちょっと調べてみました。なお、参考ドキュメントは以下ですが、このドキュメントを読むだけでは細かい挙動を把握できませんでした。 symfony 1.x legacy …

日本Symfonyユーザー会を設立しました

以前から準備を進めていたSymfony使いのための組織「日本Symfonyユーザー会」ですが、ウェブサイトのシステムの構築、初期ドキュメントの整備などが終わり、ようやくウェブサイトを公開できるようになりました。 http://www.symfony.gr.jp/ サイトを公開して…

Doctrineで生成された〜TableクラスのgetInstanceスタティックメソッド

Doctrineの割と最近の修正で、生成されたモデルクラスのうち、〜Tableクラスに、以下のようなgetInstanceメソッドが追加されるようになりました。

メモ:Doctrine_Recordのステータス

STATE_DIRTY プロパティが変更された(ダーティ) STATE_TDIRTY 新規レコードオブジェクトで、プロパティが変更された STATE_CLEAN すべてのプロパティがデータベースから読み込まれて以降変更されていない STATE_PROXY プロパティがまだ完全には読み込まれ…

メモ:Doctrineのレコードオブジェクトでset〜を呼び出したときのダーティチェック

Doctrineで既存のレコードをインスタンス化して、そのオブジェクトのフィールドの値を変更して保存する場合、「値が何も変わっていなければ保存しない」というチェックが行われます。このチェックは、Doctrine_Recordクラスの_setメソッド内で行われます。 _…

symfony 1.4のライブラリをgithubから取得する

プロジェクトのルートディレクトリにて git clone git://github.com/vjousse/symfony-1.4.git lib/vendor/symfonyこのリポジトリは、1日単位で公式subversionリポジトリと同期されているそうです。 今までプロジェクトを作るときには、毎回subversionリポジ…

symfonyのフロントコントローラーをカスタマイズして、ファイル名の規則などをCakePHP風に

Twitterにて、@yuzoneさんが以下のようなことをつぶやいていました。 SymfonyはController名がぜんぶactions.class.phpっぽいので、間違えて違うのを編集しないように注意しないとなー http://twitter.com/yuzone/status/12111530758 これについて、基本的に…

2つのDoctrine_Collectionをマージするには

Doctrine_Collection::merge()ただし、mergeメソッドではコレクションのインデックスは保持されない。 内部でDoctrine_Collection::add()メソッドが呼ばれており、addにはオブションでキーを指定できるので、インデックスを保持したままマージしたい場合は、…

Doctrine_Collectionのキー一覧を取得する

Doctrine_Collection::getKeys()

取得したDoctrine_Collectionのインデックスに特定のフィールドの値を使う

通常、Doctrineでレコードを取得すると、Doctrine_Collectionのインデックスには整数インデックスが使われます。 しかし、取得したレコード一覧を単にループで処理するのではなく、連想配列のように処理したい場合もあります。 このような場合、Doctrine_Col…

メモ Warning: range() [function.range]: step exceeds the specified range in sfYamlDumper.php on line 43

突然表題のようなWarningが出るようになったのでメモ。Warningの箇所はsymfonyライブラリのsfYamlDumper内のコードで、range関数を使っている箇所です。 が、以下のような状況なので、なぜここでWarningが出るのかさっぱり分かりません。 sfYamlDumperへ渡る…

Doctrine_RecordのpostHydrateフックを使う

Doctrineには、例えば「特定のモデルでレコード保存前」だとかにカスタム処理を実行するための仕組みとして、イベントリスナーの機能と、それと似たレコードフックの機能があります。 http://www.doctrine-project.org/documentation/manual/1_2/en/event-li…

Symfonyユーザ会準備用のチャットミーティング(1回目)終了

昨日、Symfonyユーザ会の設立に向けた準備用のチャットミーティングを開催しました。 http://chouseisan.com/schedule/List?h=6a1a7b355b1d8e19955a43cb75776678 ミーティングのログは、こちらをご確認ください。 symfony-jp - 過去ログ - Cometeo なお次回…

外部キー=主キーのスキーマを使う場合のowningSide

Twitterで@s_kanedaさんがスキーマのowningSideについてつぶやいていました。 symfonyのスキーマファイルに出てくるowningSideってなんだろう http://twitter.com/s_kaneda/status/10203798714@hidenorigoto ありがとうございます!外部キーが主キーになって…