PHP 데이터 원본 구조 모드 의 표 입구 모드 실례 분석

본 논문 의 사례 는 PHP 데이터 소스 구조 모델 의 표 입구 모델 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
martin fowler 는 라 는 책 에서 우리 가 평소에 접 하 는 응용 개발 을 3 층 으로 나 누 었 다.표현 층,분야 층 과 데이터 소스 층 이다.
그 중에서 영역 층 의 영역 논리 모델 은 사무 스 크 립 트,영역 모델 과 표 모듈 이 있다.
1.사무 스 크 립 트 는 가장 이해 하기 쉽 고 개발 하기 쉽 지만 코드 중복 등 문 제 를 초래 하기 쉬 워 후기 유지 에 불리 하고 논리 가 비교적 간단 한 업 무 를 개발 하 는 데 적합 하 다.예 를 들 어 기업 정 보 를 보 여 주 는 기업 사이트 등 이 몇 개 밖 에 없다.
2.분야 모델 은 세 가지 모델 중에서 가장 복잡 한 모델 로 단점 이 뚜렷 하고 높 은 학습 원가 가 필요 하지만 장점 도 뚜렷 하 다.즉,코드 가 뚜렷 하고 재 활용 율 이 높 으 며 후기 유지 에 편리 하 며 복잡 하고 변화 가 많은 응용 상황 에 적합 하 다.
3.표 모듈 모델 은 사물 스 크 립 트 와 분야 모델 사이 에 있 고 우리 가 중 소형 프로젝트 를 개발 할 때 보통 표 모듈 모델 을 사용한다.
자,분야 논리 모델 에 대해 개인 은 이상 의 얕 은 이해 만 있 을 뿐 구체 적 으로 는 나중에 개념 을 깊이 이해 한 후에 다시 상세 하 게 이야기 하 겠 습 니 다.
여기 서 여러분 에 게 데이터 소스 층 의 데이터 소스 구조 모델 을 말씀 드 리 고 싶 습 니 다.주로 네 가지 가 있 습 니 다.표 입구 모델,행 입구 모델,활동 기록 과 데이터 맵 기 입 니 다.
오늘 은 가장 간단 한 시계 입구 모드 부터 말씀 드 리 겠 습 니 다.
책 에서 표 입구 모드 에 대한 정 의 는 데이터베이스 시트 가 입 구 를 방문 하 는 대상 이 되 고 인 스 턴 스 처리 표 의 모든 줄 입 니 다.
이전에 각 페이지 에 분 산 된 sql 문 구 를 봉인 한 것 으로 이해 할 수 있 습 니 다.한 장의 표 는 하나의 대상 입 니 다.이 대상 은 이 표 와 관련 된 모든 업무 논 리 를 처리 하여 코드 의 재 활용 성 을 잘 향상 시 켰 습 니 다.
지금 생각해 보 니 처음 졸업 할 때 시계 입구 모드 를 자주 사용 했다.
구체 적 인 실현 방식 은 코드 참조:
database.php

<?php
class Database{
 //      ,                       
 private static $_dbConfig = array(
 'host' => '127.0.0.1',
 'username' => 'root',
 'pwd' => '',
 'dbname' => 'bussiness'
 );
 private static $_instance;
 public static function getInstance(){
 if(is_null(self::$_instance)){
  self::$_instance = new mysqli(self::$_dbConfig['host'], self::$_dbConfig['username'], self::$_dbConfig['pwd'], self::$_dbConfig['dbname']);
  if(self::$_instance->connect_errno){
  throw new Exception(self::$_instance->connect_error);
  }
 }
 return self::$_instance;
 }
}

person.php

<?php
require_once 'database.php';
class Person extends Database{
 public $instance;
 public $table = 'person';
 public function __construct(){
 $this->instance = Person::getInstance();
 }
 public function getPersonById($personId){
 $sql = "select * from $this->table where id=$personId";
 echo $sql;
 return $this->instance->query($sql);
 }
 /**             ...**/
}

index.php

<?php
require_once 'person.php';
$person = new Person();
var_dump($person->getPersonById(1)->fetch_assoc());
die();

실행 결과:

select * from person where id=1
array (size=2)
 'id' => string '1' (length=1)
 'name' => string 'ben' (length=3)

더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기