Download the PHP package ridibooks/platform-gnfdb without Composer

On this page you can find all versions of the php package ridibooks/platform-gnfdb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package platform-gnfdb

GnfDB

Scrutinizer Code Quality Latest Stable Version License

여기는 ridi 모노레포에 Git Subrepo 를 통해서 코드가 관리됩니다.

Warning 직접 commit하지 마세요.

0. 설치

composer를 사용하여 설치 할 수 있다.

ridibooks/platform-gnfdb 또는 gnf/gnfdb를 설치하면 된다.

1. 연결 방법

gnfdb 패키지 내에 Gnf\db\PDO 를 instance화 하면 사용 할 수 있다.

Gnf\db\PDO는 \PDO를 인자로 받는다. 연결을 생성하고 인자로 전달하자.



## 2. SELECT 관련

select에 사용하는 method 목록은 다음과 같다.

- sqlDict / sqlDicts - 결과 값을 array(PDO::FETCH_ASSOC)로 받는다.
- sqlObject / sqlObjects - 결과 값을 object(PDO::FETCH_OBJ)로 받는다.

위 method의 형태는 다음과 같다.

- sqlDict($sql, ...)

\PDO의 prepare와 문법이 동일하지만, ":column:" 과 같은 bind는 지원하지 않고, "?" 로 사용하는 bind만 지원한다.

하나만 가져오는 sqlDict / sqlObject는 데이터가 없을 경우 null을 return하고,
여러개를 가져오는 sqlDicts / sqlObjects는 데이터가 없을 경우 empty array를 return한다. 

**사용 예제**

## 3. WHERE 조건의 확장된 사용법

where 조건을 직접적으로 지정하고 ?를 bind 할 수 있지만, 불편하기에 다음과 같은 함수를 지원한다.

- sqlWhere($where)

$where은 column => condition 으로 구성된 배열이다.

### 3.1 조건 작성 법

- 단순 비교는 값을 그대로 사용한다.
- 비교 연산자는 다음 함수를 값으로 사용한다.
  - `sqlLesser($value)`
    - `< $value`
  - `sqlLesserEqual($value)`
    - `<= $value`
  - `sqlGreater($value)`
    - `> $value`
  - `sqlGreaterEqual($value)`
    - `>= $value`
- 범위 연산자
  - `sqlBetween($start, $end)`
    - `$start <= value <= $end`
  - `sqlRange($start, $end)`
    - `$start <= b < $end`
- like 구문은 다음과 같이 사용한다.
  - `sqlLike($keyword)`
    - `like '%{$keyword}%'`
  - `sqlLikeBegin($keyword)`
    - `like '{$keyword}%'`

**조건 작성 예제**

- 단순 비교 시 비교 대상이 array인 경우 IN 쿼리로 적용된다.

**비교 대상이 array인 쿼리 예제**

### 3.2 같이 사용 할 수 있는 함수

- sqlRaw($value)
  - 입력 한 값 그대로 사용된다.
- sqlLimit($count)
  - `limit $count`
- sqlLimit($from, $count)
  - `limit $from, $count`
- sqlNull()
  - null 값, 그냥 값으로 null을 사용해도 동일하다.
- sqlNot($value)
  - Not이 적용 된다. sqlGreater 등 다른 연산과 복합적으로 사용 할 수 있다.

### 3.3 AND, OR 복합 사용

앞서 설명했던 sqlWhere은 AND로 작성하는 함수고, sqlOr($where) 함수로 OR문을 작성 할 수 있다.

이 두 함수를 섞어 사용함으로 다양한 where문 작성이 가능하다.

**복합 쿼리**

### 3.4 확장된 테이블 구문

테이블명을 직접적으로 쿼리에 작성 할 수 있지만, JOIN의 ON 조건으로 연결되는 컬럼만 작성함으로 간단한 JOIN 쿼리를 만들 수 있다.

지원되는 함수는 다음과 같다.

- sqlTable($table) - 단일 테이블 사용
- sqlJoin($tables) - JOIN 쿼리
- sqlLeftJoin($tables) - LEFT JOIN 쿼리
- sqlInnerJoin($tables) - INNER JOIN 쿼리

작성 방법

- 테이블 목록은 array로 작성하여 사용한다.
- key, value모두 서로 ON으로 JOIN할 컬럼을 작성한다.
- 앞서 선언되어 있는 테이블을 key값으로 사용하면 좋다.
- 첫 선언은 key가 from 절 테이블이고, value가 후에 따라오는 join 테이블이다.
  - value에 단일 테이블을 적어서 하나만 JOIN 할 수도 있고,
    배열로 여러 테이블을 작성하면 순차적으로 JOIN문이 작성된다.

**테이블 구문 작성 예제**

### 3.5 기타

- sqlAdd($something) - column + $something 쿼리로 변환
- sqlStrcat($something) - concat(colum, $something) 쿼리로 변환
- sqlPassword($something) - sql password() function
- sqlColumn($column) - 컬럼명을 안전하게 사용하고 싶을 때
- sqlWhereWithClause($where) - sqlWhere()과 동일하지만, 'WHERE '이 조건 문 앞에 선행된다.
- sqlRange($A, $B) - $a <= column < $b
- sqlNow() - sql now() function

## 4. CRUD

CRUD 중 다음 method를 지원한다.

- sqlInsert(table,data)
- sqlUpdate(table, data, where);
- sqlDelete(table, where)
- sqlInsertOrUpdate(table, data, update_where = null) - INSERT INTO ~~ ON DUPLICATE KEY UPDATE 구문

- sqlInsertBulk(table, data_keys, data_valuess) - Bulk용 sqlInsert
- sqlInsertOrUpdateBulk(table, data_keys, data_valuess) - Bulk용 sqlInsertOrUpdate

변수는 다음과 같다.

- table - 단일 테이블 명 (sqlTable을 적용하지 않은)
- data - 추가/수정 할 데이터 배열, column => value 로 구성되어야 함
   - data_keys 추가/수정 할 데이터의 키 배열
   - data_valuess 추가/수정 할 데이터 배열 나열, [[column => value], [column => value] ... ] 로 구성되어야 함
- where, update_where - 조건 문 (sqlWhere을 없어도 됨)

## 5. transaction

transaction은 다음 두가지 방법을 지원한다.

- transactional

  - 

- sqlBegin-sqlEnd

  - 

  - sqlEnd 대신 sqlCommit, sqlRollback method도 가능.

## 6. 기타 등등

작성 되어 있는 method 목록

- `sqlDo($sql, ...)` - 단순 실행
- `sqlCount($table, $where)` - SELECT count(*) FROM ~~ 의 축약형
- `sqlData($sql, ...)` - Dict/Object와 다르게 SELECT절의 첫번째 컬럼만 추출한다, 값이 없으면 null
- `sqlDatas($sql, ...)` - 위와 동일하며, 값이 없으면 empty array
- `sqlArray($sql, ...)` - Dict와 유사하지만, key 값이 숫자로 입력됨 (PDO::FETCH_NUM)
- `sqlArrays($sql, ...)` - Dicts와 유사하고, 위와 동일
- `sqlLine($sql, ...)` - sqlArray와 동일
- `sqlLines($sql, ...)` - sqlArrays와 동일
- `sqlDump($sql, ...)` - query parse 결과값을 return
- `sqlDumpBegin(); sqlDo($sql, ...); sqlDumpEnd()` - sqlDo 호출 시 실행 된 query를 sqlDumpEnd에서 받을 수 있다.

All versions of platform-gnfdb with dependencies

PHP Build Version
Package Version
Requires doctrine/dbal Version ^2.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ridibooks/platform-gnfdb contains the following files

Loading the files please wait ....