この記事では、PHP を使用して MVC パターンで開発されたファイルを実装する方法を紹介します。 MVC モデルに関する技術記事はインターネット上のどこでも入手できるため、このドキュメントではこのモデルの長所と短所については説明せず (実際には明確には言えません)、その PHP テクノロジの実装についてのみ説明します。今後の一連の記事では、テクノロジーにも焦点を当てていきます。
1. 統一されたWebサイトの入り口を実装する(MVCのController層メソッド、つまりコントロール層を呼び出す)
このようなパスはインターネット上でよく見かけます(http://www.aaa.com/) aaa /bbb/aaa?id=5)、これは不可解です。このような Web サイトを実装するには、いくつかの可能性があります。
1. ファイルの拡張子を隠す このアプローチの利点についてはさまざまな意見がありますが、私は個人的には次のように考えています。必要ありません。
2. Web サイトのリダイレクト ルールを使用して仮想パスを実現します。
3. 強制ファイル解析を使用して仮想パスを実現します。
23 番目の方法を使用して、Web サイトの統一インターフェイスを実現し、Web サイトを合理的に統合し、Web サイトのセキュリティとアーキテクチャをより適切に反映します。これらの 2 つの方法を使用するほとんどの Web サイトは、「MVC」モデルを使用して構築および実装されます。
以下は一例です
アクセスパスは以下の通りです
…/test/*******/Bad
…/test/*******/Good
(ここで「&*」 *" は任意の文字列に置き換えることができます。"...." は Web パスです)
ファイルのディレクトリ構造は次のとおりです
|-- .htaccess
|-- test
|- - Application.php
| -- Controler/GoodControler.php
|-- Controler/BadControler.php
Windows では直接作成できないファイル ".htaccess" は、コマンド ライン モードで作成できることに注意してください。
ファイル 0 :(.htaccess) (このファイルはApacheの設定方法を変更するために使用します)
forcetype application/x-httpd-php
file test.php
/*-- --------------------------------------
* test.php
*
* あなたとしてウェブサイト入口ファイル
* 初期化と入力に使用されます
* コントローラー呼び出しを実行するための呼び出し
*
------------------------ -- --------*/
require "Application.php";
$aa = new Application();
$aa->parse();
$aa->go();
? >
ファイル GoodControler.php
/*-------------------------------- -- ---
* GoodControler.php
*
* url=/test/Good
からのアクセスを制御するために使用されます *
--------------------- --- -------------*/
class GoodControler{
/*
* 制御类的调用メソッド,唯一の报漏给外部接続口
*/
function control(){
echo "これは GoodControler の url=&&*/test/Good";
}
}
?>
ファイル BadControler.php
/*----- --- --- -----------------------------
* BadControler.php
*
* url=/test/Bad Visit を制御するために使用されます
*
--------------------------------------*/
class BadControler{
/ *
* コントロールクラスの呼び出しメソッドは外部に報告される唯一のインターフェイスです
*/
function control(){
echo "これは GoodControler からのものです url=&&* /test/Bad";
. }
?>
ファイル Application.php
/*---------------------- ----------- -------
*Application.php
*
* Web サイトへの統一された入口を実装するために使用され、Controller クラスを呼び出します
*
------ ----------------------- ------------------*/
クラス アプリケーション{
//実行される操作を記録するために使用されます
var $action;
//コントローラーファイルのパス名
var $controlerFile ;
//コントローラーのクラス名
var $controlerClass;
function Application(){
}
function parse(){
$this->_parsePath();
$this->_getControlerFile( );
$this->_getControlerClassname();
}
/*
* 現在のアクセス パスを解析し、実行されるアクション
*/
function _parsePath(){
list($path, $param) =explode("?" . アクション $action、$action で使用されるコントローラー ファイルのパスを取得するために解析します
*/
function _getControlerFile(){
$this->controlerFile = "./Controler/".$this->action."Controler .php";
if(!file_exists($this->controlerFile))
die("コントローラー ファイル名 (".$this->controlerFile.") 解析エラー");
;
}
/*
* アクション $action を通じて、$action で使用されるコントローラー クラス名を解析します。
*/
function _getControlerClassname(){
$this->controllerClass = $this->action." コントローラー";
if(!class_exists($this->controlerClass))
die(" コントローラーのクラス名 ( ".$this->controlerClass.") 解析エラー");
* / *调 *コントローラーを呼び出して、コントローラーのアクションを実行します
* /
Function GO () {
$ C = New $this- & gt;
$ C-& GT; >
次のセクションでは引き続き、PHP での MVC モデル開発について説明します。
http://www.bkjia.com/PHPjc/486163.html

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック









