- require 'command/config.php';
- app::run($config)?>
-
- システム構成ファイルをロードし、エンジンを通じてシステム構成をロードします。
-
-
2. エンジン
public function run($config){ header("Content-type:text/html;charset=utf-8"); self::$config = $config ; //システム設定をロードします self::copyright(); //システム環境 self::setsystem(); //システムパラメータを設定します self::incinfo(); !IN_WEB){exit('Web サイトはメンテナンスのため閉鎖されています。後でアクセスしてください!');} - define('KEHENG_DEBUG') または define('KEHENG_DEBUG',true) // デバッグ モードにするかどうか
- self::setpath ( ); // システムパスを設定します
- self::getdatabase(); // データベースをテストします
- self::getRouteConfig(); // ルートを実行しますコントローラー
- }
-
- コードをコピー
- まず、構成ファイルを設定し、次にシステムパラメータをテストし、システムモジュールをロードし、構成されているWebサイト情報ファイルを取得し、Webサイトに必要なパスを設定し、システム構成でデータベースパラメータを指定し、ライブラリファイルをロードし、最後にリクエストアドレスを取得するルートをロードします。
上記の処理はあくまで私が学習して書いたものですが、キャッシュが不足しています。具体的にはどのようにキャッシュを設定すればよいのでしょうか。
ここでのデータベース テストは、構成されているデータベースのタイプに基づいて行われ、そのタイプのデータベースの操作用のカプセル化ファイルがロードされます。
-
- 3. ルーティング
以下は上記の最後の関数で、コントローラー ファイルをロードし、設定ファイルに従ってリクエスト メソッドを取得します。
/**路由 @link http://bbs.it-home.org*/public function getRouteConfig(){ $route_type=self::$config[route][url_type]; switch($route_type){ ケース 1: //echo $_SERVER['SCRIPT_NAME'].' '; - $query_string=$_SERVER['QUERY_STRING'];
- //echo $_SERVER['REQUEST_URI']; ;br />';
- $urlstr=$_GET['コントローラー'];
- ケース 4:
- $url = end('/', $_SERVER["PHP_SELF"])); urlstr = strto lower(substr($url,0,-4));
- break;
- if(file_exists(Contr_DIR.'Controller.php')){
- require Contr_DIR.'Controller.php'; $urlstr;
- $template = self::$config['テンプレート'];
- controller::load($urlstr,$template);
- exit('コントローラファイルが存在しません'); }
-
-
- コードをコピー
-
-
-
-
- 4. コントローラー
-
-
コントローラー ファイルも非常に単純で、ルートによって分析されたアドレスに基づいてモデル ファイルとビュー ファイルをロードするだけです。
-
-
-
-
-
- /**
- コントローラー
- @link http://bbs.it-home.org */クラスコントローラー{ public $obj; パブリック関数load($url,$template){ $config=$template; file_exists(Model_DIR.$url.'.model.php')){
$views = 新しいビュー //echo Model_DIR.$url.'.model.php'; require Model_DIR.$url.'.model. php'; $temp = $config[$url][0]; if($temp!='' && $temp!=null && isset($temp)){ if(file_exists(Templ_DIR.$temp) ){ //echo Templ_DIR.$temp; require Templ_DIR.$temp; exit('ビュー ファイルが存在しません!' - }
- }else{
- exit('このページ表示テンプレートを設定します! '.$temp);
- }else{
- exit('モデル ファイルが存在しません:'.$url.'.model.php'); }
- }
- }
-
-
-
- コードをコピー
-
-
- 注:
モデル ファイルに出力する必要があるすべてのデータは、パッケージ内のビュー ファイル内のすべてのシステム パラメーターを含め、ビューなどのクラスを通じて出力されます。
この方法は不要なのかと思いますが、出力するデータをすべてカプセル化したいことがわかりました。
他のテンプレート ファイルもクラスでカプセル化されます。
MVC でキャッシュをどのように書くかについては、データを読み取るときに、キャッシュを読み取り、キャッシュが存在するかどうかを判断し、次にキャッシュを確立する必要があるかどうかを判断するという方向でよいでしょうか。
専門家の指導を期待して、スクリプト アカデミーの公式 QQ グループ (161228069) に参加してディスカッションに参加してください。
-
-
-
-
-
-
-
-
-
-
-
|