PHP 데이터 원본 구조 모드 의 표 입구 모드 실례 분석
3107 단어 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.