无法访问我的Propel课程

时间:2016-07-04 13:24:00

标签: php orm propel

访问我的Propel课程时遇到问题。 例如,我尝试访问Livre类。

我在index.php中的代码是:

use biblio\biblio\Livre;
//load Propel's autoload
require 'vendor/autoload.php';

$collect = new Livre();
$collect->setNom("Aventure");
$collect->save();

输出错误是:

  

致命错误:Class' biblio \ biblio \ Livre'在第7行的/Applications/MAMP/htdocs/propel/index.php中找不到

我的classe Livre位于biblio/biblio/Livre.php文件夹中 使用此代码,Eclipse找到我的Livre。但是当PHP执行时,就会出错。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:1)

您需要在composer.json文件中添加这样的内容(显然将此autoload数据修改为整个JSON文件,而不是仅按原样附加此内容):

{
  ...
  "autoload": {
    "classmap": ["biblio/"]
  }
}

如果没有这个,require vendor/autoload.php;将不包含您的Propel类,PHP将无法找到命名空间/类。不要忘记从命令行运行php composer dump-autoload以更新autoload.php文件。

有关详细信息,请参阅Propel documentation

  

生成类后,您必须自动加载它们。

或者,详细了解Composer's autoloading

  

对于指定自动加载信息的库,Composer会生成vendor / autoload.php文件。您只需包含此文件即可免费进行自动加载。 [...]您甚至可以通过向composer.json添加自动加载字段将自己的代码添加到自动加载器。

相关问题