2016-02-13 76 views
4

我正在使用Mini2框架创建PHP应用程序。无法在Mini2框架中加载类应用程序

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')); 

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

/Mini/Model/Model.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); 
    } 
} 

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

enter image description here

我的两个模型文件正在使用,并以同样的方式宣布,但只有一个可以被访问。只有Model.php可以访问。

我检查了Mini2框架的内部文件,并找不到需要或包含语句用于预加载文件的任何文件。我现在处于亏损状态。

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

/Mini/Model/User/userModel.php

然后我得到这个错误

enter image description here

PHP服务器是刚刚倾倒的文件内容的一部分。

+0

userModel.php的文件路径错误。它应该在'Model'的子目录下,名为'User',就像这样:'/ Mini/Model/User/userModel.php' – Michael

+0

删除'<? php'在你的UserModel.php –

回答

0

几件事情在这里:

  1. /Mini/Model/userModel.php应该/Mini/Model/UserModel.php
  2. 命名空间迷你\型号\用户;应该是命名空间Mini \ Model;
  3. 类的usermodel {应该类的usermodel {
  4. 私人$ DB删除斜线
  5. 72号线在你的index.php应该像$用户=新\迷你\型号\ UserModel($ config)
  6. 您必须确保您使用的是自动加载器。如果您可以从索引访问Mini \ Model \ Model。PHP那么你可能是。
相关问题