対象:カスタマイズされたmvcフレームワークをベースに開発された案件(プロジェクト)
典型的なビジネス ロジック: E コマース: モール (JD.com)、B2C、C2C (淘宝網)、共同購入、フラッシュ セール、購入エージェント
コンテンツ管理: Sina ポータル、Youku ビデオ管理、ブログ投稿管理、Weibo
フォーラム:
私たちのニーズ、プロダクト管理のケース!ecshop に表示されるべきプロダクト管理の基本的な機能実装を参照してください。
ecshopは利用率が非常に高い電子商取引プラットフォーム(オンラインモールシステム)です。
PHPソースコードのアップロードとコピー データ作成 基本設定
ecshopのソースコードをダウンロードして解凍し、アップロードディレクトリをWebディレクトリにコピー(アップロード)します。ecshopの名前に変更することをお勧めします
ブラウザを使用して、ecshop ディレクトリのindex.phpにアクセスします。自動的にインストールインターフェイスにジャンプします (再インストールが必要な場合は、このアドレスを要求することもできます)
環境、一般的なニーズを確認してください: mysql拡張機能、gd拡張機能(画像処理拡張機能)
設定情報
データベースサーバー部分:
管理者情報:
テストデータをインストールします:
インストールが完了するのを待っています:
ヒント: PHP5.3X バージョンを選択することをお勧めします
データ構造の設計
コード化されたデザイン
一般的なコーディングは、二次開発とフレームワークベースの開発という 2 つの主要な方向に分かれています。
二次開発:既存製品(ビジネスロジック実装済み)に修正・アップグレードを加える開発手法。
利点: 高速で共通のビジネス ロジックが実装されています。
短所: カスタマイズが不十分。
代表的な製品:
電子商取引: ecshop、ecmall、shopex、zen-cart、oscommerce、Mai Jindou
コンテンツ管理: dedecms、empirecms、phpcms、drupal、wordpress
フォーラム: phpwind、discuz
フレームワーク開発:
フレームワークはビジネス ロジックを実装せず、基礎となるコードのみを実装します。
利点: 基礎となる関数コードを繰り返し記述する必要がなく、直接使用するだけで、高度にカスタマイズ可能です。
短所: サイクル時間が長い。
代表的なフレームワーク: ThinkPHP、Yii、Ci、Zend フレームワーク、symphony
PHP コードと HTML コードは同じファイル内に表示されます。
代表的なものは次のとおりです。
上部では、PHP が最初にすべてのビジネス ロジックを実装し、下部では HTML が表示スタイルを決定します。
または、PHP echo を直接使用して、必要な HTML コードを出力します。
| 2
3
4
5
6
7
8
9
|
'}>
データ処理やビジネスロジック処理を担うPHPコードと、表示エフェクト処理を担うHTML(CSS、JS)を分けて管理します。
典型的な実装: 表示を担当する HTML の関連部分を独立した HTML に分割します。PHP がビジネス ロジックを処理した後、HTML コードをファイルに読み込みます。
簡単に言うと、元の混合コードを2ページに分割することです。元の混合ファイルと同じ効果を得るには、これら 2 つのページを結合する必要があります。
例: match_list.html (表示) match_list.php (ロジック) './match_list.html' が必要です。
テンプレート: match_list.html を参照
HTML 関連のコードを使用して構造を表示し、動的コード PHP を使用してデータを表示します。このタイプのファイルは、プロジェクト内でテンプレート ファイルと呼ばれます。
要件: ブラウザー ユーザーのリクエストは、論理関数を担当する PHP ファイルをリクエストする必要があります。
ブラウザユーザーによるHTMLテンプレートファイルのリクエストを制限するにはどうすればよいですか?
2 つの典型的な実装方法:
| 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| > } $rows = $db->fetchAll($sql); }
|
| 2 3 4 5 6 7 8 9 10 11 12 13 14
|
>
" "
| 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <スパン<スパン <スパン //MatchModel.class.php/** * を操作するためのモデルクラス*/<スパン <スパンクラス<スパン MatchModel { <スパン /***/ <スパン戻りfetchAll($sql); }}
234567891011 1213
|
|
// |
| // $model_match = new MatchModel; $rows = $model_match->getlist>
|
|
| 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
**/
query($sql); }
|
2
34
5
67
|
|
|
| 2 3 4 5 6 7 8 9 10 11 12 13 14
|
} } }
23456789 | 101112 1314
1516 1718
|
|
|
*/ //
db->query($sql);db |
| 2 3 4 5 6 7 8 9 10 11
|
> ; "
コントローラー、コントローラー
23456789
|
|
対応する部分で正しいコントローラーコードを実行するだけです:
| 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
'; $model_match = new MatchModel; $rows = $model_match->getList(); } '; $model_match = new MatchModel; $model_match->delById( }
|
| 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
* */ * <スパン マッチリストアクション <スパン */ } } **/ } }
| <スパンエントリーファイル
2345 67 8910 | 11
|
| //
//$action();
<スパン演習、生徒リスト
2345>6
|
|
23456 7
|
|
|
|
< ?php < ?php |
|
|
23456
|
|
に呼び出すか
|
| 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| //// //< // $action_name();<スパン //>
|
テスト: localhost/six/index.php?c=Student&a=list localhost/six/index.php?c=Match&a=list
強調:
単一エントリの場合、すべてのユーザーリクエストは単一エントリファイルからリクエストする必要があります。
ディレクトリは2つのディレクトリに分かれています
フレームワークコードとビジネスロジックコードの違いを反映する
基本モデルと mysqlDB クラス定義ファイルをフレームワーク コードに配置します。
ビジネスロジックに対応するコントローラー、モデル、ビューファイルをアプリケーションディレクトリに配置します。
エントリ ファイル。通常はサイトのルート ディレクトリに配置されます。
プロジェクトで使用されるパスを変更する
| 2 3 4 5 6 7 8 9
|
/index.php エントリファイル /application アプリケーションディレクトリ フレームワークコードディレクトリ /Model. /MySQLDB.class.php MySQLデータベース操作クラス
|
http://www.bkjia.com/PHPjc/626634.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/626634.html技術記事目標: カスタマイズされた mvc フレームワークに基づいて開発されたケース (プロジェクト) 典型的なビジネス ロジック: e コマース: モール (JD.com)、B2C、C2C (淘宝網)、グループ購入、フラッシュ セール、購入代理店のコンテンツ管理: 新しい。 ..
|
|
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31
| |
| |