rollerworks / db-bundle
Doctrine DBAL Helper Bundle。为 DBAL 提供额外功能
Requires
- php: >=5.3.3
- doctrine/dbal: >=2.1
- symfony/framework-bundle: ~2.0
This package is not auto-updated.
Last update: 2022-02-01 12:20:37 UTC
README
UserErrorExceptionListener
此监听器监听与 DBAL 相关的异常,并寻找所谓的用户错误。
目前仅支持 PostgreSQL。
用户错误是由数据库中使用的自定义函数抛出的异常/错误,可以看作是系统异常,因此它不用于验证基本用户输入。
使用可能包括访问违规或不存在的关系。
安装
步骤 1:使用 Composer(推荐)
要使用 Composer 安装 RollerworksDBBundle,请将以下内容添加到您的 composer.json
文件中
// composer.json { // ... require: { // ... "rollerworks/db-bundle": "master-dev" } }
注意:请将上述片段中的 master-dev
替换为最新稳定分支,例如 1.0.*
。
然后,您可以通过在您的 composer.json
文件所在的目录中运行 Composer 的 update
命令来安装新的依赖项
$ php composer.phar update
现在,Composer 将自动下载所有必需的文件,并为您安装它们。接下来要做的就是更新您的 AppKernel.php
文件,并注册新包
<?php // in AppKernel::registerBundles() $bundles = array( // ... new Rollerworks\Bundle\DBBundle\RollerworksDBBundle(), // ... );
步骤 1(替代):使用 deps
文件(Symfony 2.0.x)
首先,检出代码副本。只需将以下内容添加到您的 Symfony 标准分布的 deps
文件中
[RollerworksDBBundle] git=http://github.com/rollerworks/RollerworksDBBundle.git target=/bundles/Rollerworks/Bundle/DBBundle
注意:您可以在上述片段中添加 version
标签,例如 version=origin/2.0
。
然后通过您的内核注册包
<?php // in AppKernel::registerBundles() $bundles = array( // ... new Rollerworks\Bundle\DBBundle\RollerworksDBBundle(), // ... );
请确保您还注册了命名空间到自动加载器
<?php // app/autoload.php $loader->registerNamespaces(array( // ... 'Rollerworks' => __DIR__.'/../vendor/bundles', // ... ));
现在使用 vendors
脚本来将新添加的仓库克隆到您的项目中
$ php bin/vendors install
步骤 1(替代):使用子模块(Symfony 2.0.x)
如果您使用子模块管理您的供应商库,首先创建 vendor/bundles/Rollerworks/Bundle
目录
$ mkdir -pv vendor/bundles/Rollerworks/Bundle
然后添加必要的子模块
$ git submodule add git://github.com/rollerworks/RollerworksDBBundle.git vendor/bundles/Rollerworks/Bundle/DBBundle
步骤 2:配置自动加载器
向您的自动加载器添加以下条目
<?php // app/autoload.php $loader->registerNamespaces(array( // ... 'Rollerworks' => __DIR__.'/../vendor/bundles', // ... ));
步骤 3:启用包
最后,在内核中启用包
<?php // in AppKernel::registerBundles() $bundles = array( // ... new Rollerworks\Bundle\DBBundle\RollerworksDBBundle(), // ... );
恭喜!您已经准备好了!
步骤 4:配置包
默认情况下,异常监听器仅监听 \PDOException 和 \Doctrine\DBAL\Driver\OCI8\OCI8Exception。并且仅尝试解析以 'app-exception: ' 开头的错误消息。
您可以通过添加以下内容来更改此设置。
# app/config/config.yml rollerworks_db: user_exception_listener: check_prefix: 'my-app-exception: ' check_class_in: [ '\PDOException' ]