Silverstripe Omnipay缺少课程

时间:2017-01-31 21:10:16

标签: silverstripe omnipay

在新鲜的苏格兰威士忌盒https://box.scotch.io/上(我通常建议)

和这位作曲家:

{
    "name": "silverstripe/installer",
    "description": "The SilverStripe Framework Installer",
    "require": {
        "php": ">=5.3.3",
        "silverstripe/cms": "3.5.1",
        "silverstripe/framework": "3.5.1",
        "silverstripe/reports": "3.5.1",
        "silverstripe/siteconfig": "3.5.1",
        "silverstripe-themes/simple": "3.1.*",
        "silverstripe/silverstripe-omnipay": "^2.1",
        "omnipay/paymentexpress": "^2.2",
        "firebase/php-jwt": "^4.0"
    },
    "require-dev": {
        "phpunit/PHPUnit": "~3.7@stable"
    },
    "extra": {
        "branch-alias": {
            "3.x-dev": "3.5.x-dev"
        }
    },
    "config": {
        "process-timeout": 600
    },
    "prefer-stable": true,
    "minimum-stability": "dev"
}

使用https://github.com/silverstripe/silverstripe-omnipay

中的payment.yml

Silverstripe构建付款,但不包括任何Omnipay类。我之前使用过Omnipay和SS没有任何问题。

有人知道发生了什么事吗?

3 个答案:

答案 0 :(得分:1)

确保在命令行上运行以下命令:

$> ./framework/sake dev/build flush=all

同样值得一提的是吹掉SS'的内容。缓存(你正在使用Vagrant,所以假设这是一个Dev env),如果你正在使用F / S而不是内存缓存或其他类似的东西,它通常位于/ tmp中,然后再次运行dev / build。这将清除并重建您的缓存,并在此过程中告诉SS有关它可用的所有新类。

答案 1 :(得分:0)

你得到了什么错误?你是如何尝试访问课程的?

您应该可以调用这样的类(取决于Omnipay版本)

<?php
use Omnipay\Omnipay;

class PaymentPage extends Page
{
    function ...
    {
        try {
            $response = $gateway->purchase([...
    } 
}

答案 2 :(得分:0)

silverstripe-omnipay对其许多文件使用php namespaces,恰好ServiceFactory就是其中之一,所以为了让SilverStripe找到要包含的正确文件,必须在您打算使用ServiceFactory的文件的顶部。

import React, { Component } from 'react'; import './Home.css'; class Home extends Component { componentDidMount(){ //setup your timer here. //in your timer, call setState on this //something like this.setState({textThatChanges:YourText}); } render() { return ( <section> <h1>Hello, my name is Barry Allen</h1> <p>I like to <span> {this.state.textThatChanges}</span></p> </section> ); } } export default Home;

这并不完全是显而易见的,因为为SilverStripe制作的模块很少使用命名空间和silverstripe-omnipay没有提及ServiceFactory在其示例中是命名空间。