return 字符串如何来自受保护函数 php?

How return string from protected function php?

我愿意 将索引文件中的字符串变量和变量操作传递给函数,我希望 public 函数将这些变量传递给受保护的函数 根据动作提取编码的受保护函数 并将结果返回给 public 函数,然后返回到索引文件 我想做那样的事 但有些东西仍然没有消失。 谁能帮我这个?请

index.php

$um = new Code;
if($um->Code_x('xxxstringxxx', 'D')) {
echo$_SESSION['output'];
} else {
echo'something wrong';
}
echo $output->Code_x;

Code.class.php

class Code
{   
    protected $stringx;
    protected $action;

    public function Code_x($STRINGX, $ACTION) 
    { 
        $this->stringx = $STRINGX;
        $this->action = $ACTION; 
        self::Hash_1($STRINGX, $ACTION);    
    }

    protected function Hash_1( $stringx, $action ) 
    {
        $secret_key = 
            'xxxstring_secret_keyxxx'
        ;
        $secret_iv = 
            'xxxstring_secret_ivxxx'
        ;
        $output = false;
        $encrypt_method = "AES-256-CBC";
        $key = hash( 'sha512', $secret_key );
        $iv = substr( hash( 'sha512', $secret_iv ), 64, 16 );
        if( $action == 'E' ) {
            $output = base64_encode( openssl_encrypt( $stringx, $encrypt_method, $key, 0, $iv ) );
            return $output;
        }
        else if( $action == 'D' ){
            $output = openssl_decrypt( base64_decode( $stringx ), $encrypt_method, $key, 0, $iv );
            return $output;
        }


    }
}

谁能帮我解决这个问题?请

改变...

self::Hash_1($STRINGX, $ACTION);

为此...

return $this->Hash_1($STRINGX, $ACTION);

而且您可能还想将 $output->Code_x 更改为 $um->Code_x,因为您没有在代码示例中的任何地方定义 $output

现在一切正常 我什至没有意识到 无论如何,括号之间的 space 将生成 "return false" 谢谢大家 Devon,Coffee'd Up Hacker,蓝色

并且有一些方法可以使这部分功能从 public 变为私有或受保护, public function Code_x($STRINGX, $ACTION)protected function Code_x($STRINGX, $ACTION)