2016-08-31 3 views
1

私は、オブジェクト指向のソリューション、あるいは多少小さなバックエンド/管理プロジェクトのためにやりたいことを実現するために既に存在するフレームワークを探しています。ヘッダー/フッター/ etcphpに各ページのコンテンツを含めるにはどうすればいいですか?

例えば、プロジェクトはプロジェクトを管理するシステムです。そのため、すべてのページにヘッダー/フッター/メニューが表示されます。たとえば、2ページはprojects.phpとnotes.phpになります。単に「/プロジェクト/」または「/ノート/」

私も

//header.php 
<!-- Header Content Here --> 
include menu.php 

//projects.php 
include header.php 
<!-- My Projects Content Here --> 
include footer.php 

//notes.php 
include header.php 
<!-- My Projects Content Here --> 
include footer.php 

を、各ページへの私のリンクをしている:

は、私は通常ないでしょうこれらのページのヘッダーとフッターを含めるには/index.php?projects 『と『/index.php?notes』:「

//index.php 
include header.php 
include projects.php 
include notes.php 
include footer.php 

//projects.php 
if(isset($_GET['projects']) { 
<!-- My Projects Content Here --> 

//notes.php 
if(isset($_GET['notes']) { 
<!-- My Notes Content Here --> 

を、私のメニューのリンクがあること持っても試みまし』。

どちらも不快で、私にとっては流動的ではないようです。私はここで私の戦術をアップグレードしたいですが、それについて行く最善の方法がわかりません。

どのような方法が最適ですか?軽量で、これらを管理できるフレームワークはありますか?リンクを '/ projects /'と '/ notes /'にしておきたいのですが、projects.phpからコンテンツを呼び出してそのリンクのクリックに自動的に配置するオブジェクトを作成するだけです。

TLDR; - ヘッダー/フッター/ etcphpを 'include X'としてすべてのPHPページテンプレートファイルに手動で配置する必要はありません。私はそれが別に割り当てられていない限り、すべてのページがそれを必要としていることを知りたいと思います。

+0

である必要があり、メニュー内のリンクについては

if(!empty($_GET['page'])) { // Could add check to see if file exists $page = $_GET['page']; // Being "notes" or "projects" include 'header.php'; // Assuming this includes <head>, header, menu, functions etc. include $page.'.php'; // Makes notes.php or projects.php include 'footer.php'; } else { echo 'Someting went wrong'; } 

をプロジェクトまたはメモ。あなたのget()を右のPHPファイルをロードすることができます – SuperDJ

+0

それは私の2番目のソリューション、ちょうど逆のですか?同じ迷惑行為が存在するように見えますが、それはちょうど異なって書かれています。 –

+0

eveyファイルのif文を書く必要はありません。すべてのヘッダー、フッター、メニューファイルが同じ内容で構成されていると仮定します – SuperDJ

答えて

1

page.phpのような名前のファイルを作成します。に等しい `$ _GET [「ページ」]を`使用しないで、なぜそれがpage.php?page=notesまたはpage.php?page=projects

0

すべてのファイルは?あなたは本当にそれをしたいと思いますか?データがクラッシュする可能性があります。

しかし、あなたが主張する場合は、php.iniファイルを探して、あなたがすべてのプログラムからheader.phpのを削除しない場合ことをしなかったことを今auto_prepend_file http://php.net/manual/en/ini.core.php#ini.auto-prepend-file

auto_prepend_file header.php // For Example 

を見つける(または確認のinclude_onceを作りますが使用されている場合)、PHPのエラーが発生する可能性があります。

+0

物理的にはすべてのファイルではありません。何も表示しない実際の関数を含む "functions.php"のようなファイルもあります。 しかし、私はheader.phpを "type X"のすべてのページの先頭に追加したいと思います。 –

+0

これは、呼び出されるファイルにのみ適用され、存在するすべてのファイルに適用されるわけではありません。したがって、 'functions.php'をインクルードすると、' header.php'の2番目のコピーを取得しません。 – Forbs

関連する問題