ホームページ >バックエンド開発 >PHPチュートリアル >SpeedPHP フレームワークの学習-1. 基本と MVC の理解

SpeedPHP フレームワークの学習-1. 基本と MVC の理解

WBOY
WBOYオリジナル
2016-06-13 13:09:591237ブラウズ

SpeedPHP フレームワークの学習-1. 基本と MVC の理解

SpeedPHP は、迅速な学習に基づいた PHP フレームワークであり、そのアーキテクチャは比較的単純で、学習曲線は比較的簡潔です。ここでは、CMS システムを例として、SP の使用プロセスを記録します。

SP 圧縮パッケージをダウンロードし、解凍してサーバーのルート ディレクトリに配置し、サーバーにアクセスします。 SP ディレクトリ内のファイルには、controller、model、SpeedPHP、および tmp ディレクトリが含まれます。SpeedPHP はシステム ファイル、Controller はコントローラ ファイルです。プログラムは、index.php

から実行を開始します。

<?php
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
define("APP_PATH",dirname(__FILE__));
$spConfig = array(
       "db" =>array(
              'host' =>'localhost',
              'login' =>'root',
              'password' =>'root',
              'database' =>'test',
       ),
       'view' => array(
              'enabled' =>TRUE,
              'config'=>array(
                     'template_dir'=> APP_PATH.'/tpl',
                     'compile_dir'=> APP_PATH.'/tmp',
                     'cache_dir'=> APP_PATH.'/tmp',
                     'left_delimiter'=> '<{',
                     'right_delimiter'=> '}>',
              ),
       )
);
require(SP_PATH."/SpeedPHP.php");
spRun();

上記のプログラムは、App と SP のパスを定義し、データベースとビュー層の構成を読み込み、SP のコア ライブラリ ファイルを読み込み、最後にシステム全体を実行します。上記のプログラムを実行すると、まずコントローラー ディレクトリに移動し、メイン クラスの下でインデックス メソッドを実行します。メインクラスのプログラムは以下の通りです:

<?php
class main extends spController
{
       function index(){
              $tpl  = $this->spArgs("tpl","green");
              $guestbook =spClass("guestbook");
              $this->results= $guestbook->findAll();
              $this->display("{$tpl}/index.html");
       }
       function write(){ 
              $guestbook =spClass("guestbook");
              $newrow =array( 
                     'name'=> $this->spArgs('name'),
                     'title'=> $this->spArgs('title'), 
                     'contents'=> $this->spArgs('contents'),
              );
              $guestbook->create($newrow);
              echo "<ahref=/index.php?c=main&a=index>return</a>";
       }
}    

メインメソッドのインデックス関数はデフォルトでindex.phpから呼び出されます。この例では、この関数は最初にテンプレート名パラメータ(tpl)を設定します。新しいモデルを作成します。モデルの findall メソッドを使用して、すべてのデータベース情報を検索します。最後に、tpl テンプレートを使用して結果を表示します。上記のコントローラー プログラムは spController クラスから継承する必要があり、メソッド名は呼び出されるアクションの名前です。プログラム内で明示的に呼び出される場合、パスはindex.php?c=main&a=writeになります。以下にモデルを示します。これはデータベース テーブルと同じ名前のクラス ファイルです。このモデルは spModel から継承し、主キーとテーブル名の属性を設定する必要があります。

<?php
class guestbook extends spModel
{
  var $pk = "id"; //每个留言唯一的标志,可以称为主键
  var $table ="guestbook"; // 数据表的名称
}

tpl テンプレート ディレクトリのindex.html ファイルの下にある次のプログラムを使用して、出力結果をフォーマットします。

<{foreach from=$results item=one}>
     <h4><{$one.title}></h4>
     <p><{$one.name}>:<br /><{$one.contents}></p>
<{/foreach}>
モデル内のクラスは、MVC的にはデータベース内の各テーブルに相当し、コントローラー内で操作されます。 html ファイルは、SP アーキテクチャではビュー層に相当し、TPL ファイル ディレクトリ内のファイルを表し、そのプログラム呼び出しとその他の操作はコントローラー層で完了します。制御層は、Controller ディレクトリ内のクラス ファイルに対応し、プログラムの中核となります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。