gpt4 book ai didi

php - 无法在 Mini2 框架应用程序中加载类

转载 作者:可可西里 更新时间:2023-10-31 23:46:15 26 4
gpt4 key购买 nike

我正在使用 Mini2 框架创建一个 PHP 应用程序。

https://github.com/panique/mini2

这是一个非常准系统的 MVC 框架。在我的 index.php 文件中,我必须声明各种路由、模型等。

我正在分享我声明模型的片段。

$model = new \Mini\Model\Model($app->config('database'));
$usermodel = new \Mini\Model\User\userModel($app->config('database'));

在我的项目根目录...有这些文件

/迷你/模型/模型.php

/Mini/Model/userModel.php

这是我的 Model.php 的样子

<?php

namespace Mini\Model;

use PDO;

class Model
{
private $db;

function __construct($config)
{
// PDO db connection statement preparation
$dsn = 'mysql:host=' . $config['db_host'] . ';dbname=' . $config['db_name'] . ';port=' . $config['db_port'];

// note the PDO::FETCH_OBJ, returning object ($result->id) instead of array ($result["id"])
// @see http://php.net/manual/de/pdo.construct.php
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING);

// create new PDO db connection
$this->db = new PDO($dsn, $config['db_user'], $config['db_pass'], $options);
}

}

这是我的 userModel.php 的样子

<? php


namespace Mini\Model\User;


use PDO;


class userModel
{
/private $db;


function __construct($config)
{
$dsn = 'mysql:host='. $config['db_host']. ';dbname='. $config['db_name']. ';port='. $config['db_port'];
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING);
$this->db = new PDO($dsn, $config['db_user'], $config['db_pass'], $options);
}
}

当我运行我的网络应用程序时,出现此错误。

enter image description here

我的两个模型文件都以相同的方式使用和声明,但只能访问一个。只能访问Model.php。

我检查了Mini2框架的内部文件,没有找到任何使用require或include语句预加载文件的文件。我现在很茫然。

按照 Michael 的建议,我将 userModel 文件移到了一个名为 User inside model 的新文件夹中。

/Mini/Model/User/userModel.php

然后我得到这个错误

enter image description here

php 服务器只是转储文件内容的一部分。

最佳答案

这里有几件事:

  1. /Mini/Model/userModel.php 应该是/Mini/Model/UserModel.php
  2. namespace Mini\Model\User; 应该是 namespace Mini\Model;
  3. class userModel { 应该是 class UserModel {
  4. 去掉private $db前的斜线
  5. index.php 中的第 72 行应该类似于 $user = new\Mini\Model\UserModel($config)
  6. 您必须确保您使用的是自动加载器。如果你可以从 index.php 访问 Mini\Model\Model 那么你可能是。

关于php - 无法在 Mini2 框架应用程序中加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35378382/

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