ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP5 で異なるディレクトリにある CSS ファイルを使用する方法

ThinkPHP5 で異なるディレクトリにある CSS ファイルを使用する方法

PHPz
PHPzオリジナル
2023-04-17 09:49:19770ブラウズ

ThinkPHP は、オープン ソースの PHP フレームワークであり、現在最も人気のあるフレームワークの 1 つであり、効率的な Web アプリケーション システムを迅速に構築するために使用できます。しかし、ThinkPHP で開発する場合、CSS ファイルを別のディレクトリに配置する必要がある場合があるため、ThinkPHP5 で別のディレクトリにある CSS ファイルを使用するにはどうすればよいでしょうか?

1. 設定ファイルで静的ファイル パスを定義する

ThinkPHP5 では、設定ファイル config.php に次の定義があります。 view_replace_str 配列の値は、異なるディレクトリの静的ファイル パスを定義します。このうち、__PUBLIC__ はパブリック ディレクトリへのパスを定義します。これは、CSS や JS などの静的リソース ファイルを配置できるデフォルトのパブリック ディレクトリです。 __STATIC__ は任意の静的ファイル ディレクトリを定義でき、

ROOT

はプロジェクトのルート パスを定義します。 静的ファイル パスを定義した後、以下に示すように、テンプレート ファイルでパス エイリアスを使用してそれを呼び出すことができます:

'view_replace_str' => [
    '__PUBLIC__'=>'/public',
    '__STATIC__'=>'/static',
    '__ROOT__' => '',
],

2. コントローラーで静的ファイル パスを定義します

コントローラーでは、静的ファイル パスを定義することもできます。具体的な実装方法は、コントローラーの初期化メソッドでエイリアスを定義することです。コードは次のとおりです:

<link rel="stylesheet" type="text/css" href="__STATIC__/css/style.css">

ここでは PUBLIC

CUSTOM という 2 つのエイリアスを定義し、対応するパスをフロントエンド ビューに渡します。テンプレートで静的ファイルを呼び出すときは、次のようなエイリアスを使用できます。

public function _initialize() {
    parent::_initialize();
    $this->assign('public', '/public');
    $this->assign('custom', '/custom'); // 自定义目录
}
異なるコントローラーで異なる静的ファイル パスを定義する必要がある場合は、各コントローラーで個別に定義できます。

3. パス構成に動的メソッドを使用する

構成ファイルとコントローラーでパスを定義するだけでなく、テンプレート ファイルでのパス構成に動的メソッドを使用することもできます。具体的な方法は、テンプレートで ThinkPHP によって提供されるasset() メソッドを使用し、相対パスを渡すことです。例:

<link rel="stylesheet" type="text/css" href="{$public}/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="{$custom}/css/style.css">

この方法では、テンプレート ファイルは、次のように対応する静的ファイル パスを自動的に生成します。構成に。もちろん、この方法は、フロントエンド開発者がコントローラーや構成ファイルから見えない状況にのみ適しています。

まとめ

上記は、ThinkPHP5 で異なるディレクトリにある CSS ファイルを使用する方法であり、設定ファイル、コントローラー、動的モードのいずれの場合でも、パスのエイリアスを定義できます。静的リソース ファイルをより簡単に管理できます。

以上がThinkPHP5 で異なるディレクトリにある CSS ファイルを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。