【问题标题】:php composer - my package with namespace and classphp composer - 我的带有命名空间和类的包
【发布时间】:2020-07-22 03:01:33
【问题描述】:

我可能有原始问题。我在 Composer 中创建了我的第一个包。它只是一个命名空间中的一个类。

composer.json

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

我有这个:src/UrlParser/url.php

<?php
namespace UrlParser;
class Url{
...

一切都好,我把我的包上传到作曲家。我将它安装到我的项目中,但是当我调用它时:

<?php
require_once 'vendor/autoload.php';
$a = new UrlParser\Url("http://localhost/aaa.html");

我明白了:致命错误:第 3 行的 C:\xampp\htdocs\ccc\01\index.php 中找不到类 'UrlParser\Url'

我是作曲家的新手,我尝试用谷歌搜索我的问题,但我迷路了 :) 谢谢

【问题讨论】:

  • 我想你忘了运行命令composer dump-autoload -o
  • 非常感谢。它正在工作
  • 提示:当你的类被称为Url(带有大写的u)时,你不应该将你的文件命名为url.php(带有小写的u)

标签: php class namespaces composer-php


【解决方案1】:

试试这个

namespace UrlParser;
$a = new Url("http://localhost/aaa.html");

如果它不起作用,则可能是自动加载有问题,您没有得到正确的方法

【讨论】:

    【解决方案2】:

    问题是,我没有这样做:

    composer dump-autoload -o
    

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 2018-06-02
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 2014-09-27
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多