PHP Composer语言 - php-sql-query-builder



我刚刚弄清楚了如何安装和使用PHP作曲家,并将其用于将PHP-SQL-Query-ubuerder安装到我的项目中。该系统创建了供应商文件夹等。但是,我在软件包中使用类遇到问题。它给我以下错误,关于如何解决此问题的任何建议?

Fatal error: Uncaught Error: Class 'NilPortuguesSqlQueryBuilderBuilderGenericBuilder' not found in D:DocumentsCadetPortalphpliblogin.class.php on line 15

login.class.php

    require_once ("core.class.php");
    require_once ("../../vendor/autoload.php");
    use NilPortuguesSqlQueryBuilderBuilderGenericBuilder;
    class LoginSystem {
        private $core;
        private $builder;
        private $config;
        function __construct(){
            $this->core = new coreFunctions();
            $this->builder = new GenericBuilder();
            $this->config = require('core.config.php');
        }
//....
    }

编辑

fncregister.php

require_once "../../vendor/autoload.php";
$LoginManager = new ThomasSmythLoginSystem();
echo $LoginManager->Register($_POST["StrSurname"], $_POST["StrForename"], $_POST["StrEmail"], $_POST["StrPassword"], $_POST["DteDoB"], $_POST["StrGender"], $_POST["StrToken"]);

composer.json

{
    "require": {
        "nilportugues/sql-query-builder": "^1.5"
    },
    "autoload": {
        "psr-4": {
            "ThomasSmyth\": "php/lib/"
        }
    }
}

您的类源文件不应在其中完全没有任何require_once语句。按照PSR-4规格进行命名。将您的课程放在命名空间中,以避免与您可能通过作曲家包含的其他类碰撞。然后将一个类放入一个文件中,名为与类相同的文件。例如,登录系统类应在名为loginsystem.php。

的文件中
namespace MyNamespace;
class LoginSystem
{
    ...
}

然后将composer.json设置为将您的命名空间指向您的源目录:

"autoload": {
    "psr-4": {
        "MyNamespace\": "src/"
    }
},

现在,您的主要应用调用器或前控制器应该是唯一包括自动加载器的地方:

require_once 'vendor/autoload.php';
$login = new MyNamespaceLoginSystem();
...

最新更新