在非Drupal站点中设置Drupal composer包

时间:2017-02-22 17:32:15

标签: php drupal composer-php

有一个特定的地址格式化编辑器插件,看起来对我自己的项目(不是Drupal)非常有用,称为commerceguys/addressinghttps://www.versioneye.com/php/commerceguys:addressing/0.8.4)。

所以我习惯了作曲家,我只是在我的项目中需要它,但它似乎没有像我正在使用的所有其他作曲家包一样运作。我不确定这是否与Drupal特别相关,我只提及因为他们的自述文件提到这是一个Drupal模块(但因为它可以通过作曲家使用,我认为它可能有效)。根据他们的文档,我使用以下代码

use CommerceGuys\Addressing\Address;
use CommerceGuys\Addressing\Formatter\PostalLabelFormatter;
use CommerceGuys\Addressing\AddressFormat\AddressFormatRepository;
use CommerceGuys\Addressing\Repository\CountryRepository;
use CommerceGuys\Addressing\Subdivision\SubdivisionRepository;

$addressFormatRepository = new AddressFormatRepository();
$countryRepository = new CountryRepository();
$subdivisionRepository = new SubdivisionRepository();
// Defaults to text rendering. Requires setting the origin country code
// (e.g. 'FR') through the constructor or the setter, before calling format().
$formatter = new PostalLabelFormatter($addressFormatRepository, $countryRepository, $subdivisionRepository, 'FR', 'fr');

$address = new Address();
$address = $address
    ->withCountryCode('US')
    ->withAdministrativeArea('CA')
    ->withLocality('Mountain View')
    ->withAddressLine1('1098 Alta Ave');

echo $formatter->format($address);

但是这给了我这个错误

  

致命错误:未捕获错误:第8行/media/sf_domains/coolproject.com/public_html/coolfile.php中找不到类'CommerceGuys \ Addressing \ AddressFormat \ AddressFormatRepository'

安装似乎没有任何问题,所有“commerceguys”文件都位于“vendor”文件夹中的正确位置。我有大约6个左右通过作曲家安装的东西,没有任何问题。我错过了什么?

1 个答案:

答案 0 :(得分:0)

实际上,当涉及到"使用"时,他们的文档看起来很简单。条款。在文件本身中手动搜索它们之后,我想出了

use CommerceGuys\Addressing\Model\Address;
use CommerceGuys\Addressing\Formatter\DefaultFormatter;
use CommerceGuys\Addressing\Repository\AddressFormatRepository;
use CommerceGuys\Addressing\Repository\CountryRepository;
use CommerceGuys\Addressing\Repository\SubdivisionRepository;

现在实际上工作得很好。