I mean, PHP is technically a server-side language right?
はい、そうです。(ローカルで使用することもできますが、コンパイルしてデスクトップアプリのバイナリなどを生成することもできます。)
So does the fact that PHP can generate "View" elements change its role in the programming pattern?
いいえ。コアとなる「ビュー」の概念は、アプリケーションの他の部分からの分離です。理想的には、「表示」レイヤーにビジネスロジックやデータベースクエリなどがないことです。例:最初に、すべての計算と操作を行います。最後のステップとして、結果を出力用の「ビュー」に変換します(HTML、XML、またはJSONなど)。SQLクエリと「echo」ステートメントを混同することはありません。
Do I have it right that this is the controller?
説明では、2つの異なるものがあります。1つは「ルーター」と呼ぶことができます。これは、HTTPリクエストに基づいて呼び出す関数/メソッドを決定する場所です。
この場合の「コントローラー」は、データベースの読み取り/書き込み関数とビュービルド関数を呼び出す関数です。コントローラはモデルと対話し、出力を提供します。これは、データベースと対話する必要があるモデルです。
I am assuming that the model is the set of functions and classes I call periodically?
モデルは通常、データベースの読み取りと書き込みを行う関数のグループです。これが実際の主な使用法です。しかし、これは「モデル」の定義ではなく、最も一般的な形式にすぎません。
例:商品を販売する仮想店舗がある場合。次に、「製品」モデル、つまり、データベースへの新製品の挿入、製品情報の更新、その価格の計算、「製品」で実行する可能性のあるその他すべてを処理するクラスが作成されます。 "。これらの方法は、あらゆるコントローラー、あらゆるルート、あらゆるビューで機能する必要があります。これは、責任のパターン分離/編成の1つの目標です。同じストアモデルを使用して、まったく新しいフロントエンドWebサイトを作成できるはずです。
whether or not a programming pattern can apply to more than one programming language even though one is client-side and another is server-side.
はい。1つのアプリケーションで多くの異なる言語を使用します:HTML、JavaScript、PHP、SQLなど。アプリケーション全体が一連のパターンに従うことができます。各言語を使用して、パターン内で1つ以上の役割を実行できます。
Am I even following a programming pattern? If I am not or am somewhat close to one, does it matter if I am not following a pattern exactly?
はい、そうです。名前がなくても、「自分のパターン」を踏襲していても、確かに何らかのパターンを踏襲していなければ、アプリケーションを構築できないと思います。このパターンは、MVC、ABC、XYZ、CSMなどです。もちろん、概念を学べば、これらの概念を使用して他の開発者とアプリケーションコードについて話すことができます。学ぶのは確かに良いことですが...
いいえ、パターンに正確に従わなくても「問題ありません」。あなたは、新しい、強化された、より良いパターンを作成することになるかもしれません!時々、あるパターンへの適合を心配することはあなたの創造性を混乱させるかもしれません。必要以上に心配する必要はありません。
そうは言っても、あなたは正しくやっていて、知りたい、理解したい、そしてこれらのパターンとその概念をマスターすることさえしていると思います。MVCは、プログラマーが理解するための重要なことです。良い先生がお手伝いします。素敵な本や記事を読む。ここSOでの質問と回答。いくつかのGoogleの調査...そして何よりも、コーディングの経験。到達するための実用的な目標、コーディングするアプリ、実際に学んだことを適用する場合は、徐々にそれらを理解するようになります。