致命错误:ConnectionFactory.php中找不到类ConnectionWrapper

时间:2015-12-19 17:37:56

标签: php mysql orm propel

我是Propel ORM的新手。我将ORM安装到我的服务器上。我做了所有的配置。我的模型类已生成,我可以创建对象并调用它们的特定方法。

但是当我尝试调用save类的propel方法时,它会向apache日志输出致命错误。您可以在下面看到日志错误:

  

致命错误:找不到类ConnectionWrapper   第46行的ConnectionFactory.php

以下是生成composer.php文件的autoload.php文件:

{
  "require": {
    "propel/propel": "~2.0@dev",
    "slim/slim": "2.*"
  },
  "autoload": {
    "classmap": ["generated-classes/"]
   }
} 

以下是我的test_service.php文件,我将其称为propel methods

<?php
require_once 'vendor/autoload.php';
require_once 'generated-conf/config.php';
echo "ENTERED"."\n";


$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));
echo $date."\n";

$customer = new Customer();
$customer->setName("Jason");
$customer->setSurname("Statham");
$customer->setType(2);
$customer->setEmail("jasonstatham@gmail.com");
$customer->setGender("Male");
$customer->setPassword("123");
$customer->setSignupDate($date);



echo $customer->getName()."\n";
echo $customer->getSurname()."\n";
echo $customer->getType()."\n";
echo $customer->getEmail()."\n";
echo $customer->getGender()."\n";
echo $customer->getPassword()."\n";
echo date_format($customer->getSignupDate(), 'Y-m-d H:i:s');
$customer->save();

echo "EXIT"."\n";

?>

在上面的代码中,get的{​​{1}}和set方法没有问题。但是当谈到

Propel class

apache将错误打印到日志中。 以下是对请求的回复:

$customer->save();

我在这里想念什么? 感谢。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题...

问题是由于包含数据库信息的propel.yaml文件引起的:

propel:
 database:
  connections:
      test:
          adapter: mysql
          classname: Propel\Runtime\Connection\ConnectionWrapper
          dsn: "mysql:host=localhost;dbname=test"
          user: admin
          password: admin
          attributes:
runtime:
  defaultConnection: test
  connections:
      - test
  generator:
  defaultConnection: test
  connections:
      - test

这是问题解决的文件。起初我将ConnectionWrapper类的系统路径写入类名,这是错误。它采用ConnectionWrapper类的名称空间关系。所以当我用命名空间关系改变它时,问题就解决了。