タグ

ブックマーク / innx-hidenori.hatenadiary.org (18)

  • OpenPNEを使ったカスタマイズ開発プロジェクトをGitで管理する方法 - しんふぉにゃん

    # まだまだGit勉強中なので、あくまで現時点の私のレベルでのメモです。 注意 OpenPNE3ディレクトリ配下だけをカスタマイズプロジェクトとして扱いたいだけであれば、OpenPNE3リポジトリに自分用開発ブランチを作ればよいと思います。 状況とやりたいこと 状況 OpenPNE3はGitでソース管理されている(GitHub) OpenPNE3の画面などを大きくカスタマイズする場合、コア部分のファイルに手を入れる必要がある やりたいこと OpenPNE3をカスタマイズして使うプロジェクトをGitで管理したい できれば、1つのGitリポジトリで、プログラムコードだけでなく設計ドキュメントなども管理したい つまり、OpenPNE3のリポジトリに該当するファイル群は、サブディレクトリに配置されるようなイメージ OpenPNE3の体のバージョンアップに(手軽に)追随したい Gitで差分を手軽に

    OpenPNEを使ったカスタマイズ開発プロジェクトをGitで管理する方法 - しんふぉにゃん
    t_tsuru
    t_tsuru 2010/11/26
  • symfonyのフロントコントローラーをカスタマイズして、ファイル名の規則などをCakePHP風に - しんふぉにゃん

    Twitterにて、@yuzoneさんが以下のようなことをつぶやいていました。 SymfonyはController名がぜんぶactions.class.phpっぽいので、間違えて違うのを編集しないように注意しないとなー http://twitter.com/yuzone/status/12111530758 これについて、基的にはアクション(Cakeでいうコントローラー)のファイル名は決められたものしか使えない(通常はactions.class.php)のですが、フロントコントローラーを拡張すると、独自の命名規則を使うことができます。 以下、ちょっとだけCake風のファイル名で扱うための変更手順です。 1. 独自フロントウェブコントローラーを作成 symfonyのフロントウェブコントローラーとは、CakePHPでいうControllerクラスの仕事の一部を担うもので、個別のアクションへ

    symfonyのフロントコントローラーをカスタマイズして、ファイル名の規則などをCakePHP風に - しんふぉにゃん
  • 取得したDoctrine_Collectionのインデックスに特定のフィールドの値を使う - iNNX Life - real side

    通常、Doctrineでレコードを取得すると、Doctrine_Collectionのインデックスには整数インデックスが使われます。 しかし、取得したレコード一覧を単にループで処理するのではなく、連想配列のように処理したい場合もあります。 このような場合、Doctrine_Collectionのインデックスに、取得するレコードの特定のフィールドを使うように設定できます。 この機能を「Key Mapping」と呼びます。 INDEXBYキーワード コレクション:キーのマッピング Key Mappingの基1 INDEXBYキーワードによる指定 DQL内に直接指定できる「INDEXBY」というキーワードがあります。 これを使うのがもっとも簡単です。 <?php $user_list = Doctrine_Query::create()->from('User u INDEXBY u.hand

    取得したDoctrine_Collectionのインデックスに特定のフィールドの値を使う - iNNX Life - real side
  • しんふぉにゃん

    重要なことなので、最初に書いておきます。 この記事を読んでいる間にチケットが売り切れるといけないので、 今すぐPHP Matsuriのチケットを購入しましょう! チケット購入はこちら さて、今年もPHP Matsuriの季節がやってきました。 PHP Matsuriって何?という方もいらっしゃるかもしれませんが、一言で説明すると「PHPerが集まる祭」です。 昨年開催された PHP Matsuri の模様は、こちらの記事(昨年のレポート記事リンク)をお読みください。 PHP Matsuri 2010レポート(日Symfonyユーザー会) 「イベントは面白そうだけど、東京へ行くのが・・・」といつも悔しい思いをしていた方々に朗報です。 なんと今年は、大阪で開催されます。 私は岐阜県に住んでいますが、東京へ行くのと比べると、大阪へ行く交通費はだいたい半額になります。 私と同じような方、今すぐチ

    しんふぉにゃん
  • symfonyユーザ会 - しんふぉにゃん

    symfony仲間と「日symfonyユーザ会」なるものの設立を準備しています。 大雑把には、既存のsymfonyユーザーや、これからsymfonyを始める方々を支援するための活動をする組織、ということになりますが、特に既存のsymfonyユーザーが普段から感じている「困っていること」を解決するための活動をしていきたいよね、と話をしています。 この「困っていること」というのは人それぞれでしょうけど、私を含めて複数の方が考えている、割と大きな「困ったこと」の1つが「日語による情報の整理」です。 私自身は、この「情報の整理」という目的から、symfonyユーザ会の必要性を強く感じ、設立の準備にあたっています。 以下、私が「symfonyユーザ会があったらこんな風にしたい」ということを書いてみます。 1. 日語による情報 symfonyは海外の企業が開発しているソフトウェアで、公式サイトの

    symfonyユーザ会 - しんふぉにゃん
    t_tsuru
    t_tsuru 2010/03/05
  • symfonyのプラグインコマンドのインストール先ディレクトリを変更する - しんふぉにゃん

    Twitterで@okonomiさんから以下の発言がありました。 symfonyでEthnaのpear-local的なことはできるんかな。手動でパッケージ管理とか無理ですよ? *Tw* 「symfony plugin:install -c pear.php.net --force-license -d pear」でPEARをインストールできた *Tw* @hidenorigoto symfony plugin:install でいけました。ただふつうのプラグインと混じってしまうので、インストールディレクトリを指定できればよかったんですが分からなかったです。 これについて調べてみました。 プラグインのインストール先ディレクトリはsfBaseTask::getPluginManager()内で設定されている がオプションなどでは変更できません http://trac.symfony-proje

    symfonyのプラグインコマンドのインストール先ディレクトリを変更する - しんふぉにゃん
  • sfDoctrineGuardPluginについてのメモ - しんふぉにゃん

    symfonyには次のようなサイトのユーザー管理機能をまとめたプラグインがあります ユーザーのログイン機能 ユーザー一覧をメンテナンスする管理画面 コマンドラインからユーザーの情報を編集する機能 未登録のユーザーがユーザー登録できる画面 パスワードを忘れたユーザーがパスワードを再発行できる画面 ユーザーへのパーミッション・グループの付与と管理 それが「sfDoctrineGuardPlugin」です。 プラグインに付属しているREADMEの翻訳も合わせて参照してください。 sfDoctrineGuardPlugin で使えるコマンド(タスク)一覧 guard :add-group ユーザーにグループを追加する :add-permission ユーザーにパーミッションを追加する :change-password ユーザーのパスワードを変更する :create-user ユーザーを作成する :

    sfDoctrineGuardPluginについてのメモ - しんふぉにゃん
  • DoctrineのSortableビヘイビアを使う場合 - しんふぉにゃん

    レコードをソート可能かつ、各レコードのソート順変更などの操作を可能にする「Sortable」というビヘイビアがありますが、いくつかの実装が存在するようです。 Doctrine公式に登録されているextension http://www.doctrine-project.org/extension/Sortable ソース http://trac.doctrine-project.org/browser/extensions/Sortable/branches/1.2-1.0 symfonyのプラグイン「sfDoctrineAtcAsSortablePlugin」 http://trac.symfony-project.org/browser/plugins/sfDoctrineAtcAsSortablePlugin READMEに「DO NOT USE YET!」と書いてありますので、もう

    DoctrineのSortableビヘイビアを使う場合 - しんふぉにゃん
  • ORMフォームで複合ウィジェットを使う - しんふぉにゃん

    ここで説明するやり方はちょっと強引なやり方かと思います。 symfony的にはカスタムウィジェットを作成して使うのが綺麗なやり方だと思います。 以前のエントリで、複合ウィジェットをフォームで扱う方法を紹介しました。 複合ウィジェットの値の取得方法 - しんふぉにゃん 先日某掲示板のsymfonyのスレッドに、ちょっとした質問(http://pc11.2ch.net/test/read.cgi/php/1201177567/896)があったので、これに対応する方法を書いてみます。 通常のフォームの場合は自力で値の取得やデータベースへの保存を行うのでよいのですが、ORMフォーム(DoctrineフォームやPropelフォーム)の場合は、データベースへの値の保存回りの処理もフレームワークがやってくれるので、そこもカスタマイズする必要があります。 今回使用するモデル 住所と電話番号を格納する「Ad

    ORMフォームで複合ウィジェットを使う - しんふぉにゃん
  • 2009年のsymfonyアドベントカレンダー「More with symfony」はすごい! - しんふぉにゃん

    さて今年も12月になってしまいましたが、12月といえば最近では日プログラマー界隈(主にPerl)でもアドベントカレンダープロジェクトが広まってきましたね。 symfonyは今年も家でアドベントカレンダーが始まりました! http://www.symfony-project.org/advent_calendar/ そして、私は運良く、このアドベントカレンダーの翻訳プロジェクトに参加させていただきました! 昨年までは、アドベントカレンダー公開時点では日語の翻訳が追いついておらず、英語版を読みながら個人的に翻訳を行って進めていた方が何名かいらっしゃったという状況でした。 今年のアドベントカレンダーは、あらかじめ日語翻訳チーム(普段公式サイトのドキュメント翻訳などを行っていた人)に家から声がかかり、翻訳版も同時に公開できるようにプロジェクトが進められました。 すでに先のチャプターのタ

    2009年のsymfonyアドベントカレンダー「More with symfony」はすごい! - しんふぉにゃん
  • symfony1.3のDoctrineモデルでgetter/setterのPHPDocコメントが生成されるようになった - しんふぉにゃん

    以前、Doctrine(symfony 1.3 alpha + Doctrine)について調べた時、生成されたモデルクラスに各フィールド値に対応するアクセサメソッドが存在しない、ということを書きました。 Doctrineメモ - しんふぉにゃん 私は普段Eclipse + PDTでコード補完に頼りながらコーディングするダメ人間ですが、特にモデルクラスのフィールドへのアクセサが補完されることは重要なポイントでした。 この問題が、symfony 1.3 betaにてPHPDocのコメントがモデルのベースクラスに追加されるようになり、あっさり解決してしまいました。 http://trac.symfony-project.org/changeset/23314/branches/1.3/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildMod

    symfony1.3のDoctrineモデルでgetter/setterのPHPDocコメントが生成されるようになった - しんふぉにゃん
  • symfony 1.2/1.3でタスクからヘルパーを利用する - しんふぉにゃん

    symfony1.1までは、sfLoader#loadHelpersメソッドを使用してアクションやタスク内からヘルパーをアクティベートし、呼び出すことができました。 dfltweb1.onamae.com – このドメインはお名前.comで取得されています。 しかし、sfLoader#loadHelpersメソッドは、symfony1.2から非推奨になっており、タスクなどで使用すると次のようなメッセージが表示されます。 >> main The sfLoader::loadHelpers() method is deprecated. Please use the same method from sfApplicationConfiguration.ですので、このメッセージのとおり、sfApplicationConfigurationのメソッドを使用するように変更してみます。 まず、タスク

    symfony 1.2/1.3でタスクからヘルパーを利用する - しんふぉにゃん
  • symfony 1.3のウィジェット系メソッドでメソッドチェーン(fluid interface) - しんふぉにゃん

    symfony 1.3の日語ドキュメント翻訳も始まって、ボチボチ公式サイトでも表示され始めるんじゃないかと思います。(翻訳作業をされている方、お疲れ様です。) 1.3の新機能についてまとめてある「whats-new」を読んでいて、1つ気になる機能があったのでピックアップしてみます。 symfony 1.x legacy website http://www.symfony-project.org/tutorial/1_3/ja/whats-new ここに、「Fluent Interface」という節があります。以下英語版から引用 Fluent Interface The widgets now implement a fluid interface for the following methods: sfWidgetForm: setDefault(), setLabel(), set

    symfony 1.3のウィジェット系メソッドでメソッドチェーン(fluid interface) - しんふぉにゃん
  • symfony 1.3付属のDoctrineで日付の扱いが少し楽に - しんふぉにゃん

    同じく1.3のwats-newからもう1つ。 symfony 1.x legacy website http://www.symfony-project.org/tutorial/1_3/ja/whats-new Doctrineの節に「Date Setters and Getters」というのがありました。日付をDateTimeオブジェクト設定・取得できるヘルパーメソッドが追加されたようです。(Doctrine体ではなくて、sfDoctrinePlugin側で実装されています) http://trac.symfony-project.org/changeset/19997 PHP Manual DateTimeクラス http://www.php.net/manual/ja/class.datetime.php これは微妙に嬉しい変更ですね。 ※こういうちょっとしたサポートが増えてくる

    symfony 1.3付属のDoctrineで日付の扱いが少し楽に - しんふぉにゃん
  • DoctrineとPropelのパフォーマンス比較 - しんふぉにゃん

    # 2009/09/23 22:45 Fivestarさんからコメントで教えていただいたDoctrineのINSERTについてテスト1に追記しました。 # 2009/09/24 01:03 Fivestarさんからコメントで教えていただいたDoctrineのQueryCacheについてテスト3に追記しました。 symfonyとしては「これからはDoctrineがメイン」という方向性(symfony 1.3ではデフォルトのORMがDoctrineになっていますし)のようなので、いろいろな機能がDoctrineを基準に実装されていくことになるのだろうと思われますが、実際の案件に使っていくには、やはりパフォーマンスが気になるところです。 そもそもPropelでもPDOが採用された1.3が出るまではさんざん「遅い」と言われていて、それが「symfonyってもっさり」の原因になっていたのではないかと

    DoctrineとPropelのパフォーマンス比較 - しんふぉにゃん
  • Doctrineメモ - しんふぉにゃん

    ぼちぼちDoctrineを使い始めようということで趣味プロジェクトをsymfony1.3+Doctrineで作り始めました。 Doctrineについての知識が全くないので、Propelとの違いなど(初歩的なことから)個人的にメモしていきます。 symfony 1.x legacy website 注)symfony1.3ではDoctrineがORMのデフォルトです。 schema.yml Doctrineの場合のschema.ymlの書き方のリファレンスは以下 symfony 1.x legacy website カラムの型を単純に「integer」と書くとBIGINTになる。 小さいサイズにしたい場合は、「integer(4)」などと書く 同様に、暗黙に生成されるidカラム(プライマリキー)はそのままだとBIGINTになる。 明示的にidカラムをinteger(4)などで指定すれば変更で

    Doctrineメモ - しんふぉにゃん
  • fabienさんとのsymfonyツアー&symfony MeetUpに参加しました - しんふぉにゃん

    9/5(土)のPHPカンファレンスに参加する目的で東京へ遠征し、とても楽しかったのですが、次の日にfabienさんとのツアーがあり、夜にはsymfony meet upということでsymfonyユーザーで集まろうという企画があることをakkyさんのフィードで知りました。 symfonyのFabienさんと東京一日観光 – 秋元 Symfony Meetup Tokyoやります – 秋元 参加することには少し悩んだのですが、特に田舎在住の私にとって、他のsymfonyユーザーと交流する機会や、ましてやfabienさんの話を直接聞く機会など滅多にあることではありませんので、この機会にとツアーとmeet upに参加しました。 参加された他の方のエントリ Fabienと東京観光+Symfony Meetup Tokyo - ゆっくり*ゆっくり PHPカンファレンス2009 第3日目テクテクデイに参

  • sfFormのレンダリングにカスタムフォーマッタを使用する - しんふぉにゃん

    symfonyのフォームライブラリsfFormを使ってフォームを表示する場合、フォームの各要素はデフォルトではテーブルの行として以下のようなHTMLタグで出力されます。 <tr> <th><label for="login_login_name">Login name</label></th> <td><input type="text" name="login[login_name]" id="login_login_name" /></td> </tr> フォーマッタは、デフォルトの「table」以外に「list」も用意されています。 (これらはそれぞれ、sfWidgetFormSchemaFormatterTableとsfWidgetFormSchemaFormatterListに対応します) フォーマットをlistに変更するには、フォームの設定を行っている部分で以下のようにします。

    sfFormのレンダリングにカスタムフォーマッタを使用する - しんふぉにゃん
  • 1