JSFiddle - React, Tailwind, and code Playground

by luizz

HTML

<script type="text/php">
        /**
     * Obtém o valor da variável armazenada no Cookie.
     * @param string $key Nome da chave da variável armazenada no Cookie.
     * @return string
     */
    public function getCookie($key) {

        $value = NULL;

        if(array_key_exists($key, $_COOKIE) == true) {

            $value = $_COOKIE[$key];

        } else if(array_key_exists($key."-split-0", $_COOKIE) == true) {

            $splitPart = 0;

            while(isset($_COOKIE[$key."-split-".$splitPart])) {

                $value .= $_COOKIE[$key."-split-".$splitPart];
                $splitPart++;
            }

            $value = base64_decode($value);
            $value = gzuncompress($value);
            $value = unserialize($value);
        }

        return $value;
    }

    /**
     * Armazena uma variável no Cookie.
     * @param string $key Nome da chave da variável a ser armazenada no Cookie.
     * @param string $value Valor da variável a ser armazenada no Cookie.
     * @param int $expireInDay Número de dias para o Cookie expirar
     */
    public function setCookie($key, $value, $expireInDay) {

        $decode = serialize($value);
        $decode = gzcompress($decode);
        $decode = base64_encode($decode);

        $valueList = str_split($decode, 4000);//4k pieces

        foreach($valueList as $splitPart => $valueTemp) {
            $this->setCookie($key."-split-".$splitPart, $valueTemp, $expireInDay);
        }

        unset($valueList);
    }
</script>