第二课 

WBOY
リリース: 2016-06-13 12:01:15
オリジナル
944 人が閲覧しました

ThinkPHP レッスン 2 フレームワーク MVC ディレクトリと URL アクセス方法

レッスン 2 フレームワーク MVC ディレクトリと URL アクセス方法

1. 説明:

ThinkPHPMVC に基づいたフレームワークです。フレームワーク ディレクトリを理解すると、階層化をよりよく理解し、ThinkPHP を習得できるようになります。 URLアクセスは、Cのフレームワーク(MVC)のコントローラーにアクセスすることです。 ) には合計 4 つのメソッドがあり、 フレームワークの C はサブモジュール の役割を果たします。

url4 アクセス方法:

1 .PATHINFO モード -- ポイント! ! ! ! ! !

http://ドメイン名/プロジェクト名/ エントリファイル/モジュール名/メソッド名/キー 1/1/キー2/2

2. 通常モード

http://ドメイン名/ プロジェクト名/エントリファイル?m=モジュール名&a=メソッド名&キー1=1&キー 2=2

3.REWRITEモード

http://ドメイン名/プロジェクト名/モジュール名 /メソッド名/キー1/1/キー 2/2

4.互換モード

http://ドメイン名/プロジェクト名/エントリ ファイル? s=モジュール名/メソッド名/キー1/1/キー2/2

2. コアコンテンツ:

1. ThinkPHP フレームワークは、MVC ディレクトリ

V (ビュー層) に対応します: thinkphp HomeTpl

M (モデル層): thinkphpHomeLibModel

C (コントローラー): thinkphpHomeLibAction

2. URLアクセス方法(4種類)

(1) エントリファイルフルネーム+コントローラクラスプレフィックス名+コントローラーコアメソッド名

thinkphp/index.php/Index/index( PATHINFO 方法)



(2) 通常モード

(3)REWRITEモード

(4) 互換モード

3. アプリケーション構成


3. プロジェクトの例:

パラメーター アクセス コントローラー インスタンス (キーと値のペア)


4. ファイルパス:

5. 発生した問題:

6. ドキュメント:

ThinkPHP config.php詳細な設定ファイルの紹介

return array(

//テンプレート設定
//------------------------------------- ----------------------------------------
"TMPL_DETECT_THEME" => false , //テンプレート テーマを自動的に検出します
"TMPL_TEMPLATE_SUFFIX" =>'. , //デフォルトのテンプレート ファイル サフィックス
"TMPL_CACHFILE_SUFFIX"=>'.php', //デフォルトのテンプレート キャッシュ サフィックス
"TMPL_PARSE_STRING" => '', //テンプレート エンジンによって自動的に置換される文字列は、配列の形式である必要があります。例: array('__MYPATH__'=>Lib_PATH,...)
"TMPL_ACTION_ERROR" =>'Public:error ' , //エラー ジャンプ テンプレート ファイル
"TMPL_ACTION_SUCCESS" =>'Public:success', //成功したジャンプ テンプレート ファイル
"TMPL_TRACE_FILE" =>THINK_PATH.'/Tpl/PageTrace.tpl.php', //ページ トレース テンプレート ファイル
"TMPL_EXCEPTION_FILE" =>THINK_PATH.'/Tpl/ThinkException.tpl.php', //例外ページのテンプレート ファイル
"TMPL_ENGINE_TYPE" => 'Think', //デフォルトのテンプレート エンジン
//次の設定は、Think テンプレート エンジン
を使用する場合にのみ有効です。
"TMPL_DENY_FUNC_LIST" =>'echo,exit', //テンプレート エンジン無効化関数
"TMPL_L_DELIM" => ; '{', //テンプレートエンジン通常タグ開始タグ
"TMPL_R_DELIM" =>'}', //テンプレート エンジン共通タグ終了タグ
"TMPL_VAR_IDENTIFY" =>'array', //テンプレート変数識別左空の自己理解判断 配列 配列 オブジェクト オブジェクト
" TMPL_FILE_DEPR" =>'/', //テンプレート ファイル間の区切り文字MODULE_NAMEではなくACTION_NAMEのみプロジェクト グループのデプロイメントに有効
"TMPL_STRIP_SPACE" =>false, //テンプレート内の htmlスペースによる改行はありません
"TMPL_CACHE_ON" =>true, //テンプレート コンパイル キャッシュはデフォルトで有効です false の場合、
"TMPL_CACHE_TIME" => -1, // ごとにテンプレートを再コンパイルします。テンプレート キャッシュの有効期間 -1 永続的な単位は秒です
"TAGLIB_BEGIN" =>'<' , //タグ ライブラリ タグの開始タグ
"TAGLIB_END" =>'>', //タグ ライブラリ タグの終了タグ
"TAGLIB_BUILD_IN" =>'cx', //組み込みタグ ライブラリ名 複数のタグ ライブラリを分離して独自のタグ ライブラリを追加できますカンマ付き
"TAGLIB_PRE_LOAD" =>'', //プリロードされたタグ ライブラリ、各テンプレートで使用する必要はありません taglibタグの読み込み、複数はカンマで区切ります
"TAG_NESTED_LEVEL" =>3 //タグのネスト レベル

//-------------------------------------- --- ----------------------------------
/ /アプリケーション構成
//--------------------- --- --------------------------------------------------- --- ----
"APP_GROUP_DEPR" =>'.', //モジュール グループ間の区切り文字
"APP_GROUP_LIST" =>'', //プロジェクト モジュールのグループ化リスト。複数のグループはカンマで区切ります。例: 'Admin,Home'
"APP_CONFIG_LIST" =>array('taglibs','routes','tags','htmls','modules','actions') , // プロジェクト拡張設定ファイルのリスト
"APP_DOMAIN_DEPLOY" =>false, //プロジェクトのデプロイに独立したドメイン名を使用するかどうか、プロジェクト ディレクトリ自体が Web サイトのルート ディレクトリである場合にのみ

を有効にします

//-------------------------------------- --- ----------------------------------
/ /URL構成
//--------------------- --- --------------------------------------------------- --- ----
"URL_MODEL" =>1, //URLモード: 0 通常モード 1 PATHINFO 2 REWRITE 3 URL_DISPATCH_ONがオンの場合に互換モードが有効です
// デフォルトの Pathinfo モードは、最高のユーザー エクスペリエンスと SEO サポートを提供します

"URL_PATHINFO_MODEL" =>2, //PATHINFO
モード、スマートデフォルトではモードが使用されます
module/a/action/id/1
モジュールとオペレーション /module/action/id/1/ または /module,action,id,1/...
"URL_PATHINFO_DEPR" =>'/', //PATHINFOパラメータ間の区切り番号
"URL_ROUTER_ON" =>true, //
URL
ルーティング
を有効にするかどうか"URL_HTML_SUFFIX" =>'.av', //
擬似静的サフィックス設定 (
.shtml など) "URL_CASE_INSENSITIVE" =>false, //URL が大文字と小文字を区別しないかどうか、デフォルトでは大文字と小文字が区別されます


//---------------------------- - ---------------------------------------
//ログ設定
//---------- --------- -------------------------------------- -------- --------
"LOG_RECORD" =>false, //Web サイトのログを記録するかどうか、デフォルトではログは記録されません
"LOG_RECORD_LEVEL" =>array('EMERG','ALERT','CRIT','ERR'), // 許可されるログ レベル記録
"LOG_FILE_SIZE" =>2097152, //ログ ファイルのサイズ制限、ファイルベースのログの場合、超過した場合、バックアップ ファイルが作成されます。自動的に生成されます


//---------- ----- -------------------------------------- ----- -------------
//設定エラー
//----------------------------------------------------- ---- ----------------------------
"ERROR_MESSAGE" =>' 閲覧しているページに一時的なエラーがあります。後でもう一度お試しください~', //エラー表示情報は非デバッグモードで有効です
" ERROR_PAGE" =>'', //エラー リダイレクト ページ。完全な URLアドレス

を入力する必要があります


//---------------------------- - ---------------------------------------
//データベース構成
//---------- --------- -------------------------------------- -------- --------
"DB_CHARSET" =>'utf8', //データベース エンコーディング、デフォルトは utf8
"DB_DEPLOY_TYPE" =>0, //データベース展開方法: 0 集中型 (単一サーバー) 1 分散 (マスター/スレーブ サーバー)
"DB_RW_SEPARATE" =>false, / /データベースの読み取りと書き込みが分離されているかどうか、分散データベース モードで有効です
" DB_FIELDS_CACHE" =>true, //データ テーブル フィールドのキャッシュを有効にする
"DB_TYPE" =>'mysql', // データベース タイプ
"DB_HOST" =>'localhost', //データベース サーバー アドレス
>', //
データベース ユーザー名
"DB_PWD" >
"DB_PORT" =>3306, / /データベースで使用されるポート
"DB_PREFIX" => ;'think_', //データベースのテーブルプレフィックス
"DB_SUFFIX" =>'', //データベースのテーブルサフィックス
"DB_FIELDTYPE_CHECK" =>false, // フィールドタイプチェックを実行するかどうか


//---------------------------- - ---------------------------------------
//静的キャッシュ構成
//--------- --------- -------------------------------------- -------- ---------
"HTML_FILE_SUFFIX" =>'.shtml', // デフォルトの静的ファイルのサフィックス
"HTML_CACHE_ON" =>false, //静的キャッシュはデフォルトでオフになっています
" HTML_CACHE_TIME" =>60, //静的キャッシュの有効期間
"HTML_READ_TYPE" =>1, / /静的キャッシュの読み取りメソッド 0 読み取りファイル 1 リダイレクト


/ /------ ------------------------------------------ -------- ------------------
//データ キャッシュ構成
//-------------------------------------- ------------ --------------------------------------
"DATA_CACHE_TYPE" =>'File', //サポートされるデータ キャッシュ タイプ File Db Apc Memcache Shmop Sqlite Xcache Apachenote Eaccelerator
"DATA_CACHE_PATH" =>TEMP_PATH //キャッシュ パス設定 ( ファイル モード キャッシュのみ有効です)
"DATA_CACHE_TIME" =>-1, //データ キャッシュの有効期間
"DATA_CACHE_COMPRESS" =>false, //データ キャッシュがキャッシュを圧縮するかどうか
"DATA_CACHE_CHECK" =>false, //データ キャッシュがキャッシュを検証するかどうか
"DATA_CACHE_SUBDIR" = >false, //サブディレクトリ キャッシュを使用する (キャッシュ ID のハッシュに基づいてサブディレクトリを自動的に作成します )
"DATA_PATH_LEVEL" =>1, //サブディレクトリのキャッシュ レベル


//---------------------------- - ---------------------------------------
//実行時設定
//--------- ---------- -------------------------------------- ---------- --------
"SHOW_RUN_TIME" =>false, //実行時間表示
"SHOW_ADV_TIME" =>false, //詳細な実行時間を表示、SHOW_RUN_TIME 有効な場合に有効
"SHOW_DB_TIMES" =>false, //データベースの読み取りと書き込みの数を表示します
"SHOW_CACHE_TIMES" =>false, //キャッシュの読み取りおよび書き込み時間を表示します
"SHOW_USE_MEM" => false, //メモリのオーバーヘッドを表示します
"SHOW_PAGE_TRACE" =>false, //表示ページトレース 情報は トレース ファイルと アクション 操作の割り当て
"SHOW_ERROR_MSG" =>true, //エラー発生時にエラーメッセージを表示


//- ---------------------------------------------- --- ---------------------------------
// Cookie設定
//------------------------ - ------------------------------------------------- - -----
"COOKIE_EXPIRE" =>3600, //Coodie有効期間
"COOKIE_DOMAIN" =>'', //Cookie有効なドメイン名
"COOKIE_PATH" =>'/', / /Cookieパス
"COOKIE_PREFIX" =>'', //競合を避けるための Cookie プレフィックス

//-------------------------------------- --- ----------------------------------
/ /トークン検証構成
//--------- ----- -------------------------------------- ----- ------
"TOKEN_ON" =>true, //トークン検証を有効にするかどうか
"TOKEN_NAME" =>'__hash__', //トークン検証フォームの隠しフィールド名
"token_type"/--------------------------------------------------------------------------------- ---- -----------------------------

//

デフォルト値の構成
//------------------------ --- --------------------------------------------------- ---
"DEFAULT_APP" =>'@', //デフォルトのモデルクラスが配置されているプロジェクトの名前 @
現在のプロジェクトを示します
"DEFAULT_GROUP" =>'Home', //デフォルト グループ "DEFAULT_MODULE" =>'Index', //デフォルトのモジュール名
"DEFAULT_ACTION" =>'index ', //デフォルトの操作名
"DEFAULT_THEME" =>'default', //デフォルトのテンプレートテーマ名
"DEFAULT_LANG" =>'zh-cn', //デフォルトの言語
"DEFAULT_TIMEZONE" =>'PRC', //デフォルトのタイムゾーン
"DEFAULT_AJAX_RETURN" = >'JSON', //AJAX データ戻り形式
JSON XML ...
"DEFAULT_CHARSET" => 'utf-8', //
デフォルトのページ出力エンコーディング


//---------------------------- - ---------------------------------------
//システム変数設定
//--------- --------- -------------------------------------- -------- ---------
//次の変数設定は主に URL は、プロジェクト内の URL およびフォーム パラメーターと競合してはなりません。競合しないと、エラーが発生しやすくなります。
"VAR_PATHINFO" =>'s', //PATHINFO ?s=/ などの互換モード取得変数module /action/id/1
"VAR_GROUP" =>'g', //デフォルトのグループボリューム
"VAR_ROUTE" =>'r', //デフォルトルート取得変数
"VAR_MODULE " =>'m', //デフォルトモジュールは変数を取得します
"VAR_ACTION" =>'a', //デフォルトの操作では、変数
"VAR_PAGE" =>'p' を取得します。 //デフォルトのページング ジャンプ変数
"VAR_TEMPLATE" =>'t', //デフォルトのテンプレート切り替え変数
"VAR_LANGUAGE" =>'l', //デフォルトの言語切り替え変数
"VAR_AJAX_SUBMIT" =>'ajax', //デフォルトAJAX変数の送信

//------------------------------------------ ---- ----------------------------------
// 言語とタイムゾーン
//------ -------- -------------------------------------- -------- -
"LANG_SWITCH_ON" => false >);

?>

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート