皆さんこんにちは
私はかつて 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 ルーティングは無制限のメソッドを処理できます (メソッドの追加にルーティング コードを変更する必要はありません)
これで終わりです。多くのアクションを定義する必要があり、もう 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 を使用します

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
