Пространство имен не разрешается правильно - PullRequest
0 голосов
/ 08 апреля 2020

enter image description here Система пространств имен, даже после перерисовки карты классов в composer. json, и дамп-автозагрузка, дали мне не объекты в именованных пространствах. Кажется, это тоже нарастает. В то время как у меня есть один файл, который делает это, с конечным прогрессом становится большая проблема. Я не знаю что делать Вот один из файлов кода, которые не работают.

Это логин. 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: ../");
            }

        }

    ?>

Ответы [ 3 ]

0 голосов
/ 08 апреля 2020

Я обнаружил, что, имея дело с такой проблемой, вы можете sh обновить ваш composer .lock. Это с помощью composer update на консоли. Это должно решить чью-либо проблему.

0 голосов
/ 11 апреля 2020

Если приведенный выше ответ не работает, это следует исправить. Поместите пространство имен первого объекта первым. Это означает, что crud предшествует oauth

    namespace Adoms\crud;

    use Adoms\src\oauth2;
    include_once("../../../vendor/autoload.php");

    if (!isset($_SESSION))
        session_start();

    $db = new db("../../../Adoms/config/config.json");

    $result = $db->read(["users" => ["username", "site_id"]], "`site_id` = '" . $_COOKIE['PHPSESSID'] . "' OR `username` = \"" . $_POST['username'] . "\"");
?>
0 голосов
/ 08 апреля 2020

Для автозагрузки вашего файла вам нужно использовать файлы в composer. json автозагрузке и просто добавить путь к файлу, затем dump-autoload и должен загрузиться.

"autoload": {
    "files": [
        "path/to/yourfile.php",

    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...