如何减少 PHP 函数歧义解析错误?

问题描述

我在这里有一个调用 Shopify API 的函数。我现在已经尝试了几个小时来解决这个问题,但未能如愿。我得到一个

解析错误:语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),在第25行需要'-'或标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)

当我删除第 25 行时,我得到

解析错误:语法错误,第 80 行文件意外结束

如果有人能帮助我缩小问题范围,我将不胜感激!

代码如下:

<?php

function addVariantsOrder($orderId,$variants)
// Adds variants to order and commits it
{
    global $shopify;

    // ----------------------------
    // orderEditBegin
    // ----------------------------

    $orderEditBeginVariables = array("orderId"=>'gid://shopify/Order/'.$orderId);

    $orderEditBeginQuery = <<<Query
        mutation(\$orderId: ID!) {
            orderEditBegin(id: \$orderId) {
            calculatedOrder {
                id
            }
            }
        }
    Query;

    $orderEditBegin = $shopify->GraphQL->post($orderEditBeginQuery,null,$orderEditBeginVariables);
    $orderEditBeginId = $orderEditBegin['data']['orderEditBegin']['calculatedOrder']['id'];

    // ----------------------------
    // orderEditAddVariant
    // ----------------------------

    foreach($variants as $stringOrderVariant){

        $orderEditAddVariantVariables = array("calcOrderId"=>$orderEditBeginId,"orderVariant"=>"gid://shopify/ProductVariant/".$stringOrderVariant);

        $orderEditAddVariantQuery = <<<Query
            mutation addVariantToOrder(\$calcOrderId: ID!,\$orderVariant: ID!) {
                orderEditAddVariant(id: \$calcOrderId,variantId: \$orderVariant,quantity: 1){
                calculatedOrder {
                    id
                    addedLineItems(first:5) {
                    edges {
                        node {
                        id
                        }
                    }
                    }
                }
                userErrors {
                    field
                    message
                }
                }
            }
        Query;

        $orderEditAddVariant = $shopify->GraphQL->post($orderEditAddVariantQuery,$orderEditAddVariantVariables);

    }

    // ----------------------------
    // orderEditCommit
    // ----------------------------

    $orderEditCommitQuery = <<<Query
        mutation orderEditCommit(\$calcOrderId: ID!){
            orderEditCommit(id: \$calcOrderId) {
            order {
                id
            }
            userErrors {
                field
                message
            }
            }
        }
    Query;

    $orderEditCommit = $shopify->GraphQL->post($orderEditCommitQuery,$orderEditAddVariantVariables);

    return null;
}
?>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)