【问题标题】:How to use PSR-4 in methods with PHP如何在 PHP 方法中使用 PSR-4
【发布时间】:2018-03-15 18:57:31
【问题描述】:

对不起,伙计们,我一直在尝试在我的 PHP 项目中使用 PSR-4,直到现在我只有一个问题;如果我只使用类

<?php namespace backend\controllers;

    class Conexion
    {
        public function __construct() {

            echo "hi";
        }
    }

然后在其他文件中我把它工作正常

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

use backend\controllers\Conexion as Conexion;

$user = new backend\controllers\Conexion;

但如果我尝试通过以下方式更改第一个块代码:

<?php namespace backend\controllers;

    class Conexion
    {
        public function __construct() {

           $conexion = new mysqli('localhost','mysql','root','');
           if($conexion) {
              echo "1";
           } else {
              echo "0";
           }
        }
    }

我收到以下错误

致命错误:类 'backend\controllers\mysqli' 未在 C:\xampp\htdocs\master-pure-php\app\backend\controllers\DataBaseController.php 在第 9 行

但我需要在类中使用命名方法,但我不知道该怎么做。 提前致谢

【问题讨论】:

  • 你的问题不是 laravel 特定的,为什么要包含 laravel 标签
  • 是的,你说得对,对不起,写这个问题的时候我很累

标签: php mysqli psr-4


【解决方案1】:

如您所见 - 它正在 'backend\controllers\mysqli' 下寻找 mysqli

快速修复... 改变

$conexion = new mysqli('localhost','mysql','root','');

$conexion = new \mysqli('localhost','mysql','root','');

【讨论】:

  • 谢谢你的回答很有帮助
  • @Ing. Alfred Paz,我的回答是快速解决,杰克的回答更合适。无论如何,您应该接受其中一个答案。
【解决方案2】:

mysqli 类在全局命名空间中定义;为了使用它,你可以把它放在你的源代码中(在你的脚本的顶部):

use mysqli;

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 2016-11-18
    • 2016-03-22
    • 2018-07-25
    • 1970-01-01
    • 2014-07-18
    • 2015-12-10
    • 2014-04-07
    相关资源
    最近更新 更多