MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PHPの基礎 - テンプレート方式のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PHPの基礎 - テンプレート方式
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == テンプレート方式とは、HTMLのデザイン部分とPHPのロジック部分を分離することである。<br> これにより、デザイナと開発者が別々に作業しやすくなり、コードの保守性も向上する。<br> <br> テンプレート方式を採用する主なメリットを以下に示す。<br> * コードの可読性向上 * メンテナンス性の向上 * チーム開発での作業効率向上 * デザインの一貫性維持が容易 <br> 代表的なテンプレートの実装方法を以下に示す。<br> * 基本的な分離方式 *: PHPファイルとHTMLファイルを分けて、includeで結合する。 * テンプレートエンジンの使用 *: Smarty、Twig等のテンプレートエンジンを使用する。 <br> なお、テンプレート方式を導入する場合は、プロジェクトの規模や要件に応じて適切な方法を選択することが重要である。<br> 小規模なプロジェクトの場合は基本的な分離方式で十分の可能性があり、大規模なプロジェクトではテンプレートエンジンの採用を検討する。<br> <br><br> == 基本的な分離方式 == PHPファイルとHTMLファイルを分けて、<code>include</code>文で結合する方法である。<br> <syntaxhighlight lang="php"> // index.php <?php $title = "Webサイトのタイトル"; $content = "ここに本文を入力する"; include 'template.html'; ?> </syntaxhighlight> <br> <syntaxhighlight lang="html"> <!-- template.html --> <!DOCTYPE html> <html> <head> <!-- 変数titleを使用する --> <title><?php echo $title; ?></title> </head> <body> <!-- 変数contentを使用する --> <?php echo $content; ?> </body> </html> </syntaxhighlight> <br><br> == レイアウトの共通化 == ヘッダ部やフッタ部では、共通部分を別ファイルとして管理することにより、保守性が向上する。<br> <br> <syntaxhighlight lang="php"> // header.php <!DOCTYPE html> <html> <head> <title><?php echo $title; ?></title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/css/style.css"> </head> <body> <header> <nav> <ul> <li><a href="/">ホーム</a></li> <li><a href="/about">会社概要</a></li> <li><a href="/contact">お問い合わせ</a></li> </ul> </nav> </header> </syntaxhighlight> <br> <syntaxhighlight lang="php"> // footer.php <footer> <div class="footer-content"> <p>© 2024 会社名 All Rights Reserved.</p> </div> </footer> <script src="/js/main.js"></script> </body> </html> </syntaxhighlight> <br> <syntaxhighlight lang="php"> // content.php (このファイルをトップページとする) <?php $title = "ページタイトル"; include 'header.php'; ?> <!-- メインコンテンツ --> <main> <div class="content"> <h1>ようこそ</h1> <p>これはメインコンテンツです。</p> </div> </main> <?php include 'footer.php'; ?> </syntaxhighlight> <br><br> == テンプレートエンジンの使用 == Smarty、Twig等のテンプレートエンジンを使用する方法がある。 これらは独自の構文を持ち、より柔軟なテンプレート制御が可能である。<br> <br> * Twigを使用する場合 <syntaxhighlight lang="php"> // index.php <?php require_once 'vendor/autoload.php'; $loader = new \Twig\Loader\FilesystemLoader('templates'); $twig = new \Twig\Environment($loader); echo $twig->render('template.twig', [ 'title' => 'Webサイトのタイトル', 'content' => 'ここに本文が入力する' ]); </syntaxhighlight> <br> <syntaxhighlight lang="twig"> {# template.twig #} <!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> {{ content }} </body> </html> </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:PHP]]
PHPの基礎 - テンプレート方式
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse