Class: Data
Source Location: /php/lang/Data.php
Class Data
Inherited Properties, Constants, and Methods
Method Summary
| string |
date() |
date 형식 문자열 만들어주기 |
| void |
display() |
화면상에 보임 , toString 메소드를 이용해서 화면출력을 한다. |
| Data |
find() |
Data객체 내에서 검색 한 결과를 Data 객체로 리턴 |
| string |
format() |
sprintf 함수로 포맷팅 하기 |
| mixed |
get() |
현재 인덱스에 해당하는 row의 필드 값을 가지고 온다. |
| array |
getRow() |
해당 인덱스의 row 값 리턴 |
| array |
getRows() |
data가 가지고 있는 모든 row 값을 리턴한다. |
| array |
gets() |
현재 인덱스에 해당하는 row의 값을 얻어온다. |
| string |
html() |
해당 필드에 대해서 htmlentities 함수를 적용한다. |
| void |
init() |
인덱스 초기화. -1로 초기화 |
| bool |
isInit() |
인덱스 위치가 초기화 시점인지 얻어옴 |
| bool |
isLast() |
인덱스 위치가 마지막인지 얻어옴 |
| void |
loop() |
특정 함수를 이용해서 변환된 값을 저장한다 |
| array |
map() |
row에 저장될 데이타를 키값을 동일하게 소문자로 바꿔준다. |
| bool |
next() |
다음 레코드로 이전, 없으면 false를 리턴 |
| string |
pad() |
field 값에 특정 문자 채우기 |
| string |
prefix() |
문자열 tag 제거한 후에 쪼개기 |
| bool |
prev() |
이전 레코드로 이전 , 없으면 false를 리턴 |
| void |
saveIndex() |
현재의 인덱스를 임시 인덱스 번호에 저장하고, 인덱스를 초기화한다. |
| array |
scan() |
sscanf 를 사용하여 원하는 값을 바로 출력 |
| void |
screen() |
화면상에 보임 , toScreen 메소드를 이용해서 화면출력을 한다. |
| void |
set() |
현재 인덱스에 해당하는 row의 필드 값을 설정한다. |
| void |
setData() |
현재 Data 객체에 다른 Data 객체 설정 |
| array |
split() |
정해진 개수로 Data 객체의 배열을 만듦 |
| string |
toXml() |
일정한 형식의 xml로 변환해준다. |
| string |
value() |
배열 값을 바로 출력 |
| string |
yn() |
Y, N 값에 따른 결과값 변경 |
| string |
ync() |
Y,N,C 값에 대해서 문자열 리턴 |
| mixed |
__call() |
utility 형태 메소드 동적 실행 |
| void |
__set() |
필드 값을 설정한다. set 메소드와 같은 역할 |
Methods
Data __construct(
[IConnector
$connector = null], [
$fields = array()], [
$rows = array()]
)
|
|
생성자
Parameters:
|
IConnector |
$connector: |
연결자 |
|
|
$fields: |
|
|
|
$rows: |
|
API Tags:
Redefinition of:
- PObject::__construct()
- 생성자
Redefined in descendants as:
row 데이타 추가하기
Parameters:
API Tags:
| Return: | 현재 Data 객체 |
| Access: | public |
Data addField(
string
$key
)
|
|
필드 리스트 추가
Parameters:
API Tags:
여러개의 row 추가하기
Parameters:
API Tags:
int|float avg(
string
$field
)
|
|
평균 구하기
Parameters:
|
string |
$field: |
평균 구하고자 하는 필드이름 |
API Tags:
| Return: | 평균 |
| Access: | public |
Data bind(
array
$arr, [array
$omit = array('num')]
)
|
|
row 데이타 바인딩
Parameters:
|
array |
$arr: |
저장될 데이타 값 배열 |
|
array |
$omit: |
바인딩 되지 않을 값 배열 |
API Tags:
| Return: | 현재 Data 객체 |
| Access: | public |
Data column(
array
$field_list
)
|
|
원하는 필드로만 데이타 리턴
$new_data = $data->column('필드1', '필드2','필드3');
Parameters:
|
array |
$field_list: |
분리할 필드 리스트 |
API Tags:
Data convertField(
[array
$field_list = array()]
)
|
|
필드 이름 바꾸기
Parameters:
|
array |
$field_list: |
바뀔 필드명 |
API Tags:
| Return: | 현재 Data 객체 |
| Deprecated: | |
| Access: | public |
string date(
string
$field, [string
$format = 'Y-m-d']
)
|
|
date 형식 문자열 만들어주기
$date = $data->date('writeDate', 'Y-m-d');
echo $date;
Parameters:
|
string |
$field: |
필드명 |
|
string |
$format: |
문자열로 변환될 포맷, date() 함수 사용 |
API Tags:
Data directBind(
array
$arr
)
|
|
row 데이타 바인딩
Parameters:
API Tags:
| Return: | 현재 Data 객체 |
| Access: | public |
void display(
[array
$fields = array()], [array
$names = array()]
)
|
|
화면상에 보임 , toString 메소드를 이용해서 화면출력을 한다.
echo $data->display(array('field1','field2'), array('field1' => '필드1','field2' => '필드2'));
Parameters:
|
array |
$fields: |
보여주고 싶은 필드 리스트 |
|
array |
$names: |
필드의 다른 이름 리스트 |
API Tags:
Redefinition of:
- PObject::display()
- 객체 문자열을 출력
중복을 제외한 리스트 얻어오기
Parameters:
API Tags:
| Return: | 중복을 제거한 배열 |
| Access: | public |
Data dropColumn(
string
$key
)
|
|
필드 데이타 삭제
현재 데이타 배열에서 제외됩니다.
Parameters:
API Tags:
Data dropField(
int
$key
)
|
|
필드 삭제
배열에서 제외됩니다.
Parameters:
API Tags:
레코드 삭제
배열에서 제외됩니다. 레코드가 삭제된 다음 인덱스는 다시 정렬됩니다. ex) 0=> 1, 1 => 2, 2 => 4, 3 => 1 , ... 에서 $data->dropRow(0) 을 하면 0번째 인덱스가 지워지고 다시 0번부터 정렬됩니다. result : - => 2, 1 => 4, 2 => 1
$data->dropRow(1, 2, 3); // 여러 레코드 동시에 지움
API Tags:
array explode(
string
$field, [string
$separator = ""]
)
|
|
필드값 배열로 리턴
Parameters:
|
string |
$field: |
|
|
string |
$separator: |
|
API Tags:
string filterKey(
string
$key
)
|
|
필드이름 필터링
Parameters:
API Tags:
| Return: | 대문자로 변환된 키이름 |
| Access: | protected |
Data find(
string
$field, string|array
$value
)
|
|
Data객체 내에서 검색 한 결과를 Data 객체로 리턴
$new_data = $data->find('필드', '값');
Parameters:
|
string |
$field: |
검색할 필드 |
|
string|array |
$value: |
검색할 값 |
API Tags:
string format(
string
$field, string
$format
)
|
|
sprintf 함수로 포맷팅 하기
Parameters:
|
string |
$field: |
변환할 필드 |
|
string |
$format: |
변환될 포맷 , sprintf 에서 동일한 것을 사용 |
API Tags:
mixed get(
string|int
$key, [mixed
$default = ''], [array
$option = array()]
)
|
|
현재 인덱스에 해당하는 row의 필드 값을 가지고 온다.
$data->get("field"); // 필드 이름을 지정한다.
or
$data->get(0); // 필드 순서를 지정할 수 있다.
Parameters:
|
string|int |
$key: |
$key가 문자열일 경우 검색될 필드이름, 필드이름은 대소문자를 구분하지 않는다. |
|
mixed |
$default: |
필드가 없거나 필드에 값이 없을때 $default 값을 돌려준다. |
|
array |
$option: |
기타 옵션들 |
API Tags:
기본 클래스 설정
API Tags:
| Return: | 클래스 이름 |
| Deprecated: | |
| Access: | public |
int getColumnList(
string
$field, [string
$key = '']
)
|
|
column 값에 의한 배열 구하기
// 1. 1차원 배열 얻기
// 필드명에 해당되는 column 값에 대한 배열을 리턴해줍니다.
// 2. 연관 배열 얻기
// array('key필드명' => '필드명', ...... ) 형태의 배열로 리턴해줍니다.
Parameters:
|
string |
$field: |
값 필드 |
|
string |
$key: |
key 필드, 기본값은 '' |
API Tags:
| Return: | 필드 개수 |
| Access: | public |
IConnector getConnector(
)
|
|
연결자 구하기
API Tags:
| Return: | 연결자 |
| Access: | public |
전체 필드 개수 얻어오기
API Tags:
| Return: | 필드 개수 |
| Access: | public |
필드 리스트 얻어오기
API Tags:
| Return: | 필드 리스트 배열 |
| Access: | public |
처음 row의 값을 얻어온다.
API Tags:
| Return: | 한 행의 배열 |
| Access: | public |
void getGroupByDivideField(
$key_field
)
|
|
Parameters:
API Tags:
void getGroupByField(
$calc_field
)
|
|
Parameters:
API Tags:
void getGroupByKeyField(
$group_field
)
|
|
Parameters:
API Tags:
현재 인덱스 구하기
API Tags:
| Return: | 현재 인덱스 번호 |
| Access: | public |
마지막 row의 값을 얻어온다.
API Tags:
| Return: | 한 행의 배열 |
| Access: | public |
전체 row 개수 얻어오기
API Tags:
| Return: | row 개수 |
| Access: | public |
int getPageCount(
[int
$count = 10]
)
|
|
리스트 개수를 기준으로 해서 페이지 개수를 구한다.
Parameters:
|
int |
$count: |
분할될 기준 개수 , 기본 10 |
API Tags:
| Return: | 페이지 개수 |
| Access: | public |
array getRow(
int
$index
)
|
|
해당 인덱스의 row 값 리턴
Parameters:
API Tags:
| Return: | 행 배열 |
| Access: | public |
Redefined in descendants as:
data가 가지고 있는 모든 row 값을 리턴한다.
API Tags:
| Return: | 2차원 전체 배열 |
| Access: | public |
현재 인덱스에 해당하는 row의 값을 얻어온다.
API Tags:
Data groupBy(
$group_field, [
$calc_field = array()]
)
|
|
통계 데이타 추출
// 1.
echo $data->groupBy('필드1,필드2', array(array('format' => '{필드3}', 'group' => 'sum', 'name' => '필드합계')));
// 2.
echo $data->groupBy(array('필드1','필드2'), array(array('format' => '{필드3}', 'group' => 'sum', 'name' => '필드합계')));
Parameters:
|
|
$group_field: |
|
|
|
$calc_field: |
|
API Tags:
void groupByInit(
$group_field,
$calc_field
)
|
|
Parameters:
|
|
$group_field: |
|
|
|
$calc_field: |
|
API Tags:
string html(
string
$field, [int
$option = ENT_COMPAT], [
$encode = 'ISO-8859-1']
)
|
|
해당 필드에 대해서 htmlentities 함수를 적용한다.
Parameters:
|
string |
$field: |
|
|
int |
$option: |
|
|
|
$encode: |
|
API Tags:
인덱스 초기화. -1로 초기화
API Tags:
void initGroupByField(
$f
)
|
|
Parameters:
API Tags:
리스트 개수가 0 인지 체크
API Tags:
| Return: | true : 비어 있음, false : 데이타가 1개 이상 |
| Access: | public |
인덱스 위치가 처음인지 얻어옴
API Tags:
| Return: | 처음이면 true, 아니면 false |
| Access: | public |
인덱스 위치가 초기화 시점인지 얻어옴
API Tags:
| Return: | 인덱스가 초기시점 true, 아니면 false |
| Access: | public |
인덱스 위치가 마지막인지 얻어옴
API Tags:
| Return: | 마지막이면 true, 아니면 false |
| Access: | public |
특정 함수를 이용해서 변환된 값을 저장한다
echo $data->loop(array('func' => 'strtoupper', 'field' => '필드1,필드2'), ... );
구현예정 echo $data->loop(array( 'func' => 'strtoupper', 'param' => array( array('value', '값'), array('field', '필드1,필드2'))), ... );
Parameters:
API Tags:
| Deprecated: | |
| Access: | public |
row에 저장될 데이타를 키값을 동일하게 소문자로 바꿔준다.
Parameters:
API Tags:
인덱스 위치를 처음으로 이동
API Tags:
인덱스 위치를 마지막으로 이동
API Tags:
다음 레코드로 이전, 없으면 false를 리턴
API Tags:
| Return: | true : 데이타 있음, false : 다음 데이타가 없음 |
| Access: | public |
boolean offsetExists(
$name
)
|
|
속성 존재여부 확인
Parameters:
API Tags:
Implementation of:
- ArrayAccess::offsetExists
속성 값 얻어오기
Parameters:
API Tags:
Implementation of:
- ArrayAccess::offsetGet
void offsetSet(
$name,
$value
)
|
|
속성 값 설정
Parameters:
API Tags:
Implementation of:
- ArrayAccess::offsetSet
void offsetUnset(
$name
)
|
|
속성 값 비우기
Parameters:
API Tags:
Implementation of:
- ArrayAccess::offsetUnset
string pad(
string
$field, int
$count, [
$pad = '*'], [int
$direction = 'right']
)
|
|
field 값에 특정 문자 채우기
Parameters:
|
string |
$field: |
|
|
int |
$count: |
|
|
int |
$direction: |
|
|
|
$pad: |
|
API Tags:
Data page(
[int
$page = 1], [int
$page_size = 10]
)
|
|
Page 화 된 Data 리턴
$new_data = $data->page(1, 10);
Parameters:
|
int |
$page: |
현재 페이지 |
|
int |
$page_size: |
페이지 제한 개수 |
API Tags:
string prefix(
string
$field, int
$size, [string
$subfix = "..."], [string
$encode = 'euc-kr']
)
|
|
문자열 tag 제거한 후에 쪼개기
$title = $data->prefix('title', 30, "...", 'euc-kr');
echo $title;
Parameters:
|
string |
$field: |
|
|
int |
$size: |
|
|
string |
$subfix: |
|
|
string |
$encode: |
|
API Tags:
이전 레코드로 이전 , 없으면 false를 리턴
API Tags:
| Return: | true : 이전 데이타 있음, false : 이전 데이타가 없음 |
| Access: | public |
mixed run(
string
$format
)
|
|
정해진 포맷으로 실행
echo $data->run('{a}-{b}-{c}');
Parameters:
API Tags:
| Return: | 실행된 리턴값 |
| Access: | public |
현재의 인덱스를 임시 인덱스 번호에 저장하고, 인덱스를 초기화한다.
API Tags:
array scan(
string
$field, string
$format
)
|
|
sscanf 를 사용하여 원하는 값을 바로 출력
Parameters:
|
string |
$field: |
|
|
string |
$format: |
format |
API Tags:
void screen(
[array
$fields = array()], [array
$names = array()]
)
|
|
화면상에 보임 , toScreen 메소드를 이용해서 화면출력을 한다.
echo $data->screen(array('field1','field2'), array('field1' => '필드1','field2' => '필드2'));
Parameters:
|
array |
$fields: |
보여주고 싶은 필드 리스트 |
|
array |
$names: |
필드의 다른 이름 리스트 |
API Tags:
void set(
string|int
$key, mixed
$value
)
|
|
현재 인덱스에 해당하는 row의 필드 값을 설정한다.
$data->set("field", "value"); // 필드 이름을 지정한다.
or
$data->get(0, "value"); // 필드 순서를 지정할 수 있다.
Parameters:
|
string|int |
$key: |
검색될 필드이름, 필드이름은 대소문자를 구분하지 않는다. |
|
mixed |
$value: |
설정할 필드 값 |
API Tags:
void setBaseClass(
string
$class
)
|
|
기본 클래스 설정
Parameters:
API Tags:
| Deprecated: | |
| Access: | public |
void setConnector(
IConnector
$connector
)
|
|
연결자 설정
Parameters:
|
IConnector |
$connector: |
연결자 |
API Tags:
void setData(
Data
$data
)
|
|
현재 Data 객체에 다른 Data 객체 설정
Parameters:
API Tags:
Data setFields(
array
$arr
)
|
|
필드 리스트 설정
Parameters:
API Tags:
Data setIndex(
int
$index
)
|
|
현재 인덱스 설정하기
Parameters:
API Tags:
| Return: | 현재 Data 객체 |
| Access: | public |
Data setRows(
$rows, [bool
$is_add = false]
)
|
|
data가 가지고 있는 모든 row 값을 설정한다.
Parameters:
|
array |
$rows: |
저장될 데이타 값 배열 |
|
bool |
$is_add: |
false 이면 이전 데이타 변경, true 이면 기존 데이타에 추가 |
API Tags:
Data sort(
string|array
$arr
)
|
|
정렬 기능 추가
$data->sort(array('field1' => SORT_DESC, 'field2' => SORT_ASC));
$data->sort(array('field1' => 'desc', 'field2' => 'asc'));
$data->sort('field1 desc, field2 asc'); // 구현 예정
echo $data;
Parameters:
API Tags:
array split(
[int
$count = 10]
)
|
|
정해진 개수로 Data 객체의 배열을 만듦
$new_data_list = $data->split(10);
Parameters:
|
int |
$count: |
분할될 기준 개수 , 기본 10 |
API Tags:
int|float sum(
string
$field
)
|
|
합계 구하기
Parameters:
|
string |
$field: |
합계 구하고자 하는 필드이름 |
API Tags:
| Return: | 합계 |
| Access: | public |
string template(
[string
$format = '']
)
|
|
템플릿 변환
주어진 템플릿에 대해서 필드값 a,b,c 의 값으로 변환해서 문자열을 넘겨준다. {필드이름} 으로 필드 구분
Parameters:
API Tags:
Tag toDataTable(
[array
$field_list = array()], [array
$name_list = array()]
)
|
|
table 태그 객체 리턴
테스트 데이타
NUM | NAME | AGE
1 | ZINO | 28
2 | SU | 20
ex) 1. $data->toDataTable();
| NUM | NAME | AGE |
| 1 | ZINO | 28 |
| 2 | SU | 20 |
전체 데이타를 그대로 table 태그로 만듦
2. $data->toDataTable(array('num'));
| NUM |
| 1 |
| 2 |
num 필드에 관해서만 table 태그로 만듦
3. $data->toDataTable(array('num'), array('num' => '일련번호'));
| 일련번호 |
| 1 |
| 2 |
num 필드에 관해서만 만들고 제목을 출력을 할때 'num' 은 '일련번호' 로 바껴서 출력해서 리턴한다.
Parameters:
|
array |
$field_list: |
보여주고 싶은 필드 리스트 |
|
array |
$name_list: |
필드 리스트에 다른 이름 리스트 |
API Tags:
| Return: | table Tag 객체 |
| Access: | public |
string toJSON(
[string
$option = 'all']
)
|
|
JSON 코드로 변환
all array('field' => .... , 'row' => .... ) field array( .... ) row array( ... )
Parameters:
|
string |
$option: |
all, field, data |
API Tags:
| Return: | json 문자열 |
| Access: | public |
상위 몇개만 Data 리턴
$new_data = $data->top(5);
Parameters:
API Tags:
void toScreen(
[
$fields = array()], [
$names = array()]
)
|
|
Parameters:
API Tags:
void toString(
[
$fields = array()], [
$names = array()]
)
|
|
Parameters:
API Tags:
Redefinition of:
- PObject::toString()
- 객체 문자열로 변환
일정한 형식의 xml로 변환해준다.
< data>
< record>
< field1> field1>
< field2> field2>
< field3_list>
< data>.... data>
field3_list>
record>
data>
API Tags:
| Return: | xml 형식 문자열 |
| Access: | public |
string value(
string
$field, [string|array
$arr = array()], [string
$subfix = "_LiST"]
)
|
|
배열 값을 바로 출력
$arr 변수가 string 일 경우는 $subfix 와 함께 GLOBALS 변수를 체크한다.
Parameters:
|
string |
$field: |
|
|
string|array |
$arr: |
|
|
string |
$subfix: |
|
API Tags:
Data where(
string
$format
)
|
|
조건에 따른 Data 구하기
Parameters:
API Tags:
| Return: | 조건에 검색된 Data객체 |
| Access: | public |
string yn(
string
$field, [string
$Y = ''], [string
$N = '']
)
|
|
Y, N 값에 따른 결과값 변경
Parameters:
|
string |
$field: |
|
|
string |
$Y: |
|
|
string |
$N: |
|
API Tags:
string ync(
string
$field, [string
$Y = ''], [string
$N = ''], [string
$C = '']
)
|
|
Y,N,C 값에 대해서 문자열 리턴
Parameters:
|
string |
$field: |
|
|
string |
$Y: |
|
|
string |
$N: |
|
|
string |
$C: |
|
API Tags:
mixed __call(
string
$method, [array
$args = array()]
)
|
|
utility 형태 메소드 동적 실행
is : 값 체크 메소드 echo $data->isY('field'); // true or false
Parameters:
|
string |
$method: |
메소드 이름 |
|
array |
$args: |
매개변수 |
API Tags:
Redefined in descendants as:
mixed __get(
string
$key
)
|
|
필드값을 얻어온다.
get() 메소드와 같은 메소드 다른점은 객체의 속성처럼 사용 할 수 있게 만들어준다. (php5 이상만 제공된다.)
echo $data->name;
}
위와 같은 코드는 name 이라는 public 속성이 없기 때문에 __get 메소드를 호출한다. __get 메소드는 다시 get 메소드를 호출하고 일련의 필드 값에 접근 가능하다.
Parameters:
|
string |
$key: |
검색될 필드값, 대소문자 구분 없음 |
API Tags:
void __set(
string
$key, mixed
$value
)
|
|
필드 값을 설정한다. set 메소드와 같은 역할
Parameters:
|
string |
$key: |
검색될 필드값, 대소문자 구분 없음 |
|
mixed |
$value: |
설정될 값 |
API Tags:
|
|