BcRequestFilter::isAsset PHP Method

isAsset() public method

アセットのURLかどうかを判定
public isAsset ( CakeRequest $request ) : boolean
$request CakeRequest リクエスト
return boolean
    public function isAsset(CakeRequest $request)
    {
        $dirs = array('css', 'js', 'img');
        $exts = array('css', 'js', 'gif', 'jpg', 'jpeg', 'png', 'ico', 'svg', 'swf');
        $dirRegex = implode('|', $dirs);
        $extRegex = implode('|', $exts);
        $assetRegex = '/^(' . $dirRegex . ')\\/.+\\.(' . $extRegex . ')$/';
        $themeAssetRegex = '/^theme\\/[^\\/]+?\\/(' . $dirRegex . ')\\/.+\\.(' . $extRegex . ')$/';
        $uri = $request->url;
        return preg_match($assetRegex, $uri) || preg_match($themeAssetRegex, $uri);
    }

Usage Example

Esempio n. 1
0
 /**
  * アセットのURLかどうかを判定
  *
  * @param bool $expect 期待値
  * @param string $url URL文字列
  * @return void
  * @dataProvider isAssetDataProvider
  */
 public function testIsAsset($expect, $url)
 {
     $request = new CakeRequest($url);
     $this->assertEquals($expect, $this->requestFilter->isAsset($request));
 }