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): mixed

value
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"