目次
ディスカッションに返信(解決策)

アーキテクチャ上の混乱

Jun 23, 2016 pm 02:15 PM

この投稿は、muyuruhai によって、2013-07-15 10:54:01 に最終編集されました

皆さんこんにちは
私はかつて Web サイトを作成し、次のように使用していました

Index.php ホームページ

バックグラウンド ロジックには php ファイルがあります, ロジック .php

logic.php で記述
$action=_$POST[action]
switch $action
case check_userlogin
login(_$POST[username],_$POST[pwd])
case put_comment
put_comment(_$POST[Comment]);
...
end switch

このように、Logic.php は、さまざまな関数を実行するために呼び出されます。

最近 mvc フレームワークについて調べたので、原理は理解できましたが、深く掘り下げないとまだ少し難しいように感じます。
小規模なプロジェクトを実行している場合、このスイッチ構造は適切ですか? A用 フロントデスク AJAXを使用する場合、一般的には URL:logic.php
data:{action:update_commnet, commit:"HelloW"} を呼び出します この種の




遅すぎるのでいくつか教えてください提案

皆さんありがとうございます



ディスカッションに返信(解決策)

誰も返信しませんでしたが、私の質問の仕方が間違っているのでしょうか? 。 。

あなたの書き方はmvcルーティングと同じです
違いは、限られた(既知の)メソッドを扱っているのに対し、mvcルーティングは無制限のメソッドを処理できることです(メソッドの追加にルーティングコードを変更する必要はありません)

誰も答えませんでした、もしかして私の質問の仕方が間違っていたのでしょうか? 。 。

この方法は問題ありません。私もこのモードを使用しています
投稿者はこの方法について質問がありますか?

アクションが少ない場合は問題ありませんが、アクションが多すぎる場合は構成を選択することをお勧めします。

例:
$actions = array(
'check_userlogin' => 'login',
.....
);
$action=_$POST[action];

if(isset($actions) [ $action]) && function_exists($actions[$action])) {
$actions[$action](); }

書き方は mvc のルーティングと同じです

違いはやり方にあります。これは限定された (既知の) メソッドですが、mvc ルーティングは無制限のメソッドを処理できます (メソッドの追加にルーティング コードを変更する必要はありません)

これで終わりです。多くのアクションを定義する必要があり、もう 1 つのケースが必要になるのも不思議ではありません。毎回本当にありがたいことですが、小規模なプロジェクトではルートがそれほど多くない場合は、大きな問題にはなりません。
また、テンプレートエンジンを使用せずに、バックグラウンドでテンプレートファイルである EOT に独自のテンプレートフレームワークを作成しました

アクションが少ない場合は問題ありませんが、アクションが多すぎる場合は、設定オプションを作成します。


例:
$actions = array(
'check_userlogin' => 'login',
.....
);
$action=_$POST[action];

if(isset($actions) [ $action]) && function_exists($actions[$action])) {
$actions[$action](); }

そうですね、非常に興味深いですが、小規模なプロジェクトではあまり多くのアクションは必要ありません。でも、これはとても良さそうです。各関数名に対応するアクションだけで大丈夫です。アドバイスありがとうございます
ハタシーにあまり詳しくなく、CIとYIIを見た後、呼び出しを行ったり来たりするのは少し混乱するように感じたため、だから私はこの問題を抱えています

私は上記の人々の答えに同意します。

Rails の成功以来、すべてのフレームワークは、「規約は構成よりも重要である」という概念に従ってきました。

アクティブな構成ではなく、合意されたルールを使用するようにしてください。これにより、コードのスケーラビリティが向上し、その後のメンテナンスの作業負荷がさらに軽減されます。



if elseif を使用します

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP状況調査の発表

See all articles