命名空间无法正确解析

http://img1.mukewang.com/63953df10001b67b02460610.jpg

命名空间系统,甚至在重新起草 composer.json 中的 Classmap 和转储自动加载之后,都没有给我命名空间中的对象。这似乎也在升级。虽然我有一个文件可以做到这一点,但随着有限的进展成为一个更大的问题。我不知道该怎么办。这是未运行的代码文件之一。


这是 login.php:


<?php

namespace Adoms\crud;


require_once("../vendor/autoload.php");


if (!isset($_SESSION)) {

    session_start();

    $_SESSION['login'] = false;

}

?>

    <?php


        if (!isset($_GET['g'])) {

            require('view/login/username.php');

        }

        else if (isset($_GET['g']) && $_GET['g'] == 1) {

            require('view/login/pass.php');

        }

        else {

            $login = new db("../Adoms/config/config.json");   // Says no "Adoms\crud\db" in error msg


            $record = $login->read(["users" => ["site_id", "username"]], "username = '" . $_COOKIE['username'] . "' AND password = '" . $_COOKIE['password'] . "'");


            if ($record->num_rows == 1) {

                header("Location: ../");

            }


        }


    ?>


人到中年有点甜
浏览 123回答 3
3回答

精慕HU

要自动加载文件,您需要使用 composer.json autoload 中的文件,只需添加文件路径,然后 dump-autoload 即可加载。"autoload": {&nbsp; &nbsp; "files": [&nbsp; &nbsp; &nbsp; &nbsp; "path/to/yourfile.php",&nbsp; &nbsp; ]}

当年话下

如果上述答案不起作用,这应该可以解决。将第一个对象的名称空间放在第一位。这在这里的意思是,那crud在之前oauth&nbsp; &nbsp; namespace Adoms\crud;&nbsp; &nbsp; use Adoms\src\oauth2;&nbsp; &nbsp; include_once("../../../vendor/autoload.php");&nbsp; &nbsp; if (!isset($_SESSION))&nbsp; &nbsp; &nbsp; &nbsp; session_start();&nbsp; &nbsp; $db = new db("../../../Adoms/config/config.json");&nbsp; &nbsp; $result = $db->read(["users" => ["username", "site_id"]], "`site_id` = '" . $_COOKIE['PHPSESSID'] . "' OR `username` = \"" . $_POST['username'] . "\"");?>

HUWWW

我发现在处理这样的问题时,您可能希望更新您的 composer.lock。composer update这是通过在控制台使用。这应该可以解决任何人的问题。
打开App,查看更多内容
随时随地看视频慕课网APP