一連の機能を1ファイルで完結します。

Webシステムの動作は、画面入力、処理、結果表示
という一連の動作が基本となります。

これらをそれぞれ別のプログラムファイルとして作成することも可能ですが、
「ワンファイル完結構造」では、1つのプログラムファイルとして実装します。

複数ファイル構造(入門講座によくある形式)

a.php
<?php
//---------------------
// 入力画面
//---------------------
print "
<form action=b.php method=post>
<input type=text name=data1> + <input type=text name=data2> 
<input type=submmit value='送信'>
</form>
";
?>
b.php
<?php
//---------------------
// 処理および出力画面
//---------------------
$kotae = $_POST[$data1] + $_POST[$data2];
print "答えは $kotae です。<br>\n"
?>

ワンファイル完結構造(推奨形式)

ab.php
<?php
$self = basename($_SERVER['PHP_SELF']); // ab.php
$sub_go = uForm("sub_go");
//---------------------
// 入力画面
//---------------------
if ("" == $sub_go) {
print "
<form action=$self method=post>
<input type=text name=data1> + <input type=text name=data2> 
<input type=submmit value='送信' name=sub_go>
</form>
";
}
//---------------------
// 処理および出力画面
//---------------------
if ("" != $sub_go) {
$kotae = $_POST['$data1'] + $_POST['$data2'];
print "答えは $kotae です。<br>\n"
}
//---------------------
// インライン共通関数
//---------------------
// フォーム変数の受取。存在しない時は空文字を返す
function uForm($var) {
  if (isset($_POST[$var])) return $_POST[$var];
  if (isset($_GET[$var])) return $_GET[$var];
  return "";
}
?>

メリット1 見通しの良さ

インライン共通関数でもあげているが、一番のメリットは見通しの良さです。
一連の処理が1つのファイルで書かれているために、全体像を把握したり、
関連する処理を探したりするのが容易になります。
ファイルの中身が長くなるので、初心者の人には少し難しくなるかも知れませんが、
論理的な構造としては処理毎に分割されているため、経験のあるプログラマであれば、
全く問題ないと言えるでしょう。

メリット2 修正の容易さ

何かをメンテナンスするときに、関連する一連の処理を同時に変更することができます。
例えば、入力画面に項目を追加した時には、内部処理や出力の部分も修正することになりますが、
それが別ファイルになっていることに比べると、同じファイルで一緒に修正できることは、
作業の効率性にもつながりますし、修正漏れなどを防ぐことにも役立ちます。

メリット3 テスト・移行の容易さ

一連の機能を1つのファイルで実現していれば、
機能追加などの修正を1つのファイルの変更で済ますことができます。
例えばそのファイルをxxx_test.phpというような名前で別名保存することによって、
特別なテスト環境を作らなくても、容易にテストプログラムを実行することができます。
(特に参照系の場合は非常に便利です。)
そして内部で呼び出す自分のプログラム名に以下のコードを使用することで、
プログラムの修正をすることなく本番プログラムとテストプログラムを共存させることができます。
$self = basename($_SERVER['PHP_SELF']);

テストが終了した後には本番反映を行いますが、
1つのメンテナンス案件で複数のファイルを更新していると、
移行漏れやバージョンの整合性のずれなどが発生しやすく、
移行トラブルを起こしやすくなります。
その点、1つのファイルで完結していると、
移行や移行戻しなども安全で簡単に行うことができます。

メリット4 バージョン管理の容易さ

gitなどのバージョン管理ソフトでは、複数のファイルの更新に対して、
バージョン番号をつけるなどの機能がありますが、
自社用の業務システムに適用するには、環境設定やルール作りなどで
返って手間がかかってしまいます。
できるだけワンファイルでメンテナンスが完結していれば、
そのファイルに日付やバージョンをつけて保存しておくだけで、
履歴管理が簡単に出来ます。