Changeset 19924


Ignore:
Timestamp:
2011/01/16 02:27:46 (10 years ago)
Author:
Seasoft
Message:

#642(共通ロジックの機能向上)

  • SC_Response のHTTPステータスコードの扱いを実装
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/SC_Response.php

    r19922 r19924  
    3737    var $contentType; 
    3838    var $body; 
    39     var $statuscode; 
     39    var $statusCode; 
    4040    var $header = array(); 
    4141 
     
    6161        foreach ($this->header as $name => $head){ 
    6262            header($name.': '.$head); 
     63        } 
     64        if (strlen($this->statusCode) >= 1) { 
     65            $this->sendHttpStatus($this->statusCode); 
    6366        } 
    6467    } 
     
    190193    } 
    191194 
    192     function setStatus($sc = 202) { 
    193         $this->statuscode = $sc; 
     195    function setStatusCode($statusCode = null) { 
     196        $this->statusCode = $statusCode; 
    194197    } 
    195198 
     
    197200     * HTTPステータスコードを送出する。 
    198201     * 
    199      * @param integer $code HTTPステータスコード 
     202     * @param integer $statusCode HTTPステータスコード 
    200203     * @return void 
    201204     * @author Seasoft (新規作成) 
     
    209212     * @static 
    210213     */ 
    211     function sendHttpStatus($code) { 
     214    function sendHttpStatus($statusCode) { 
    212215        $protocol = $_SERVER['SERVER_PROTOCOL']; 
    213216        $httpVersion = (strpos($protocol, '1.1') !== false) ? '1.1' : '1.0'; 
     
    261264            509 => 'Bandwidth Limit Exceeded'           // 帯域幅制限超過 
    262265        ); 
    263         if (isset($messages[$code])) { 
     266        if (isset($messages[$statusCode])) { 
    264267            if ($httpVersion !== '1.1') { 
    265268                // HTTP/1.0 
    266269                $messages[302] = 'Moved Temporarily'; 
    267270            } 
    268             header("HTTP/{$httpVersion} {$code} {$messages[$code]}"); 
    269             header("Status: {$code} {$messages[$code]}", true, $code); 
     271            header("HTTP/{$httpVersion} {$statusCode} {$messages[$statusCode]}"); 
     272            header("Status: {$statusCode} {$messages[$statusCode]}", true, $statusCode); 
    270273        } 
    271274    } 
Note: See TracChangeset for help on using the changeset viewer.