<?php
namespace App\Services\LiquidTags;

class LiquidTagVideo
{
    private $videoId;

    // 构造函数用于解析传入的参数
    public function __construct($markup, array &$tokens, $file_system = null)
    {
        // 正则表达式解析传入的参数，例如 `{% video id=456 %}`
        $syntax = '/id=(\d+)/';
        if (preg_match($syntax, $markup, $matches)) {
            $this->videoId = (int)$matches[1];
        } else {
            // 如果参数解析失败，可以抛出一个异常或设置默认值
            $this->videoId = 0;
        }
    }

    // render 方法执行逻辑并返回渲染结果
    public function render(&$context)
    {
        // 根据 videoId 生成渲染结果
        if ($this->videoId > 0) {
            return "<p>Video ID: {$this->videoId}</p>";
        }

        // 如果参数不完整，返回默认消息
        return '<p>not found</p>';
    }
}
