PHP 팩토리 패턴의 간단한 구현 방법

不言
풀어 주다: 2023-03-28 22:16:01
원래의
1554명이 탐색했습니다.

이 글은 주로 PHP 팩토리 모드의 간단한 구현 방법을 소개하고, 팩토리 모드의 개념과 원리를 간략하게 설명하며, PHP 팩토리 모드 관련 작동 기술을 예제 형식으로 분석하여 도움이 필요한 친구들이 참고할 수 있습니다. 이 기사의 예제에서는 PHP 팩토리 패턴의 간단한 구현 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

팩토리 패턴은 필요에 따라 객체를 생성하기 위해 팩토리를 설정하는 클래스입니다. 이 방법은 클래스를 동적으로 교체하고 구성을 수정할 수 있도록 하는 데 매우 중요합니다. 등.

php 샘플 코드는 다음과 같습니다.

//-----------------------------工厂模式-------------------------//
class A{
 public $class;  // public $class = $_GET['c']; //类名
 public $method; // public $method = $_GET['m']; //方法
 public function __construct($class,$method){
  $this->class = ucfirst(strtolower($class)); //对类名进行安全处理
  $this->method = strtolower($method);  //对方法名进行安全处理
  $this->work($this->class,$this->method);
 }
 public function work($class,$method){
  // 把文件命名成 (类名.class.php的形式),就可以通过类名找到文件。
  //include '文件名(文件在别的地方)';  #例如 include './index.php'; 引入文件然后实例化类。
  $c = new $class; //实例化类
  $c->$method(); //访问类的方法
 }
}
class B{
 public function ba(){
  echo &#39;实例化后的ba方法<br>&#39;;
 }
 public function bb(){
  echo &#39;实例化后的bb方法<br>&#39;;
 }
}
class C{
 public function ca(){
  echo &#39;实例化后的ca方法<br>&#39;;
 }
 public function cb(){
  echo &#39;实例化后的cb方法<br>&#39;;
 }
}
//工厂模式的实现
$a = new A(&#39;b&#39;,&#39;ba&#39;);  // 通过类访问方法
$a = new A(&#39;C&#39;,&#39;ca&#39;);  // 通过类访问方法
로그인 후 복사

실행 결과:

实例化后的ba方法
实例化后的ca方法
로그인 후 복사

위 내용은 PHP 팩토리 패턴의 간단한 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿