2014-12-22 183 views
1

我創建了一個作曲家包,但我的庫使用「.class.php」擴展名而不是通常的「.php」擴展名。作曲家自動加載沒有php擴展名的類

E.g.BaseController.class.php對於BaseController

因此,Composer自動加載器無法找到我的文件。

我該如何解決這個問題?

+0

您可以始終使用classmap,但需要在每次添加類之後重新生成它。 – sectus

+0

好吧,我只是看着,在我的圖書館至少有50 + .class.php文件。是否建議我這樣做,還是應該分叉我的庫並重命名所有.class.php和.php並使用它? – supersan

+0

請參見作曲家文件夾中的ClassLoader.php。如果我改變這一行使用'.class.php'它的作品! >> $ file = $ this-> findFileWithExtension($ class,'.php'); // line 303 – supersan

回答

1

經過大量的研究,有兩種方法。不幸的是既不是不夠好,但現在任何人誰面臨這個問題可以用它:

  1. 重命名所有.class.php到.PHP如果是你自己的圖書館
  2. 在ClassLoader.php的303線(內作曲家文件夾)改變.php.class.php

$file = $this->findFileWithExtension($class, '.php'); //line 303 $file = $this->findFileWithExtension($class, '.class.php'); //line 303

但願會有在以後的版本支持這個功能!

+0

第1步是唯一正確的行爲。使用class.php作爲擴展除了讓你的代碼看起來過時和過時以外,沒有其他用途。 – Halfstop

相關問題