Catalystのモジュールとか

__PACKAGE__と$selfの関係
warn __PACKAGE__;
warn $self;

結果

Hoge::App::Fuga::Controller::Class名
Hoge::App::Fuga::Controller::Class名=HASH(0xd2694a0)


Catalyst::Base

This used to be the base class for Catalyst Controllers. It remains here for compatibility reasons, but its use is highly deprecated.
if your application produces a warning, then please update your application to inherit from Catalyst::Controller instead.


Catalyst ControllersのBase Classとして使用される。互換上の理由から残り続けるが、使用するのは非推奨である。
もし開発しているアプリケーションが警告を出したら、Catalyst::Controller を代わりに受け継ぐためにアプリケーションをアップデートしてください。


App::Schema

DBIx::Class::Schema::Loaderによって作られたファイル。__PACKAGE__->load_classesをwarn出力しても空文字しか出力されないが、なければSchemaを呼び出せない。

DBIx::Class::Schema::Loader

DBIx::Class::Schema::Loader - Create a DBIx::Class::Schema based on a database

DBIx::Class::Schemaに基づいてSchemaを作成する。
スキーマとは、データベースにどのような種類のデータをどのような構造で格納するか定義したもののことを指す。テーブルの名前と各カラムの名前とタイプを定義する。

DBIx::Class::Schema - composable schemas

Creates database classes based on a schema. This is the recommended way to use DBIx::Class and allows you to use more than one concurrent connection with your classes.

スキーマに基づいてデータベースを作成する。DBIx::Classを使用するための推奨される方法であり、クラスとの複数の同時接続を可能にする。

DBIx::Class - Extensible and flexible object <-> relational mapper.

DBIx::Class needs to know what your Table structure looks like. You do that by defining Result classes. Result classes are defined by calling methods proxied to DBIx::Class::ResultSource. Each Result class defines one Table, which defines the Columns it has, along with any Relationships it has to other tables. (And oh, so much more besides) The important thing to understand:

DBIx::Classはテーブルの構造がどのようになっているかを知っておく必要がある。Result classesを定義することによってそれを実現できる。Result classesはDBIx::Class::ResultSourceにプロキシされたメソッドを呼び出すことで定義される。それぞれのResult classは、他のテーブルとの関係やカラムがどのようになっているか定義する。理解するのが重要だ。

DBIx::Class::ResultSet - Represents a query used for fetching a set of results.

A ResultSet is an object which stores a set of conditions representing a query. It is the backbone of DBIx::Class (i.e. the really important/useful bit).
No SQL is executed on the database when a ResultSet is created, it just stores all the conditions needed to create the query.
A basic ResultSet representing the data of an entire table is returned by calling resultset on a DBIx::Class::Schema and passing in a Source name.

ResultSetは、クエリを表す一連の条件を用意するオブジェクトである。ResultSetはDBIx::Classにとって非常に重要な存在である。ResultSetが作られる時、データベースで実行されるSQLはない。ResultSetはクエリを作るのに必要全ての条件を用意する。基本的なResultSetは、DBIx::Class::SchemaでResultSetを呼んだり、ソースネームをパスすることによって全テーブルのデータを表す。

Catalyst::Plugin::ConfigLoader - Load config files of various types

This module will attempt to load find and load a configuration file of various types. Currently it supports YAML, JSON, XML, INI and Perl formats.

このモジュールは、様々なタイプの設定ファイルをロードすることを試みる。現在はYAMLJSON,、XML、 INI、Perlをサポートしている。

load_config
This method handles loading the configuration data into the Catalyst context object. It does not return a value.

load_configメソッドは、Catalyst context objectへの設定データをロードする。値は返さない。

コンテキストオブジェクト

$contextオブジェクトはApplication内の全ての場所からアクセス可能なオブジェクトである。コンテキストオブジェクトはアクションの第2引数として必ず渡される。$cと略される。

extends

extends 'Animal'; # Animalクラスを継承

継承

継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。

主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。継承は、「コードの再利用性」や「拡張性」を高めるための有効な手段となる。

カプセル化

情報(フィールド)や操作(メソッド)についてアクセス制御をかけることにより、悪意や間違いによる利用を防止し、想定しない利用が発生したならば、その原因箇所を特定しやすくするために仕組み化すること。