Class: DBClient
Source Location: /php/db/DBClient.php
Class DBClient
Class Overview
|
DB 연결자에 대한 추상 클래스입니다.
// DB 연결
$db = db_('mssql', 'test_db', true);
// 메타 데이타 얻어오기
echo $data->top(1);
// 프로시저 사용
$db->spName('test');
$db->spBind('aaa', 'int', 3, $is_output);
$db->spBind('bbb', 'int', 3, 'return', $var);
$db->spSet('aaa', 10);
$db->spExecute();
echo $db->spGet('bbb');
// DB 종료
Located in /php/db/DBClient.php [line 39]
PObject
|
--DBClient
Author(s):
API Tags:
|
Methods
|
Inherited Properties, Constants, and Methods
Method Summary
| void |
addSql() |
sql history 기록하기 |
| void |
bind() |
prepare된 구문을 바인딩 한다. |
| string |
escape() |
각각 DB별 문자열 escape |
| void |
seek() |
result set 이동 |
| void |
setConfig() |
연결설정, /php/db/conf/{name}.ini 파일에 설정 저장 |
| string |
ts() |
getTypeString 별칭 |
| mixed |
__get() |
속성 읽어오기 , getAttribute() 와 같은 역할입니다. |
| mixed |
__set() |
속성 설정하기 , setAttribute() 와 같은 역할입니다. |
Methods
static DBClient createConnector(
string
$dbClass, string|array
$db, [bool
$isConnect = false], [
$type = 'default']
)
|
|
연결자 생성 패턴
Parameters:
|
string |
$dbClass: |
database 종류 (mysql, mssql, oracle, progres, cubrid, sqlite) |
|
string|array |
$db: |
db설정 파일명 또는 db연결환경 배열 |
|
bool |
$isConnect: |
database 연결 여부 , 연결이면 true , 기본값 false |
|
|
$type: |
|
API Tags:
| Return: | DBClient 상속 클래스 |
| Access: | public |
DBClient __construct(
[
$option = ''], [
$type = 'product']
)
|
|
Parameters:
API Tags:
Redefinition of:
- PObject::__construct()
- 생성자
Redefined in descendants as:
void addSql(
string
$sql
)
|
|
sql history 기록하기
Parameters:
API Tags:
쿼리 실행에 영향을 받은 row의 수
API Tags:
Redefined in descendants as:
트랜잭션 시작
API Tags:
| Return: | 시작되었으면 true, 아니면 false |
| Access: | public |
Redefined in descendants as:
void bind(
string
$name, [string
$type = ''], [string
$output = 'in'], [int
$length = -1], [
&$value = null], mixed
$value
)
|
|
prepare된 구문을 바인딩 한다.
상속받은 클래스에서 구현
Parameters:
|
string |
$name: |
바인딩 이름 |
|
string |
$type: |
바인딩될 타입, 데이타베이스 마다 틀림 |
|
string |
$output: |
output 형태, in, out, inout, return |
|
int |
$length: |
데이타길이, -1은 길이제한 없음 |
|
mixed |
$value: |
저장될 데이타 또는 output 변수에 저장될 데이타 |
|
|
&$value: |
|
API Tags:
Redefined in descendants as:
bool checkTemplateId(
string
$id
)
|
|
템플릿 존재하는지에 대한 여부 체크
Parameters:
API Tags:
연결닫기
API Tags:
Redefined in descendants as:
commit
API Tags:
Redefined in descendants as:
연결
API Tags:
| Return: | 연결자 객체 |
| Access: | public |
DBData createData(
$result, resource
$resource
)
|
|
DBData 객체 생성
Parameters:
|
resource |
$resource: |
결과 리소스 |
|
|
$result: |
|
API Tags:
DBProc createProc(
string
$name, [mixed
$option = '']
)
|
|
프로시저를 실행할 객체 리턴 , 하위에서 구현해야합니다.
Parameters:
|
string |
$name: |
|
|
mixed |
$option: |
|
API Tags:
Redefined in descendants as:
DBData data(
string
$id, [array
$param = array()]
)
|
|
sqlData 축약형
Parameters:
|
string |
$id: |
sql template id 또는 동적 sql |
|
array |
$param: |
|
API Tags:
unknown_type deleteFrom(
unknown_type
$table
)
|
|
테이블 삭제
Parameters:
API Tags:
| Deprecated: | |
| Access: | public |
에러 리턴
API Tags:
Redefined in descendants as:
string escape(
string
$str
)
|
|
각각 DB별 문자열 escape
Parameters:
|
string |
$str: |
escape 될 문자열 |
API Tags:
| Return: | escape 된 문자열 |
| Access: | public |
Redefined in descendants as:
prepare된 구문을 실행한다.
상속받은 클래스에서 구현
API Tags:
Redefined in descendants as:
array fetch(
resource
$result
)
|
|
레코드 가져오기
Parameters:
API Tags:
Redefined in descendants as:
array fetchAll(
resource
$result
)
|
|
전체 레코드 가져오기
Parameters:
API Tags:
| Return: | 레코드배열 |
| Access: | public |
Redefined in descendants as:
void free(
resource
$result
)
|
|
메모리 해제
Parameters:
API Tags:
Redefined in descendants as:
void freeStatement(
$stmt
)
|
|
prepare 된 구문 메모리 해제
상속받은 클래스에서 구현
Parameters:
API Tags:
Redefined in descendants as:
DBData getBindData(
[bool
$isOne = false], string
$baseClass
)
|
|
result set 이 설정된 상태에서 바로 DBData 객체를 구함
Parameters:
|
bool |
$isOne: |
true : 한칸전진 |
|
string |
$baseClass: |
클래스 이름 |
API Tags:
resource getConnection(
)
|
|
연결 resource 반환
API Tags:
DBData getData(
string
$query, [boolean
$isOne = false]
)
|
|
DBData 구함
Parameters:
|
string |
$query: |
DB query |
|
boolean |
$isOne: |
인덱스 한칸 옮기기 |
API Tags:
Redefined in descendants as:
int getFieldCount(
resource
$result
)
|
|
필드 개수 가지고 오기
Parameters:
API Tags:
Redefined in descendants as:
array getFieldList(
resource
$result
)
|
|
실행되어진 쿼리에 대해서 필드리스트를 가지고 온다.
DBData객체를 만들 때 사용되어짐
Parameters:
|
resource |
$result: |
쿼리 실행 결과 |
API Tags:
Redefined in descendants as:
string getFieldName(
resource
$result, int
$i
)
|
|
필드 이름 가지고 오기
Parameters:
|
resource |
$result: |
결과 셋 |
|
int |
$i: |
필드 offset, 0-based number |
API Tags:
| Return: | 필드 이름 |
| Abstract: | |
| Access: | public |
Redefined in descendants as:
string getFieldType(
resource
$result, int
$i
)
|
|
필드 타입 가지고 오기
Parameters:
|
resource |
$result: |
결과 셋 |
|
int |
$i: |
필드 offset, 0-based number |
API Tags:
| Return: | 필드 타입 이름 |
| Abstract: | |
| Access: | public |
Redefined in descendants as:
array getFieldTypeList(
resource
$result
)
|
|
실행되어진 쿼리에 대해서 필드의 타입 리스트를 가지고 온다.
DBData객체를 만들 때 사용되어짐
Parameters:
|
resource |
$result: |
쿼리 실행 결과 |
API Tags:
Redefined in descendants as:
DBData getMetaData(
[
$type = 'table'], [string
$object = ''], [array
$option = array()], string
$meta_type
)
|
|
통합 메타 데이타 얻어오기
파일 경로 : php/db/meta/
파일 형식 : {메타타입}Data_{program}{version}.php // 현재 연결된 db의 사용자 테이블 리스트를 Data객체로 반환
// 주어진 테이블에 대해서 인덱스 리스트를 Data객체로 반환
// 주어진 테이블에 대해서 컬럼 리스트를 Data객체로 반환
Parameters:
|
string |
$meta_type: |
얻어올 메타데이타 타입 형태 (table, database, column, index, job, param, proc, view, serial, etc) |
|
string |
$object: |
객체 이름 |
|
array |
$option: |
그 외 옵션, DB마다 틀림 |
|
|
$type: |
|
API Tags:
DBData getOne(
string
$query, string
$baseClass
)
|
|
한개짜리 Record 얻어올 때사용
Parameters:
|
string |
$query: |
|
|
string |
$baseClass: |
|
API Tags:
array getPageCount(
int
$total, int
$limitPage, int
$limitBlock, [int
$currentPage = 1]
)
|
|
페이지 계산
Parameters:
|
int |
$total: |
전체 개수 |
|
int |
$limitPage: |
페이지 당 리스트 숫자 |
|
int |
$limitBlock: |
블럭당 페이지 숫자 |
|
int |
$currentPage: |
현재 페이지 |
API Tags:
| Return: | count : 전체숫자, page : 페이지 수, block : 블럭 수, start : 페이시 시작 번호 |
| Access: | public |
array getPageCountQuery(
string
$sql, int
$limitPage, int
$limitBlock
)
|
|
일반쿼리 페이지 계산
count(*) 의 alias로 cnt 를 지정해야 함 .
Parameters:
|
string |
$sql: |
일반쿼리 대상 |
|
int |
$limitPage: |
페이지 당 리스트 숫자 |
|
int |
$limitBlock: |
블럭당 페이지 숫자 |
API Tags:
| Return: | count : 전체숫자, page : 페이지 수, block : 블럭 수 |
| Access: | public |
array getPageCountSubquery(
string
$sql, int
$limitPage, int
$limitBlock
)
|
|
서브쿼리 페이지 계산
Parameters:
|
string |
$sql: |
서브쿼리 대상 |
|
int |
$limitPage: |
페이지 당 리스트 숫자 |
|
int |
$limitBlock: |
블럭당 페이지 숫자 |
API Tags:
| Return: | count : 전체숫자, page : 페이지 수, block : 블럭 수 |
| Access: | public |
DBData getPageData(
string
$query, [int
$page = 1], [int
$count = 10]
)
|
|
paging 된 DBData 얻어오기
Parameters:
|
string |
$query: |
|
|
int |
$page: |
default 1 |
|
int |
$count: |
default 10 |
API Tags:
Redefined in descendants as:
array getProperty(
array
$arr
)
|
|
연결속성 설정
Parameters:
API Tags:
| Return: | 변수 값을 필터링 하고 넘겨준다. |
| Access: | public |
resource getResult(
[
$result = null]
)
|
|
쿼리 실행한 결과
Parameters:
API Tags:
Redefined in descendants as:
string getSql(
[int
$num = '']
)
|
|
실행된 sql 얻어오기
Parameters:
API Tags:
| Return: | sql |
| Access: | public |
string getSqlTemplate(
string
$id, [
$param = array()], array
$data
)
|
|
SQL 템플릿 생성
Parameters:
|
string |
$id: |
sql 파일 아이디 |
|
array |
$data: |
sql 템플릿을 생성할 때 필요한 데이타 |
|
|
$param: |
|
API Tags:
int|string getTypeConstant(
string
$type
)
|
|
필드 타입(자료형)별 php용 전용 상수 얻어오기
Parameters:
API Tags:
| Return: | PHP상수 |
| Access: | public |
Redefined in descendants as:
string getTypeString(
string
$type, mixed
$value, [boolean
$is_null = false]
)
|
|
필드 타입(자료형)별 DB에 입력될 수 있는 문자열 얻어오기
Parameters:
|
string |
$type: |
타입문자열 |
|
mixed |
$value: |
입력값 |
|
boolean |
$is_null: |
널을 체크할 것인지 여부 , true 널체크, false 널 체크 안함 |
API Tags:
| Return: | 변환된 문자열 |
| Access: | public |
Redefined in descendants as:
boolean is(
string
$db_name, [string
$version = '']
)
|
|
현재 DB 확인하기
if ($dbclient->is('mssql')) {
echo "database is mssql";
}
if ($dbclient->is('mysql', '5')) {
echo "current version : mysql 5" ;
}
Parameters:
|
string |
$db_name: |
데이타베이스 종류 (mysql, mssql, oracle, postgres, cubrid, sqlite) |
|
string |
$version: |
속성값 |
API Tags:
연결되어 있는지 여부를 알려줌
API Tags:
| Return: | 연결되어 있으면 true, 아니면 false |
| Access: | public |
DBData meta(
[
$type = 'table'], [string
$object = ''], [array
$option = array()], string
$meta_type
)
|
|
getMetaData 축약형
Parameters:
|
string |
$meta_type: |
얻어올 메타데이타 타입 형태 (table, database, column, index, job, param, proc, view, serial, etc) |
|
string |
$object: |
객체 이름 |
|
array |
$option: |
그 외 옵션, DB마다 틀림 |
|
|
$type: |
|
API Tags:
DBData one(
string
$id, [array
$param = array()]
)
|
|
sqlOne 축약형
Parameters:
|
string |
$id: |
|
|
array |
$param: |
|
API Tags:
DBData page(
string
$id, [array
$param = array()]
)
|
|
sqlPage 축약형
Parameters:
|
string |
$id: |
sql template id 또는 동적 sql |
|
array |
$param: |
|
API Tags:
array pageCount(
string
$id, [array
$param = array()]
)
|
|
sqlPageCount 축약형
Parameters:
|
string |
$id: |
|
|
array |
$param: |
|
API Tags:
| See: | DBClient::sqlPageCount |
| Access: | public |
prepare
상속받은 클래스에서 구현
Parameters:
API Tags:
Redefined in descendants as:
resource query(
string
$sql
)
|
|
쿼리 실행하기
Parameters:
API Tags:
| Return: | 결과 셋, 없을 경우는 false |
| Abstract: | |
| Access: | public |
Redefined in descendants as:
rollback
API Tags:
Redefined in descendants as:
옵션 실행
연결자 구성이외의 설정된 옵션을 자동으로 실행한다. DB에 맞게 구성해주세요.
API Tags:
Redefined in descendants as:
result set 이동
Parameters:
API Tags:
Redefined in descendants as:
void set(
[array
$option = array()]
)
|
|
연결설정
Parameters:
API Tags:
void setConfig(
string
$name, [string
$type = 'product']
)
|
|
연결설정, /php/db/conf/{name}.ini 파일에 설정 저장
program : db프로그램 host : db 주소 port : 포트 id : 아이디 pass : 비밀번호 db : db 이름 version : 버전 schema : 스키마
db 마다 조금씩 틀립니다.
Parameters:
|
string |
$name: |
연결자 변수 이름 |
|
string |
$type: |
$type 에 맞는 연결자 설정 |
API Tags:
void setConnection(
$con
)
|
|
연결 resource 설정
Parameters:
API Tags:
처리결과 설정
Parameters:
API Tags:
void setResult(
resource
$result
)
|
|
기본 결과셋을 설정
Parameters:
API Tags:
void setStatement(
$stmt
)
|
|
Parameters:
API Tags:
int sql(
string
$id, [array
$param = array()]
)
|
|
sql id 로 쿼리 실행
Parameters:
|
string |
$id: |
sql template id 또는 동적 sql |
|
array |
$param: |
|
API Tags:
DBData sqlData(
string
$id, [array
$param = array()]
)
|
|
sql id 로 DBData 얻어오기
Parameters:
|
string |
$id: |
|
|
array |
$param: |
|
API Tags:
DBData sqlOne(
string
$id, [array
$param = array()]
)
|
|
sql id 로 DBData 얻어오기
Parameters:
|
string |
$id: |
|
|
array |
$param: |
|
API Tags:
DBData sqlPage(
string
$id, [array
$param = array()]
)
|
|
sql id 로 페이징된 DBData 얻어오기
Parameters:
|
string |
$id: |
|
|
array |
$param: |
|
API Tags:
array sqlPageCount(
string
$id, [array
$param = array()]
)
|
|
일반쿼리 페이지 계산
count(*) 의 alias로 cnt 를 지정해야 함 .
Parameters:
|
string |
$id: |
|
|
array |
$param: |
|
API Tags:
| See: | DBClient::getPageCountQuery |
| Access: | public |
string template(
string
$id, [
$param = array()], array
$data
)
|
|
getSqlTemplate 축약형
Parameters:
|
string |
$id: |
sql 파일 아이디 |
|
array |
$data: |
sql 템플릿을 생성할 때 필요한 데이타 |
|
|
$param: |
|
API Tags:
string ts(
string
$type, mixed
&$value, [boolean
$is_null = false]
)
|
|
getTypeString 별칭
Parameters:
|
string |
$type: |
타입문자열 |
|
mixed |
&$value: |
입력값 |
|
boolean |
$is_null: |
널을 체크할 것인지 여부 , true 널체크, false 널 체크 안함 |
API Tags:
| Return: | 변환된 문자열 |
| Access: | public |
연결 리소스 리턴
API Tags:
| Return: | 연결 리소스 |
| Abstract: | |
| Access: | protected |
Redefined in descendants as:
mixed __get(
string
$key
)
|
|
속성 읽어오기 , getAttribute() 와 같은 역할입니다.
ex) echo $dbclient->program;
Parameters:
API Tags:
mixed __set(
string
$key, mixed
$value
)
|
|
속성 설정하기 , setAttribute() 와 같은 역할입니다.
ex) $dbclient->program = "mssql";
Parameters:
|
string |
$key: |
속성 이름 |
|
mixed |
$value: |
속성값 |
API Tags:
|
|