gpt4 book ai didi

php - Silex ActiveRecord 模型加载

转载 作者:行者123 更新时间:2023-12-04 16:54:56 25 4
gpt4 key购买 nike

我正在尝试使用 PHP ActiveRecordSilex ,但是模型自动加载发生了一些奇怪的事情:

// index.php
<?php require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();

ActiveRecord\Config::initialize(function ($cfg) {
$cfg->set_model_directory(__DIR__.'/../model');
// ...
});

$app->get('/', function () {
$page = App\Model\Page::all();
// return ...;
});

// ../model/Page.php
<?php namespace App\Model;

class Page extends \ActiveRecord\Model {

}

当我打开一个页面时,它说“找不到 Class App\Model\Page”。

如果我手动 require '../model/Page.php' - 有用。
如果我从 ../model/Page.php 中删除命名空间并像往常一样使用它:
$page = Page::all(); 

它再次起作用。

命名空间有什么问题?

最佳答案

在您在 上方提供的代码中型号 目录是用小写字符写的,当你使用这个类时,你使用 App\Model\Page .从 更改您的目录型号 型号 .您还应检查 autoload.php 是否正确加载了您的自定义类。脚本。如果不是这种情况,您必须更新 composer.json 文件。这是一个简单的例子:

    {
"require": {
"silex/silex": "~1.0",
"silex/web-profiler": "~1.0",
"monolog/monolog": ">=1.0.0",
"symfony/monolog-bridge": "~2.3",
...
},
"autoload": {
"psr-0": {
"HERE_GOES_YOUR_CUSTOM_NAMESPACE": "DIRECTORY_OF_NAMESPACE"
}
}
}

也不要忘记在您的项目设置版本之后更新 Composer !

关于php - Silex ActiveRecord 模型加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18946151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com