class在php,在PHP 5.4中替换:: class

我正在使用this Composer package进行需要此程序包提供的功能的开发.寻找替代方案,我发现这是我最好的选择,因为可用的替代方案在我正在处理的时间限制中实现过于准确.

现在,我在运行PHP 5.5的个人服务器上运行PHP 5.5(在Linux子系统上用于Windows 10)的本地计算机上进行了测试,但生产服务器运行的是PHP 5.4,由于某些原因无法升级.

首先我有这个错误:

Parse error: syntax error, unexpected 'class' (t_class), expecting identifier (t_string) in …

寻找解决方案我打了this question,所以我去了包裹代码并找到了以下片段:

protected static $classmap = [

'getTransactionResult' => getTransactionResult::class,

'getTransactionResultResponse' => getTransactionResultResponse::class,

'transactionResultOutput' => transactionResultOutput::class,

'cardDetail' => cardDetail::class,

'wsTransactionDetailOutput' => wsTransactionDetailOutput::class,

'wsTransactionDetail' => wsTransactionDetail::class,

'acknowledgeTransaction' => acknowledgeTransaction::class,

'acknowledgeTransactionResponse' => acknowledgeTransactionResponse::class,

'initTransaction' => initTransaction::class,

'wsInitTransactionInput' => wsInitTransactionInput::class,

'wpmDetailInput' => wpmDetailInput::class,

'initTransactionResponse' => initTransactionResponse::class,

'wsInitTransactionOutput' => wsInitTransactionOutput::class

];

现在,到目前为止,我已经对带有问题的行进行了评论(两者都是包含这些::类定义的数组),在生产服务器上进行了测试,并且到目前为止一直有效.但我想知道是否有这个:: class定义的实际替代品.

重要说明:我在网上看到的例子谈到了引用ClassName :: class的get_class(‘ClassName’),而不是关于classMethod :: class的案例.我也遇到了this question,但答案中提供的例子并没有给我一个如何使用它的线索.

解决方法:

:: class返回该类的完整命名空间.您可以编写完整的命名空间.在一些新的包中,如果需要,最好将命名空间赋给类并在该类中创建实例. ::课程更短,更舒适.

例如:

protected static $classmap = [

'getTransactionResult' => 'Namespace\of\the\class',

]

这个时间要长得多,当你在这个位置遇到这样的问题时,我确信你在使用新包时会遇到更多问题.

标签:php,composer-php,php-5-4

来源: https://codeday.me/bug/20190527/1165877.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值