for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ntentan\atiaa;
use ntentan\config\Config;
use ntentan\panie\Container;
use ntentan\utils\Text;
class DbContext {
private $container;
public function __construct(Container $container, $config = null) {
if ($config) {
Config::set('ntentan:db', $config);
$container->bind(Driver::class)
->to(self::getDriverClassName(Config::get('ntentan:db.driver')));
}
$this->container = $container;
/**
*
* @return Driver
*/
public function getDriver() {
return $this->container->singleton(Driver::class);
public static function getDriverClassName($driver) {
if ($driver == null) {
throw new exceptions\DatabaseDriverException(
"Please provide a valid driver name in your database config file"
);
return '\ntentan\atiaa\drivers\\' . Text::ucamelize($driver) . "Driver";
public function query($query, $bindData = false) {
return $this->getDriver()->query($query, $bindData);
$bindData
boolean
false|array<integer,*>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: