推动ORM和PHP

时间:2016-06-01 10:46:07

标签: php orm propel

我正在使用推进ORM 制作一个php应用程序。当我尝试运行它时,它给出了以下消息:

  

致命错误:未捕获错误:在C:\ MAMP \ htdocs \ Conference \ vendor \ bin \ generated-conf \ config.php中找不到类'Propel \ Runtime \ Propel':2堆栈跟踪:#0 C:\ MAMP \ htdocs \ Conference \ vendor \ bin \ list.php(6):在第2行的C:\ MAMP \ htdocs \ Conference \ vendor \ bin \ generated-conf \ config.php中抛出require_once()#1 {main} 。

在我的config.php生成的文件中,我写了这个:

'classname' => '\\Propel\\Runtime\\Connection\\ConnectionWrapper'

这一切意味着什么?我错过了一些文件或什么?

1 个答案:

答案 0 :(得分:0)

我认为你错过了建筑的一步。 我假设您已完成schema.xml文件,并且还正确配置了propel.yaml(或允许的扩展文件)。另外我假设你有Propel with Composer。 如果您已完成以下所有步骤:

1)打开终端并转到项目目录,其中schema.xml和propel.yaml文件是。

2)执行以下命令获取生成的sql(我必须在Windows上这样做):

c:\MAMP\htdocs\Conference\vendor\bin\propel sql:build

3)使用以下命令获取模型类:

c:\MAMP\htdocs\Conference\vendor\bin\propel model:build

4)生成类后,您必须自动加载它们。使用文本编辑器打开composer.json文件并添加以下内容:

"autoload": {
    "classmap": ["generated-classes/"]
}

它应该是这样的,例如:

{
    "require": {
        "twig/twig": "~1.0",
        "propel/propel": "~2.0@dev"
    },

    "autoload": {
        "classmap": ["generated-classes/"]
    }
}

5)要完成类自动加载,您需要在控制台上执行:

composer dump-autoload

6)对于运行时连接设置,在运行时为通信类运行:

c:\MAMP\htdocs\Conference\vendor\bin\propel config:convert

7)假设您已经创建了数据库,您需要做的最后一件事是创建表,这是使用以下命令:

c:\MAMP\htdocs\Conference\vendor\bin\propel sql:insert

你去吧!每次我建立一个项目时,这对我都有用。