【问题标题】:Fatal error: Class 'medoo' not found致命错误:找不到类“medoo”
【发布时间】:2017-12-20 20:28:14
【问题描述】:

我正在通过 composer 使用带有 medoo 的 slim 框架 2,我正在为 medoo 制作 singleton 但是当我调用 medoo 类来配置我的数据库信息时,它给了我 fatal error 如下所示

致命错误:在 C:\xampp\htdocs\school\s.php 中找不到类 'medoo' 在第 5 行

下面是我的s.php 文件

<?php
  require 'vendor/autoload.php';
  $app = new\Slim\Slim();
    $app->container->singleton('test',function () use ($app) {
      return new medoo([
        'database_type' =>'mysql',
        'database_name' =>'mydb',
        'server'=> 'localhost',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
        'option' => [
          PDO::ATTR_CASE=>PDO::CASE_NATURAL
        ]
      ]);
    });

    $app->get('/', function () use($app) {
      echo "<center><b><a href='#' target='_blank' >WELCOME TO TESTING PAGE</a></b></center>";
      $sth = $app->test->insert("t", ["id" =>1, "name" => "dsfdsf"]);
      var_dump($sth);
    });

  $app->run();
?> 

如果我检查 composer.json 文件,然后我发现 slim 和 medoo 都在那里,我不明白为什么这个 fatal error 会出现请帮助我

【问题讨论】:

标签: php composer-php slim medoo slim-2


【解决方案1】:

两件事:

  • 你需要导入类
  • 你的类名应该区分大小写

即:

<?php

use Medoo\Medoo;

require 'vendor/autoload.php';

$app = new \Slim\Slim();

$app->container->singleton('test',function () use ($app) {
    return new Medoo([
        // ...
    ]);
});

参考见:

【讨论】:

  • 那么如果每次都使用命名空间medoo,那么使用单例就没有意义了
  • 谢谢,但我没有为单例使用命名空间 medoo
  • 你使用的是什么版本的catfan/medoo
  • medoo版本是1.4最新版
  • 你说的did it without use namespace medoo for singleton是什么意思?
猜你喜欢
  • 2014-10-03
  • 1970-01-01
  • 2011-09-08
  • 2011-12-17
  • 2018-12-21
  • 2012-11-21
  • 2015-03-20
  • 2015-03-28
  • 2014-03-13
相关资源
最近更新 更多