aareon-france / sql-attributes-parser
此包的最新版本(1.0.1)没有可用的许可信息。
SQL属性解析器,提供在SQL查询上添加元数据的功能。
1.0.1
2024-05-16 11:54 UTC
Requires
- php: >=8.3
Requires (Dev)
- friendsofphp/php-cs-fixer: 3.56.1
- phpstan/extension-installer: 1.3.1
- phpstan/phpstan: 1.11.0
- phpstan/phpstan-deprecation-rules: 1.2.0
- phpstan/phpstan-phpunit: 1.4.0
- phpstan/phpstan-strict-rules: 1.6.0
- phpstan/phpstan-symfony: 1.4.0
- phpunit/phpunit: 10.5.20
- roave/security-advisories: dev-latest
- vimeo/psalm: 5.24.0
This package is auto-updated.
Last update: 2024-09-16 12:44:18 UTC
README
此存储库提供了一种解析 SQL属性 的方法,该功能提供在SQL查询上添加元数据的能力。
目录
SQL属性语法
此解析器允许您将任何SQL语句或表达式附加的SQL属性解析为SQL查询。SQL属性是不官方的方式,在SQL语句和表达式中添加一些元数据,以便应用特定的行为或自动化过程,这些行为或过程与附加属性的SQL查询相关。这样,它们就像PHP属性一样。
示例
属性适用于语句
#[StatementAttribute] CREATE TABLE `myTable`…
它们也适用于表达式
SELECT #[ExprAttribute] `myField` FROM `myTable`;
属性可以拥有参数来改变这些属性的处理器可能具有的特定行为
#[Since(version: 8.0.5, dbms_list: 'mysql,pgsql,oracle')]
参数必须是命名的,并且它们的值始终被解释为字符串。为了允许在您的值中使用字符分隔符(如:
或,
),您必须使用单引号('
)或双引号("
)包裹您的参数的值。
SQL属性定义
属性的语法的EBNF是
attribute = "#[", attribute-name, [ attribute-arguments ], "]"; attribute-name = uppercase-letter, { letter / digit }; attribute-arguments = "(", { attribute-argument, ",{[ ]}" }, ")"; attribute-argument = {letter / digit / "_" / "-"}, ":{[ ]}", ["'" / '"'], STRING, ["'" / '"']; uppercase-letter = "A" .. "Z"; lowercase-letter = "a" .. "z"; letter = [uppercase-letter / lowercase-letter] digit = "0" .. "9";
安装
通过composer,您可以在composer.json中添加此存储库,执行以下操作
composer require aareon-france/sql-attributes-parser