thinkPHP学習1
2401 ワード
国産フレームthinkPHPは、MVCフレームで、このフレームは当初JAVAのstrutsフレームをシミュレートし、単一エントリファイルでJAVAのフィルタをシミュレートし、actionでSTRUTSのコントローラACTIONをシミュレートしたので、なぜ彼のMVCの中で、Mはmodelで、Vはviewで、controlはactionの原因です.
3.2.3バージョンでは、controlがCに変更されたのも、JAVA世界のspringMVCが流行し始めたため、springが使用するcontrolは、actionという定義を使用していないが、実際にはactionがcontrol自体を表すのに一定の誤解があり、controlはCなのか、なぜacitonが来たのか、頭がつかめない.
thinkphpが最も理解しにくいのは彼の訪問方式で、公式ドキュメントの上で説明するのは少し人を誤解して、官文によってきっと間違いがあって、官文がはっきり言っていないためです!
thinkphpのインストールは実は簡単で、requireのメインプログラムファイルさえあれば、いくつかの列のディレクトリを生成することができますが、URLと彼のcontrol、tplの関係は何ですか?官文の言うことはあまりにもあいまいですが、JAVAを使ったことがある人はみな官文に血を吐くほどだまされます!
官文、筋道をはっきりさせてもらえませんか!?
実際に使用した後、以下の点をまとめました.
1 thinkphpのインストール:
メインプログラムthinkPHPと同じディレクトリでadmin.phpまたは他の名前を作成できます
2、ファイルディレクトリ:
自動生成されるファイルディレクトリは
common:関数を書く場所
conf:データベース接続アドレスの構成などのプロファイル
lang:言語パッケージ、国際化
lib:action、modelはすべてこの中にあって、1つの比較的に重要な地方で、JAVAのlibとJARの包みがまったく異なっている概念です
runtime:実行時のキャッシュファイル
tpl:テンプレート、htmlファイル
3、アクセス方法:
URL:localhost/thinkphp/admin.php?m=Show&a=add
説明:ローカル/プロジェクトディレクトリ/先ほど作成した単一エントリファイル?model=クラス名&action=メソッド名
意味:単一エントリファイルadmin.phpのShowクラスに入るaddメソッド
強調:クラス名は大文字の冒頭で、小文字は見つからないことができて、これは私を苦しめて、午後をいじって、もとは大文字のクラス名だけを知っていて、小文字は知らない
infopathスタイルURL:localhost/thinkphp/admin.php/show/add
デフォルトと同じように、M Aは書かれていません.
4、書き込みクラス、書き込み方法:
thinkphpの作者はきっと1人の振り回すのが好きな人で、完璧主義者で、だからやっとこのような方式を考えてプログラムを制御して、全体のプログラムはすべてaction類を核心にして、1つのaction類は1つのページで、中の方法はこのページと関連する操作で、何が削除して調べて、これはとても国人の思考方式に合って、しかし多重性は高くありません.
ファイルを書く:lib/action/showAction.class.php
5、書き込みテンプレート:
ロードテンプレートについて説明しましたが、次のように書きます.
tpl/Show/cc.html
完了...
3.2.3バージョンでは、controlがCに変更されたのも、JAVA世界のspringMVCが流行し始めたため、springが使用するcontrolは、actionという定義を使用していないが、実際にはactionがcontrol自体を表すのに一定の誤解があり、controlはCなのか、なぜacitonが来たのか、頭がつかめない.
thinkphpが最も理解しにくいのは彼の訪問方式で、公式ドキュメントの上で説明するのは少し人を誤解して、官文によってきっと間違いがあって、官文がはっきり言っていないためです!
thinkphpのインストールは実は簡単で、requireのメインプログラムファイルさえあれば、いくつかの列のディレクトリを生成することができますが、URLと彼のcontrol、tplの関係は何ですか?官文の言うことはあまりにもあいまいですが、JAVAを使ったことがある人はみな官文に血を吐くほどだまされます!
官文、筋道をはっきりさせてもらえませんか!?
実際に使用した後、以下の点をまとめました.
1 thinkphpのインストール:
メインプログラムthinkPHPと同じディレクトリでadmin.phpまたは他の名前を作成できます
<?php
//
define('APP_NAME', ''); // ,
define('APP_PATH', './admin/');// THINKPHP admin
define('APP_DEBUG', true);// , ,
//
require( "../ThinkPHP/ThinkPHP.php");//
2、ファイルディレクトリ:
自動生成されるファイルディレクトリは
common:関数を書く場所
conf:データベース接続アドレスの構成などのプロファイル
lang:言語パッケージ、国際化
lib:action、modelはすべてこの中にあって、1つの比較的に重要な地方で、JAVAのlibとJARの包みがまったく異なっている概念です
runtime:実行時のキャッシュファイル
tpl:テンプレート、htmlファイル
3、アクセス方法:
URL:localhost/thinkphp/admin.php?m=Show&a=add
説明:ローカル/プロジェクトディレクトリ/先ほど作成した単一エントリファイル?model=クラス名&action=メソッド名
意味:単一エントリファイルadmin.phpのShowクラスに入るaddメソッド
強調:クラス名は大文字の冒頭で、小文字は見つからないことができて、これは私を苦しめて、午後をいじって、もとは大文字のクラス名だけを知っていて、小文字は知らない
infopathスタイルURL:localhost/thinkphp/admin.php/show/add
デフォルトと同じように、M Aは書かれていません.
4、書き込みクラス、書き込み方法:
thinkphpの作者はきっと1人の振り回すのが好きな人で、完璧主義者で、だからやっとこのような方式を考えてプログラムを制御して、全体のプログラムはすべてaction類を核心にして、1つのaction類は1つのページで、中の方法はこのページと関連する操作で、何が削除して調べて、これはとても国人の思考方式に合って、しかし多重性は高くありません.
ファイルを書く:lib/action/showAction.class.php
<?php
//Show ,Action , , , , , show ,m=Show
class ShowAction extends Action {
//add action ,a=add
public function add(){
// CC, TPL Show cc.html , cc, add.html, cc.html add.html
$this->display('cc');
}
}
5、書き込みテンプレート:
ロードテンプレートについて説明しましたが、次のように書きます.
tpl/Show/cc.html
<html> HTML </html>
完了...