Kato Atsushi
ktats****@users*****
2007年 7月 14日 (土) 10:54:36 JST
Index: docs/modules/DBIx-Class-0.07006/lib/DBIx/Class/Manual/Component.pod diff -u docs/modules/DBIx-Class-0.07006/lib/DBIx/Class/Manual/Component.pod:1.1 docs/modules/DBIx-Class-0.07006/lib/DBIx/Class/Manual/Component.pod:1.2 --- docs/modules/DBIx-Class-0.07006/lib/DBIx/Class/Manual/Component.pod:1.1 Sat Jul 14 10:29:57 2007 +++ docs/modules/DBIx-Class-0.07006/lib/DBIx/Class/Manual/Component.pod Sat Jul 14 10:54:36 2007 @@ -1,25 +1,25 @@ =head1 NAME -DBIx::Class::Manual::Component - DBIx::Class ã³ã³ãã¼ãã³ããéçºãã +DBIx::Class::Manual::Component - DBIx::Class コンポーネントを開発する -=head1 ã³ã³ãã¼ãã³ãã¨ã¯ä½ã +=head1 コンポーネントとは何か A component is a module that can be added in to your DBIx::Class classes to provide extra functionality. A good example is the PK::Auto component which automatically retrieves primary keys that the database itself creates, after the insert has happened. -DBIx::Classã®ã¯ã©ã¹ã«ä»å çãªæ©è½ãæä¾ããããã«è¿½å ããã¢ã¸ã¥ã¼ã«ã®ãã¨ã§ãã -好ä¾ã¨ãã¦ã¯ãPK::Autoã³ã³ãã¼ãã³ããããã¾ããPK::Autoã¯ãinsertã®å¾ã«ã -ãã¼ã¿ãã¼ã¹èªèº«ããä½ã£ããã©ã¤ããªãã¼ãåãåºãã¾ãã +DBIx::Classのクラスに付加的な機能を提供するために追加するモジュールのことです。 +好例としては、PK::Autoコンポーネントがあります。PK::Autoは、insertの後に、 +データベース自身が、作ったプライマリキーを取り出します。 -=head1 使ãæ¹ +=head1 使い方 Components are loaded using the load_components() method within your DBIx::Class classes. -ã³ã³ãã¼ãã³ãã¯ãèªåã®DBIx::Class ã¯ã©ã¹ã®ä¸ã«ã load_components() -ã¡ã½ããã使ã£ã¦ããã¼ããã¾ãã +コンポーネントは、自分のDBIx::Class クラスの中に、 load_components() +メソッドを使って、ロードします。 package My::Thing; use base qw( DBIx::Class ); @@ -31,18 +31,18 @@ component outside of the normal namespace you can do so by prepending the component name with a +. -ããã¦ããã³ã³ãã¼ãã³ãã®å®å ¨ãªããã±ã¼ã¸åãæå®ãããã¯ãªãã§ãããããã -ãã®ä»£ããã«ãDBIx::Class:: ã®é¨åãå¤ãã¦ãæ®ãã®é¨åã ããå«ãã¾ãã -é常ã®åå空é以å¤ã®ã³ã³ãã¼ãã³ãããã¼ãããããªãã -ã³ã³ãã¼ãã³ãåã®åã« + ãä»ãã¦ãã ããã +たいてい、コンポーネントの完全なパッケージ名を指定したくはないでしょうから、 +その代わりに、DBIx::Class:: の部分を外して、残りの部分だけを含めます。 +通常の名前空間以外のコンポーネントをロードしたいなら、 +コンポーネント名の前に + を付けてください。 __PACKAGE__->load_components(qw/ +My::Component /); Once a component is loaded all of it's methods, or otherwise, that it provides will be available in your class. -ã³ã³ãã¼ãã³ãããã¼ããããã¨ãå ¨ã¦ã®ã³ã³ãã¼ãã³ããæä¾ãã -ã¡ã½ãããèªåã®ã¯ã©ã¹ã§æå¹ã«ãªãã¾ãã +コンポーネントがロードされると、全てのコンポーネントが提供する +メソッドが自分のクラスで有効になります。 The order in which is you load the components may be very important, depending on the component. The general @@ -52,17 +52,17 @@ mention anything about the order in which you should load them. -ã³ã³ãã¼ãã³ãããã¼ãããé çªã¯é常ã«éè¦ã§ããã³ã³ãã¼ãã³ãã«ä¾åãã¾ãã -ä¸è¬çãªçµé¨ã§ã¯ãã¾ãä»å çãªã³ã³ãã¼ãã³ãããã¼ãããããããã -ã³ã¢ãªã³ã³ãã¼ãã³ããæå¾ã«ãã¼ããã¾ããããããããªããã°ã -使ã£ã¦ããã³ã³ãã¼ãã³ãã®ããã¥ã¡ã³ããèªã¿ã -ãã¼ããã¹ãé çªã«ã¤ãã¦ä½ãæ¸ããã¦ããããè¦ã¦ãã ããã +コンポーネントをロードする順番は非常に重要です。コンポーネントに依存します。 +一般的な経験では、まず付加的なコンポーネントをロードし、それから、 +コアなコンポーネントを最後にロードします。よくわからなければ、 +使っているコンポーネントのドキュメントを読み、 +ロードすべき順番について何か書かれているかを見てください。 -=head1 ã³ã³ãã¼ãã³ããä½ã +=head1 コンポーネントを作る Making your own component is very easy. -èªåèªèº«ã®ã³ã³ãã¼ãã³ããä½ãã®ã¯ã¨ã¦ãç°¡åã§ãã +自分自身のコンポーネントを作るのはとても簡単です。 package DBIx::Class::MyComp; use base qw(DBIx::Class); @@ -76,13 +76,13 @@ L<DBIx::Class::Row> and others. For example, you could override the insert and delete methods. -ã³ã³ãã¼ãã³ãããã¼ããããã¨ãå¼ã³åºãã¦ããã¯ã©ã¹ã®ã -L<Class::C3>ã使ã£ããç¶æ¿ãã§ã¼ã³ã«å«ã¾ãã¾ãã -ã«ã¹ã¿ã ã¦ã¼ãã£ãªãã£ã¡ã½ãããæä¾ããã®ã¨åæ§ã«ã -ã³ã³ãã¼ãã³ãããä»ã®ã³ã¢ã³ã³ãã¼ãã³ãã§æä¾ããã¦ãã -ã¡ã½ãããä¸æ¸ãããããããã¾ãããL<DBIx::Class::Row>ã -ãã®ä»ã®ã³ã³ãã¼ãã³ãã®ããã«ã -ä¾ãã°ãinsert 㨠delete ã¡ã½ããããªã¼ãã¼ã©ã¤ãã§ãã¾ãã +コンポーネントがロードされると、呼び出しているクラスの、 +L<Class::C3>を使った、継承チェーンに含まれます。 +カスタムユーティリティメソッドを提供するのと同様に、 +コンポーネントが、他のコアコンポーネントで提供されている +メソッドを上書きするかもしれません。L<DBIx::Class::Row>や +その他のコンポーネントのように。 +例えば、insert と delete メソッドをオーバーライドできます。 sub insert { my $self = shift; @@ -103,60 +103,60 @@ will be called first. If you are unsure as to why a given method is not being called try printing out the Class::C3 inheritance stack. -ãããªãã¨ãã³ã³ãã¼ãã³ãããã¼ãããé çªã¯ã¨ã¦ãéè¦ã§ãã -æåã«ãã¼ããããã³ã³ãã¼ãã³ãã¯ãç¶æ¿ã¹ã¿ãã¯ã®æåã®ãã®ã§ãããã®ããã -insert() ããªã¼ãã¼ã©ã¤ãããã¨ãã¦ãDBIx::Class::Rowã³ã³ãã¼ãã³ããæåã« -ãã¼ããããã¨ãèªåã®insert()ã¯ã決ãã¦å¼ã°ãã¾ãããDBIx::Class::Row insert() -ãæåã«å¼ã°ãã¦ãã¾ãã¾ããããããã¡ã½ãããå¼ã°ããªããããããããªããã°ã -Class::C3 ã®ç¶æ¿ã¹ã¿ãã¯ãåºåãã¦ã¿ã¦ãã ããã +こうなると、コンポーネントをロードする順番はとても重要です。 +最初にロードされるコンポーネントは、継承スタックの最初のものです。そのため、 +insert() をオーバーライドしたとして、DBIx::Class::Rowコンポーネントが最初に +ロードされると、自分のinsert()は、決して呼ばれません。DBIx::Class::Row insert() +が最初に呼ばれてしまいます。あたえたメソッドが呼ばれないかよくわからなければ、 +Class::C3 の継承スタックを出力してみてください。 print join ', ' => Class::C3::calculateMRO('YourClass::Name'); Check out the L<Class::C3> docs for more information about inheritance. -ç¶æ¿ã«ã¤ãã¦ãã詳ããã¯ãL<Class::C3>ã®ããã¥ã¡ã³ãããã§ãã¯ãã¦ãã ããã +継承についてより詳しくは、L<Class::C3>のドキュメントをチェックしてください。 -=head1 åå¨ããã³ã³ãã¼ãã³ã +=head1 存在するコンポーネント -=head2 ä»å çãªãã® +=head2 付加的なもの These components provide extra functionality beyond basic functionality that you can't live without. -ä¸è¨ã®ã³ã³ãã¼ãã³ãã¯åºæ¬çãªæ©è½ãè¶ããã -ããç¡ãã§ã¯çãã¦ãããªããããªãä»å çãªæ©è½ãæä¾ãã¾ãã +下記のコンポーネントは基本的な機能を越えた、 +これ無しでは生きていけないような、付加的な機能を提供します。 L<DBIx::Class::CDBICompat> - Class::DBI Compatibility layer. -L<DBIx::Class::CDBICompat> - Class::DBI äºæã¬ã¤ã¤ã +L<DBIx::Class::CDBICompat> - Class::DBI 互換レイヤ。 L<DBIx::Class::FormTools> - Build forms with multiple interconnected objects. -L<DBIx::Class::FormTools> - è¤æ°ã®é¢é£ãããªãã¸ã§ã¯ãã§ãã©ã¼ã ãä½ãã +L<DBIx::Class::FormTools> - 複数の関連するオブジェクトでフォームを作る。 L<DBIx::Class::HTMLWidget> - Like FromForm but with DBIx::Class and HTML::Widget. -L<DBIx::Class::HTMLWidget> - FromFormã¨ä¼¼ã¦ãã¾ãããDBIx::Class ã¨HTML::Widgetã +L<DBIx::Class::HTMLWidget> - FromFormと似ていますが、DBIx::Class とHTML::Widget。 L<DBIx::Class::Ordered> - Modify the position of objects in an ordered list. -L<DBIx::Class::Ordered> - æ´åããããªã¹ãå ã®ãªãã¸ã§ã¯ãã®ä½ç½®ãä¿®æ£ããã +L<DBIx::Class::Ordered> - 整列されたリスト内のオブジェクトの位置を修正する。 L<DBIx::Class::PK::Auto> - Retrieve automatically created primary keys upon insert. -L<DBIx::Class::PK::Auto> - insert ã§ãèªåçã«ä½ããããã©ã¤ããªãã¼ãåå¾ããã +L<DBIx::Class::PK::Auto> - insert で、自動的に作られたプライマリキーを取得する。 L<DBIx::Class::QueriesTime> - Display the amount of time it takes to run queries. -L<DBIx::Class::QueriesTime> - ã¯ã¨ãªãå®è¡ããã®ã«ããã£ãæéã表示ããã +L<DBIx::Class::QueriesTime> - クエリを実行するのにかかった時間を表示する。 L<DBIx::Class::RandomStringColumns> - Declare virtual columns that return random strings. -L<DBIx::Class::RandomStringColumns> - ã©ã³ãã ãªæååãè¿ãä»®æ³ã«ã©ã ã宣è¨ããã +L<DBIx::Class::RandomStringColumns> - ランダムな文字列を返す仮想カラムを宣言する。 L<DBIx::Class::UTF8Columns> - Force UTF8 (Unicode) flag on columns. -L<DBIx::Class::UTF8Columns> - ã«ã©ã ã«UTF8 (Unicode) flagãå¼·å¶ããã +L<DBIx::Class::UTF8Columns> - カラムにUTF8 (Unicode) flagを強制する。 L<DBIx::Class::UUIDColumns> - Implicit UUID columns. @@ -164,70 +164,70 @@ L<DBIx::Class::WebForm> - CRUD methods. -L<DBIx::Class::WebForm> - CRUD ã¡ã½ããã +L<DBIx::Class::WebForm> - CRUD メソッド。 -=head2 å®é¨ç +=head2 実験的 These components are under development, there interfaces may change, they may not work, etc. So, use them if you want, but be warned. -ä¸è¨ã®ã³ã³ãã¼ãã³ãã¯éçºä¸ã§ããã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ä»£ããããããã¾ãããã -åããªãã£ããããããããã¾ããããæã¿ãªã使ã£ã¦ãã ããã -ãã ãã注æãã¦ãã ããã +下記のコンポーネントは開発中です。インターフェースは代わるかもしれませんし、 +動かなかったりするかもしれません。お望みなら使ってください、 +ただし、注意してください。 L<DBIx::Class::Serialize> - Hooks for Storable freeze/thaw. -L<DBIx::Class::Serialize> - Storable freeze/thawã®ããã¯ã +L<DBIx::Class::Serialize> - Storable freeze/thawのフック。 L<DBIx::Class::Serialize::Storable> - Hooks for Storable freeze/thaw. -L<DBIx::Class::Serialize::Storable> - Storable freeze/thawã®ããã¯ã +L<DBIx::Class::Serialize::Storable> - Storable freeze/thawのフック。 L<DBIx::Class::Validation> - Validate all data before submitting to your database. -L<DBIx::Class::Validation> - ãã¼ã¿ãã¼ã¹ã«å ¥ããåã«å ¨ã¦ã®ãã¼ã¿ãæ£ããã確èªããã +L<DBIx::Class::Validation> - データベースに入れる前に全てのデータが正しいか確認する。 -=head2 ã³ã¢ +=head2 コア These are the components that all, or nearly all, people will use without even knowing it. These components provide most of DBIx::Class' functionality. -ä¸è¨ã®ã³ã³ãã¼ãã³ãã¯å ¨ã¦ã®ãã»ã¨ãã©å ¨ã¦ã®ã人ããããç¥ããªãã¦ã使ãã§ãããã -ä¸è¨ã®ã³ã³ãã¼ãã³ãã¯DBIx::Classã®æ©è½ã®ã»ã¨ãã©ãæä¾ãã¾ãã +下記のコンポーネントは全ての、ほとんど全ての、人がそれを知らなくても使うでしょう。 +下記のコンポーネントはDBIx::Classの機能のほとんどを提供します。 L<DBIx::Class::AccessorGroup> - Lets you build groups of accessors. -L<DBIx::Class::AccessorGroup> - ã¢ã¯ã»ãµã®ã°ã«ã¼ãä½ãã¾ãã +L<DBIx::Class::AccessorGroup> - アクセサのグルーを作ります。 L<DBIx::Class::Core> - Loads various components that "most people" would want. -L<DBIx::Class::Core> - "ã»ã¨ãã©ã®äºº"ã欲ããæ§ã ãªã³ã³ãã¼ãã³ãããã¼ããã¾ãã +L<DBIx::Class::Core> - "ほとんどの人"が欲しい様々なコンポーネントをロードします。 L<DBIx::Class::DB> - Non-recommended classdata schema component. -L<DBIx::Class::DB> - éæ¨å¥¨ã®ã¯ã©ã¹ãã¼ã¿ã¹ãã¼ãã³ã³ãã¼ãã³ãã +L<DBIx::Class::DB> - 非推奨のクラスデータスキーマコンポーネント。 L<DBIx::Class::InflateColumn> - Automatically create objects from column data. -L<DBIx::Class::InflateColumn> - ã«ã©ã ãã¼ã¿ããèªåçã«ãªãã¸ã§ã¯ããä½ãã +L<DBIx::Class::InflateColumn> - カラムデータから自動的にオブジェクトを作る。 L<DBIx::Class::PK> - This class contains methods for handling primary keys and methods depending on them. -L<DBIx::Class::PK> - ãã®ã¯ã©ã¹ã¯ãã©ã¤ããªãã¼ãæ±ãã¡ã½ããã¨ããã«ä¾åããã¡ã½ãããå«ã¿ã¾ãã +L<DBIx::Class::PK> - このクラスはプライマリキーを扱うメソッドとそれに依存するメソッドを含みます。 L<DBIx::Class::Relationship> - Inter-table relationships. -L<DBIx::Class::Relationship> - ãã¼ãã«éã®ãªã¬ã¼ã·ã§ã³ã·ããã +L<DBIx::Class::Relationship> - テーブル間のリレーションシップ。 L<DBIx::Class::ResultSourceProxy::Table> - Provides a classdata table object and method proxies. -L<DBIx::Class::ResultSourceProxy::Table> - ã¯ã©ã¹ãã¼ã¿ãã¼ãã«ãªãã¸ã§ã¯ãã¨ã¡ã½ãããããã·ãæä¾ãã¾ãã +L<DBIx::Class::ResultSourceProxy::Table> - クラスデータテーブルオブジェクトとメソッドプロキシを提供します。 L<DBIx::Class::Row> - Basic row methods. -L<DBIx::Class::Row> - åºæ¬çãªåã®ã¡ã½ããã +L<DBIx::Class::Row> - 基本的な列のメソッド。 =head1 SEE ALSO @@ -238,12 +238,12 @@ Aran Clary Deltac <bluef****@cpan*****> -=head1 翻訳ã«ã¤ã㦠+=head1 翻訳について -翻訳è ï¼å è¤æ¦ (ktat.****@gmail*****) +翻訳者:加藤敦 (ktat.****@gmail*****) -Perlããã¥ã¡ã³ãæ¥æ¬èªè¨³ Project ã«ã¦ã -Perlã¢ã¸ã¥ã¼ã«ãããã¥ã¡ã³ãã®ç¿»è¨³ãè¡ã£ã¦ããã¾ãã +Perlドキュメント日本語訳 Project にて、 +Perlモジュール、ドキュメントの翻訳を行っております。 http://perldocjp.sourceforge.jp/ http://sourceforge.jp/projects/perldocjp/