[緑風]原文は How To Create a PHP Factory Pattern載せる.

MVCを 作る のは 私が 新しい プログラミング コンセプトを 多く 学ぶ 数 あるように 日 与えた. 彼ら 中 ファクトリー パターンという のが ある. プログラミング パターンが 咲く事は ない. パターンは 特定 問題を 解決すること ための 仮装(家長) 簡単な 方法だ. これ 言葉は 違う 方法でも ような 問題を 解決する 数 あるという 言葉だ. ただ, パターンは 目標を 成就するように 日 与える 仮装(家長) 效果的な 方法だと 割 数 ある.

今日は ファクトリー パターンを よく見る のだ. 現実で 工場(Factory)銀 品物を 作る. 似ているように, ファクトリー パターンで ‘ファクトリー’街 客体を 作る.

ファクトリー パターン 作り

これを 説明すること のために, 一般的に 私たちが 客体を 作って 使う 方法を 察して 見よう.

<?php
$oUser = new User();
$oUser->start();
?>

上 コードは User 客体を 作って start 関数を 行う. ファクトリー パターンは コード たいてい 竝びで ような 仕事を 割 数 あるように 日 与える.

こんなに する.

<?php
class User
{
    public static function factory()
    {
        return new __CLASS__;
    }
    public function start() { ... }
}

User::factory()->start();
?>

上の factory 関数は 客体を 作って 返還する. __CLASS__ 増えた クラス 名前を 指称する マジック 定数だ. これ 場合には “User”を 指称する 蟹 なる. したがって, factory 関数は User 客体を リターンする.

これ 関数が スタティック 関数で, 円滑 焚く いつでも 呼び出す 数 あるという 点が 阿洲 重要だ.(factory 関数という 名前が 重要な 蟹 なく.)

客体を リターンすることで, 私たちは 簡単な 関数 チェーンを 使う 数 あって, コードを たいてい 竝びで 万たち 数 ある.

これ これを 使う 蟹 良いか?

勿論, ファクトリー パターンを (団地 自分 自分だけが なく) あらゆる クラスの あらゆる 客体を 作り のために 使う 首都 ある. これ 場合に, 名前に 基盤して 客体を 作り のために ファクトリー 関数に クラス 名前 パラメーターを 越して 与える.

下の 例題を 紫.

<?php
class Builder
{
    public static function factory($sClassName)
    {
        return new $sClassName;
    }
}

$oUser = Builder::factory("User");
?>

これ パターンが どうな 取り柄が あるか 頭を 巻くの 以外に, これ パターンが 私たちが もうちょっと 易しく 働くように 日 与えるという 点を 思い出しなさい. もし あなたが 客体と クラスを 扱ったら, あなたは 結局 ファクトリー パターンを 使う 時 完璧に 処理する 数 ある そんな 状況に 直面する のだ.

ファクトリー パターンは 違う 客体や クラスの 状態に 基盤して 違う 方式で 客体を 初期化して たい 時 特別に 有用な のだ. [1,2,3に よって 夫夫 違う 客体を 生成するとか する こと.] こういう 場合, ファクトリー クラスは 客体を 正しい 方式で 初期化する 数 ある. [ファクトリー パターンを 使うと する] もう一つの 理由は 初期化しようとする 客体に 基盤して 正しい ファイルを 自動で 呼んで来るという 点が なる.

ファクトリー パターンに 大海 もっと 分かって たければ, PHP 公式 文書を 強力に お勧めする. 質問が あったら デッグル 残しなさい.

- コメント機能はありません。コメントの代わりに[email protected]にメールを送ってください。