【问题标题】:Why is my Silex autoloader (composer) not loading a class?为什么我的 Silex 自动加载器(作曲家)没有加载一个类?
【发布时间】:2017-08-24 22:29:05
【问题描述】:

我正在使用 composer 来加载类。它确实适用于提供者,但它不会加载我的类文件夹。这是我的 composer.json :

{
    "require": {
        "silex/silex": "~1.3",
        "twig/twig": "^1.33",
        "doctrine/dbal": "^2.5",
        "uploadcare/uploadcare-php": "^1.5",
        "symfony/twig-bridge": "^2.8",
        "symfony/form": "^2.8",
        "symfony/security-csrf": "^2.8",
        "symfony/validator": "^2.8",
        "symfony/config": "^2.8",
        "symfony/translation": "^2.8"
    },
    "autoload": {
        "psr-4": {
            "Models\\": "app/Models/",
            "Providers\\": "app/Providers/"
        }
    }
}

这是我的文件夹结构:

网上商店
--app
----Config
----Models
---->>Session.php
----Providers
- -public
----index.php
--vendor
--views
--composer.jason
--composer.lock

这一行在 index.php 中:

require_once __DIR__.'/../vendor/autoload.php';

但由于某种原因我收到此错误:

Fatal error: Class 'Session' not found in E:\Software\XAMPP\htdocs\Webshop\public\index.php on line 32

如果您可能需要它,我当然可以为您提供会话课程。如果有什么需要补充的。请询问,我会在一分钟内添加。

编辑


这是我的会话顶部:

<?php

namespace Models;

class Session 
    {
        public static function exists($name) 
        {

【问题讨论】:

  • 可能你忘记了使用声明:use Models\Session;。并检查Session.php 文件中的命名空间。必须是namespace Models
  • 如果两者都正确然后尝试运行composer dump-autoload

标签: php class silex autoloader


【解决方案1】:

京也解决了!我忘了把'use Models\Session;'在 index.html 的顶部

【讨论】:

    猜你喜欢
    • 2013-02-02
    • 1970-01-01
    • 2015-09-24
    • 2014-08-15
    • 2019-09-22
    • 2021-12-18
    • 2017-01-27
    • 2013-12-09
    相关资源
    最近更新 更多