ホームページ  >  記事  >  PHPフレームワーク  >  Laravelでページインクルードを実装する方法

Laravelでページインクルードを実装する方法

PHPz
PHPzオリジナル
2023-04-23 09:16:19591ブラウズ

Laravel は、オープン ソースの PHP Web アプリケーション フレームワークです。シンプルでエレガントな MVC ベースの Web アプリケーション フレームワークです。これにより、Web 開発が大幅に簡素化され、開発者はビジネス ロジック レベルに集中できるようになります。あまり注意を払わないでください。他の基盤となるテクノロジーにも適用されます。この記事では、Laravel を使用してページインクルージョンを実装する方法を紹介します。つまり、ページを複数の小さなブロックに分割し、それらの小さなブロックを複数のページで同時に共有することで、コードの再利用性と使いやすさを大幅に向上させます。 . メンテナンス性。

なぜページを含める必要があるのでしょうか?

Web アプリケーションの継続的な開発に伴い、Web ページはますます複雑になり、ページ内の各モジュールもますます複雑になります。したがって、場合によっては、ページを複数の小さなブロックに分割し、これらの小さなブロックを複数のページで同時に共有し、それによってコードの再利用性と保守性を向上させる必要があります。このページには、直面している問題とその解決策が記載されています。

Laravel を使用してページ インクルードを実装する手順

Laravel フレームワークは非常に柔軟なビュー システムを提供するため、ページ インクルードを非常に簡単に実装できます。ページ インクルードを実装する手順は次のとおりです。

  1. パブリック ビュー ファイルの作成

まず、Laravel プロジェクトでパブリック ビュー ファイルを作成します。このパブリック ビュー ファイルには、複数のページ間で共有される複数の小さなブロックが含まれています。このパブリック ビュー ファイルは、リソース/ビュー/レイアウトに保存できます。

  1. これらの小さなブロックを使用する必要があるビュー ファイルに含める

パブリック ビュー ファイルに含まれる小さなブロックを使用する必要があるビュー ファイルでは、次のコード:

@extends('layouts.master')
@section('content')
    <!-- 这里是当前页面的内容 -->
@endsection

その中で、@extends ディレクティブは、このビュー ファイルがレイアウト/マスター ビュー ファイルを継承することを示し、@section ディレクティブは、コンテンツ領域を定義するために使用されます。現在のページ。

  1. パブリック ビュー ファイルで小さなブロックを定義する

パブリック ビュー ファイルで、次のコードを使用して、含める必要がある小さなブロックを定義します。

<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
</head>
<body>
    <div class="container">
        <header>
            @include('layouts.partials.header')
        </header>
        @yield('content')
        <footer>
            @include('layouts.partials.footer')
        </footer>
    </div>
</body>
</html>
ここで :

    @yield('title') は、title という名前の小さなブロックが定義されていることを意味し、パブリック ビュー ファイルの タグを置き換えるために使用されます。 <li>@yield('content') は、content という名前の小さなブロックが定義されていることを意味します。これは、パブリック ビュー ファイル内のページ コンテンツ部分を置き換えるために使用されます。 <li>@include('layouts.partials.header') は、header という名前の部分ビュー ファイルがインクルードされることを意味します。 <li>@include('layouts.partials.footer') は、footer という名前の部分ビュー ファイルがインクルードされることを意味します。 <li> </ul>これで、パブリック ビュー ファイル内で小さなブロックを定義する手順は完了です。 <p></p> <ol start="4"> 部分ビュー ファイルに小さなブロックの内容を定義します。 <li> </ol>最後に、部分ビュー ファイル (header.blade.php や footer.php など) に定義します。 Blade.php) コンテンツの小さな塊でも十分です。たとえば、header.blade.php では、次のように小さなブロックのコンテンツを定義できます。 <p></p> <pre class="brush:php;toolbar:false"><nav>     <ul>         <li><a href="{{ url(&#39;/&#39;) }}">Home</a></li>         <li><a href="{{ url(&#39;/about&#39;) }}">About</a></li>         <li><a href="{{ url(&#39;/contact&#39;) }}">Contact</a></li>     </ul> </nav></pre>この小さなブロックはナビゲーション バーを定義し、Laravel の URL ヘルパー関数を使用してリンクを生成します。 <p></p>これらの手順により、Laravel を使用してページ インクルードを実装するプロセスが完了します。 <p></p>概要<p></p>ページインクルージョンは非常に重要な Web 開発テクノロジです。Laravel フレームワークでは、ページインクルージョンを非常に簡単に実装できるため、コードの再利用性と使いやすさが大幅に向上します。この記事ではLaravelを使ってページインクルードを実装する方法を紹介しますので、皆様の参考になれば幸いです。 Laravel や Web 開発についてご質問やアイデアがございましたら、コメント欄にメッセージを残してください。一緒に話し合います。 <p></p><p>以上がLaravelでページインクルードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。</p></div><div class="nphpQianMsg"><a href="javascript:void(0);">php</a> <a href="javascript:void(0);">laravel</a> <a href="javascript:void(0);">mvc</a> <a href="javascript:void(0);">include</a> <a href="javascript:void(0);">继承</a><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="laravelでmysqlを閉じる方法" href="http://m.php.cn/ja/faq/524669.html">laravelでmysqlを閉じる方法</a></span><span>次の記事:<a class="dBlack" title="laravelでmysqlを閉じる方法" href="http://m.php.cn/ja/faq/524673.html">laravelでmysqlを閉じる方法</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="http://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ja/faq/407215.html" title="Laravel 環境セットアップ: Laravel を Alibaba Cloud または Tencent Cloud にデプロイする手順" class="aBlack">Laravel 環境セットアップ: Laravel を Alibaba Cloud または Tencent Cloud にデプロイする手順</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/407217.html" title="Lamp 環境構成: CentOS 6.3 上の Alibaba Cloud サーバー上の LAMP 環境構成" class="aBlack">Lamp 環境構成: CentOS 6.3 上の Alibaba Cloud サーバー上の LAMP 環境構成</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/407219.html" title="Ubuntu での Apache+PHP+MySQL+phpMyAdmin の簡単なインストール手順" class="aBlack">Ubuntu での Apache+PHP+MySQL+phpMyAdmin の簡単なインストール手順</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/407220.html" title="Ubuntu での Nginx + PHP + MySQL の簡単なインストール手順" class="aBlack">Ubuntu での Nginx + PHP + MySQL の簡単なインストール手順</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/407260.html" title="Laravelフレームワークのパイプライン設計パターンにおけるミドルウェアの基本的な動作原理" class="aBlack">Laravelフレームワークのパイプライン設計パターンにおけるミドルウェアの基本的な動作原理</a><div class="clear"></div></li></ul></div></div><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/ja/"><b class="icon1"></b><p>ホームページ</p></a></li><li><a href="http://m.php.cn/ja/course.html"><b class="icon2"></b><p>コース</p></a></li><li><a href="http://m.php.cn/ja/wenda.html"><b class="icon4"></b><p>に質問</p></a></li><li><a href="http://m.php.cn/ja/login"><b class="icon5"></b><p>私の</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/ja/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/ja/"><b class="icon1"></b><span>ホームページ</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/course.html"><b class="icon2"></b><span>コース</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/article.html"><b class="icon3"></b><span>記事</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/wenda.html"><b class="icon4"></b><span>に質問</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/dic.html"><b class="icon6"></b><span>辞書</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/course/type/99.html"><b class="icon7"></b><span>マニュアル</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/xiazai/"><b class="icon8"></b><span>ダウンロード</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/faq/zt" title="特集"><b class="icon12"></b><span>特集</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/ja/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/ja/" >ホームページ</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/article.html" class="hover">記事</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/wenda.html" >に質問</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/course.html" >コース</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/faq/zt" >特集</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/xiazai" >ダウンロード</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/game" >ゲーム</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/dic.html" >辞書</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>