thinkphp 是一個(gè)開源的 php 框架,是目前比較受歡迎的框架之一,使用它能夠快速搭建出高效的 web 應(yīng)用系統(tǒng)。然而,在使用 thinkphp 進(jìn)行開發(fā)時(shí),我們有時(shí)候需要把 css 文件放在不同的目錄里,那么如何在 thinkphp5 中使用不同目錄下的 css 文件呢?
一、在配置文件中定義靜態(tài)文件路徑
在 ThinkPHP5 中,可以在配置文件 config.php 中找到下面這個(gè)定義:
'view_replace_str' => [ '__public__'=>'/public', '__STATIC__'=>'/static', '__ROOT__' => '', ],
通過修改 view_replace_str 數(shù)組中的值,定義不同目錄下的靜態(tài)文件路徑。其中,__PUBLIC__ 定義的是指向 public 目錄的路徑,這是一個(gè)默認(rèn)的公共目錄,可以放置 CSS、JS 等靜態(tài)資源文件。__STATIC__ 可以定義任意靜態(tài)文件目錄,而 ROOT 則是定義項(xiàng)目根路徑。
當(dāng)定義好靜態(tài)文件路徑后,我們就可以在模板文件中使用路徑別名進(jìn)行調(diào)用,如下所示:
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
<link rel="stylesheet" type="text/css" href="__STATIC__/css/style.css">
二、在控制器中定義靜態(tài)文件路徑
在控制器中,也可以定義靜態(tài)文件路徑,具體實(shí)現(xiàn)方法是在控制器的初始化方法中定義別名,代碼如下:
public function _initialize() { parent::_initialize(); $this->assign('public', '/public'); $this->assign('custom', '/custom'); // 自定義目錄 }
這里定義了 PUBLIC 和 CUSTOM 兩個(gè)別名,并把對(duì)應(yīng)路徑傳遞給了前端視圖。在模板中調(diào)用靜態(tài)文件時(shí),就可以使用這些別名,例如:
<link rel="stylesheet" type="text/css" href="{$public}/css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="{$custom}/css/style.css">
如果需要在不同的控制器中定義不同的靜態(tài)文件路徑,可以在每個(gè)控制器中單獨(dú)定義。
三、使用動(dòng)態(tài)方式進(jìn)行路徑配置
除了在配置文件中和控制器中定義路徑外,還可以在模板文件中使用動(dòng)態(tài)方式進(jìn)行路徑配置。具體方法是在模板中使用 ThinkPHP 提供的 asset() 方法,傳入相對(duì)路徑即可,例如:
<link rel="stylesheet" type="text/css" href="{:asset('css/style.css')}">
這樣,模板文件就會(huì)自動(dòng)根據(jù)配置生成對(duì)應(yīng)的靜態(tài)文件路徑。當(dāng)然,這種方式只適用于前端開發(fā)者對(duì)控制器及配置文件不可見的場合。
總結(jié)