作曲家不作曲-说找不到文件

Composer not composing - saying file not found

我正在使用优秀的 phpwkhtmltopdf 库并想更新到最新版本,为此我需要使用 composer。

文件结构:

vendor
  --mikehaertl
    --php-shellcommand
    --php-tmpfile
  autoload.php

Composer.json 文件:

{
"name": "mikehaertl/phpwkhtmltopdf",
"description": "A slim PHP wrapper around wkhtmltopdf with an easy to use and clean OOP interface",
"keywords": ["pdf", "wkhtmltopdf", "wkhtmltoimage" ],
"homepage": "http://mikehaertl.github.com/phpwkhtmltopdf/",
"type": "library",
"license": "MIT",
"authors": [
    {
        "name": "Michael Haertl",
        "email": "haertl.mike@gmail.com"
    }
],
"require": {
    "php": ">=5.0.0",
    "mikehaertl/php-tmpfile": "1.0.*",
    "mikehaertl/php-shellcommand": "1.0.*"
},
"autoload": {
    "psr-4": {
        "mikehaertl\wkhtmlto\": "src/"
    }
},
"extra": {
    "branch-alias": {
        "dev-master": "2.0.x-dev"
    }
}
}

我正在尝试像这样使用库:

require '/home/bookmark/vendor/autoload.php';
use mikehaertl\wkhtmlto\Pdf;
...
$pdf = new Pdf('http://anysite.com'); <-- error points to this line

问题是我收到错误:

致命错误:在第 132

行的 /home/bookmark/public_html/ajax/action.php 中找不到 Class 'mikehaertl\wkhtmlto\Pdf'

这是我第一次使用 composer,知道我做错了什么吗?

如果您使用的是某些软件包,则不得复制其 composer.json 文件 - 那样是行不通的。

最好的办法是 运行 composer init 一次为您的项目创建一个初始 composer.json 文件,然后 composer require mikehaertl/phpwkhtmltopdf:~2.0 添加您想要工作的包与.

之后,它应该可以工作了。