【问题标题】:Symfony2/Composer use packageSymfony2/Composer 使用包
【发布时间】:2013-07-19 11:09:57
【问题描述】:

我正在尝试使用来自http://github.com/PAYONE/PHP-SDK/archive/master.zip 的 payone PHP-SDK
我将它包含在我的 composer.json 中,如下所示:

"require": {
        "payone/php-sdk": "1.0.*"
    },
"repositories": [
            {
                "type": "package",
                "package": {
                    "name": "payone/php-sdk",
                    "version": "1.0.0",
                    "dist": {
                        "url": "http://github.com/PAYONE/PHP-SDK/archive/master.zip",
                        "type": "zip"
                    },
                    "autoload": {
                        "psr-0": { "Payone_": "php/" }
                    }
                }
            }
        ]

我的问题:如何在我的控制器中使用它?

【问题讨论】:

    标签: symfony composer-php payone


    【解决方案1】:

    请注意,PayOne SDK 使用 PEAR 样式的类名(即 Vendor_Folder_Classname ),而不是带有命名空间的 PSR-0 约定。 pear 风格的自动加载与 composer 的 psr-0 自动加载兼容。

    确保在类名前加上 \ 或在控制器类的顶部添加 use 语句。 请参阅 igor 的回答 here

    要实例化一个新的构建器对象,请使用类似:

    class MyController
    {
        public function myAction()
        {
            $conig   = new \PayOne_Config(array(/* settings */));
            $builder = new \PayOne_Builder($config);
    
            // now use the builder            
        }
    

    PayOne_Autoload 和 PayOne_Bootstrap 类仅用于设置自动加载,在您的情况下由 composer 处理。

    【讨论】:

    • 我无法让它工作。我必须在我的 composer.json 中改变什么才能像你描述的那样使用它?我真的不知道我必须在我的控制器类中添加哪个命名空间/使用语句。
    猜你喜欢
    • 1970-01-01
    • 2012-06-28
    • 2012-12-30
    • 2013-10-02
    • 2012-08-25
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多