SQLite3::createFunction
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::createFunction — SQL 스칼라 함수로 사용할 PHP 함수를 등록합니다.
설명
public SQLite3::createFunction( string $name, callable $callback, int $argCount = -1, int $flags = 0 ): bool
SQL 문 내에서 사용할 SQL 스칼라 함수로 사용할 PHP 함수 또는 사용자 정의 함수를 등록합니다.
매개변수
name
- 생성하거나 재정의할 SQL 함수의 이름입니다.
callback
- SQL 함수의 동작을 정의하는 콜백으로 적용할 PHP 함수 또는 사용자 정의 함수의 이름입니다.
이 함수는 다음과 같이 정의해야 합니다.
callback(mixed
$value
, mixed ...$values
): mixedvalue
- SQL 함수에 전달된 첫 번째 인수입니다.
values
- SQL 함수에 추가 인수가 전달되었습니다.
argCount
- SQL 함수가 취하는 인수의 수입니다. 이 매개변수가
-1
이면 SQL 함수는 여러 인수를 사용할 수 있습니다. flags
- 플래그의 비트 연결입니다. 현재 단일 SQL 문 내에서 동일한 입력이 주어지면 함수가 항상 동일한 결과를 반환하도록 지정하는
SQLITE3_DETERMINISTIC
만 지원됩니다.
반환 값
함수 생성에 성공하면 true
를 반환하고 실패하면 false
를 반환합니다.
변경 로그
버전 | 설명 |
---|---|
7.1.4 | flags 매개변수가 추가되었습니다. |
Examples
예제 #1 SQLite3::createFunction() 예제
<?php
function my_udf_md5($string) {
return md5($string);
}
$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5', 'my_udf_md5');
var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>
위의 예는 다음과 유사한 결과를 출력합니다.
string(32) "098f6bcd4621d373cade4e832627b4f6"