【问题标题】:how to avoid ugly composer hell of folders?如何避免丑陋的作曲家地狱般的文件夹?
【发布时间】:2017-04-23 22:58:28
【问题描述】:

...问题是关于use 子句位置和路径,在我运行composer require jenssegers/imagehashprojetc/src 文件夹中,现在我拥有ls

composer.json  composer.lock   sync.php  
/vendor
  autoload.php  
  /composer 
  /jenssegers
       /imagehash
          composer.json  README.md  
          /src
              ImageHash.php  Implementation.php  /Implementations

他们,在我的项目文件夹中,我运行 php sync.php ... 错误

PHP 致命错误:未捕获的错误:找不到类“Jenssegers\ImageHash\ImageHash”

如何解决? ...以及如何根据KISSConvention over configuration 原则正确组织或安装所有文件夹


sync.php 我有 PHP 代码,

use Jenssegers\ImageHash\ImageHash;  // after composer update
$hasher = new ImageHash;
die("\ndebug\n");

【问题讨论】:

  • 您是否包含了自动加载器?
  • 嗨@Federkun,你能显示PHP代码或链接吗?我在 die() 之前只使用了 2 行“atsync.php”,并且在我的代码中没有使用“autoload”... 使用 PHP7。

标签: php architecture composer-php


【解决方案1】:

添加

require __DIR__ . '/vendor/autoload.php';

sync.php。你可以阅读更多关于它的信息here

【讨论】:

  • 感谢 Federkun,它解决了主要问题(!),现在(表达的)次要问题是关于“文件夹树”......你建议什么作为“最佳实践”?
  • 他们有什么问题?管理它们是作曲家的工作,你不应该关心里面有什么或文件夹是如何组织的
  • 嗯...也许只是它...但是如果我有一个文件夹myProjetc,我的代码在myProjetc/src...也许最好的做法是不要运行composer myProjetc/src,但 myProjetc ... 是吗?
  • 你可以找到here一个很常见的骨架应用;您有一个包含所有依赖项的 vendor 文件夹,并且您的源代码进入 src 文件夹。您没有src/vendor 文件夹。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 2020-06-11
  • 1970-01-01
  • 2017-05-08
  • 2012-11-16
  • 2011-01-28
  • 2020-10-15
相关资源
最近更新 更多