CFilter
鍖 | system.web.filters |
---|---|
缁ф壙 | class CFilter » CComponent |
瀹炵幇 | IFilter |
瀛愮被 | CAccessControlFilter, CInlineFilter |
婧愯嚜 | 1.0 |
鐗堟湰 | $Id: CFilter.php 2799 2011-01-01 19:31:13Z qiang.xue $ |
婧愮爜 | framework/web/filters/CFilter.php |
CFilter鏄墍鏈夎繃婊ゅ櫒鐨勫熀绫汇
杩囨护鍣ㄥ彲鐢ㄤ簬鍔ㄤ綔鎵ц涔嬪墠鍜屼箣鍚庛 瀹冨彲浠ヤ慨鏀瑰姩浣滅殑涓婁笅鏂囨墽琛岋紝 鎴栬呬慨鏀瑰姩浣滄墍浜х敓鐨勭粨鏋溿
閲嶅啓preFilter()鎸囧畾鍦ㄥ姩浣滀箣鍓嶆墽琛 鐨勮繃婊ら昏緫锛岄噸鍐postFilter()鍦ㄥ姩浣滀箣鍚庣殑鎵ц杩囨护閫昏緫銆
杩囨护鍣ㄥ彲鐢ㄤ簬鍔ㄤ綔鎵ц涔嬪墠鍜屼箣鍚庛 瀹冨彲浠ヤ慨鏀瑰姩浣滅殑涓婁笅鏂囨墽琛岋紝 鎴栬呬慨鏀瑰姩浣滄墍浜х敓鐨勭粨鏋溿
閲嶅啓preFilter()鎸囧畾鍦ㄥ姩浣滀箣鍓嶆墽琛 鐨勮繃婊ら昏緫锛岄噸鍐postFilter()鍦ㄥ姩浣滀箣鍚庣殑鎵ц杩囨护閫昏緫銆
鍏叡鏂规硶
鏂规硶璇︾粏
filter()
鏂规硶
public void filter(CFilterChain $filterChain)
| ||
$filterChain | CFilterChain | 璁剧疆濂界殑杩囨护鍣ㄩ摼銆 |
婧愮爜锛 framework/web/filters/CFilter.php#37 (鏄剧ず)
public function filter($filterChain)
{
if($this->preFilter($filterChain))
{
$filterChain->run();
$this->postFilter($filterChain);
}
}
鎵ц杩囨护銆
榛樿瀹炵幇鐨勬槸璋冪敤preFilter
鍜postFilter锛屽瓙绫
搴旇瑕嗙洊杩欎釜鏂规硶銆傚鏋滃瓙绫婚渶瑕佽鐩栬繖涓柟娉曪紝
瑕佺‘瀹氬姩浣滄墽琛屾椂璋冪敤
$filterChain->run()
銆
init()
鏂规硶
锛堝彲鐢ㄨ嚜 v1.1.4锛
public void init()
|
鍒濆鍖栬繃婊ゅ櫒銆 杩欎釜鏂规硶浼氬湪杩囨护鍣ㄥ睘鎬у凡缁忓垵濮嬪寲锛 preFilter璋冪敤涔嬪墠璋冪敤銆 浣犲彲浠ヨ鐩栬繖涓柟娉曚互鍖呭惈涓浜涘垵濮嬪寲鐨勯昏緫銆
postFilter()
鏂规硶
protected void postFilter(CFilterChain $filterChain)
| ||
$filterChain | CFilterChain | 璁剧疆濂界殑杩囨护鍣ㄩ摼銆 |
鎵цpost鎿嶄綔杩囨护鍣ㄣ
preFilter()
鏂规硶
protected boolean preFilter(CFilterChain $filterChain)
| ||
$filterChain | CFilterChain | 璁剧疆濂界殑杩囨护鍣ㄩ摼銆 |
{return} | boolean | 杩囨护杩囩▼鏄惁瑕佺户鎵匡紝 骞朵笖鍔ㄤ綔灏嗚鎵ц銆 |
婧愮爜锛 framework/web/filters/CFilter.php#63 (鏄剧ず)
protected function preFilter($filterChain)
{
return true;
}
鎵ц棰勬搷浣滆繃婊ゅ櫒銆