How PHP simulates response classes in asp
This article mainly introduces how PHP simulates the response class in asp. It is very detailed and has a certain reference value. Interested friends must read it!
The details are as follows:
People who are used to asp or asp.net developers will often use the response class, which is used to deal with client responses and can achieve jump, output and other functions. There is no such class in php, but it can be simulated by functions.
/ * * Class uses: implement response functions similar to those in asp * / final class Response {private $headers = array (); private $output; private $level = 0; public function addHeader ($key, $value) {$this- > headers [$key] = $value;} public function removeHeader ($key) {if (isset ($this- > headers [$key])) {unset ($this- > headers [$key]) }} public function redirect ($url) {header ('Location:'. $url); exit;} public function setOutput ($output, $level = 0) {$this- > output = $output; $this- > level = $level;} private function compress ($data, $level = 0) {if (isset ($_ SERVER ['HTTP_ACCEPT_ENCODING']) & (strpos ($SERVER [' HTTP_ACCEPT_ENCODING'], 'gzip')! = FALSE)) {$encoding =' gzip' } if (isset ($_ SERVER ['HTTP_ACCEPT_ENCODING']) & & (strpos ($_ SERVER [' HTTP_ACCEPT_ENCODING'], 'Xmuri gzip')! = = FALSE) {$encoding =' x isset gzipmakers;} if (! isset ($encoding)) {return $data;} if (! extension_loaded ('zlib') | | ini_get (' zlib.output_compression')) {return $data } if (headers_sent ()) {return $data;} if (connection_status ()) {return $data;} $this- > addHeader ('Content-Encoding', $encoding); return gzencode ($data, (int) $level);} public function output () {if ($this- > level) {$ouput = $this- > compress ($this- > output, $this- > level);} else {$ouput = $this- > output } if (! headers_sent ()) {foreach ($this- > headers as $key = > $value) {header ($key. ':. $value);}} echo $ouput;}} this is all the content of the article "how PHP simulates response classes in asp". Thank you for reading! Hope to share the content to help you, more related knowledge, welcome to follow the industry information channel!