乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      自已編寫基于MVC的php超輕量級(jí)開發(fā)框架 [轉(zhuǎn)]

       朝聞書齋 2014-09-11

      一.文件結(jié)構(gòu)

      ├ index.php 入口文件
      class 類存放的文件夾
         ├ base.class.php 基類
         ├ error.class.php 錯(cuò)誤處理類
         ├ parms.class.php 獲取參數(shù)類
      control.class.php 控制類
      model.class.php 模型類
      template smartTemplate 類存放文件夾
      db adodb 類存放文件夾
      includes 包含文件類
      ├ defines.inc.php 定義各路徑文件
         ├ frameword.inc.php 框架處理文件
         ├ router.inc.php 路由文件,跟據(jù)參數(shù),跳轉(zhuǎn)不同路徑
      models 模式存放路徑
      views 模版文件保存路徑
      controls 存放控制類的文件夾
      config.php 配置文件
      admin 后臺(tái)
      二.簡(jiǎn)單類圖
      三. 入口文件,index.php
      <?php

      define("EXEC",1); //初始化一個(gè)常量,保存別的文件必須先有這個(gè)入口文件的引用.

      define('PATH_BASE',dirname(__FILE__)); //獲取入口文件的路徑

      define('DS', DIRECTORY_SEPARATOR); //目錄的分隔,’/’ 或’’

      define( 'PATH_ROOT', PATH_BASE ); //站點(diǎn)的跟目錄,跟據(jù)你的入品文件存放來(lái)定義,如果放在子目錄下,則要做相應(yīng)修改.如下,
      //把路徑分組
      {parts = explode( DS, PATH_BASE );
      //去除最后一個(gè)路徑名
      array_pop( parts );

      define( 'PATH_ROOT', implode( DS, parts ) );}

      require_once(PATH_ROOT.DS.'includes'.DS.'defines.inc.php'); //各文件夾的路徑
      require_once(PATH_ROOT.DS.'includes'.DS.'framework.inc.php');

      echo request->Get('a');//參數(shù)的獲取GET方法
      request->Post(‘a(chǎn)’);//獲取POST參數(shù)

      ?>
      四. 路徑定義文件 defines.inc.php
      <?php
      /*
      */
      // no direct access
      defined( 'EXEC' ) or die( 'Restricted access' ); //如果單獨(dú)執(zhí)行這個(gè)文件,將不能執(zhí)行

      //站點(diǎn)路徑
      define( 'PATH_SITE', PATH_ROOT );
      //包含文件路徑
      define( 'PATH_INCLUDE', PATH_ROOT.DS.'includes');
      //類文件路徑
      define( 'PATH_CLASS', PATH_ROOT.DS.'class' );
      //配置文件路徑
      define( 'PATH_CONFIG', PATH_ROOT );

      ?>
      . 框架文件路徑 frameword.inc.php
      f
      <?php

      // no direct access
      defined( 'EXEC' ) or die( 'Restricted access' );

      //load error class
      require_once( PATH_CLASS.DS.'error.class.php'); //包含錯(cuò)誤處理文件
      //load base class
      require_once( PATH_CLASS.DS.'base.class.php' ); //包含基類文件

      //實(shí)例化基類
      load=new Base();

      //實(shí)列化請(qǐng)求類 用于獲取GET或POST
      //加截一個(gè)自己寫的類的方法
      //把自己寫的類放在class 文件夾下面,文件名的格式為demo.class.php
      //那么類名就為 class demo{}
      //實(shí)便化的方式為demo=load->library(‘demo’);
      //調(diào)用demo類的Get函數(shù)則為 demo->Get(‘參數(shù)’);

      request=load->library('params');
      //不同的目錄用不同的URL方式
      require_once( PATH_BASE.DS.'includes'.DS.'router.inc.php' );

      ?>
      六. 基類函數(shù)包含了常用的功能 base.class.php
      <?php

      // no direct access
      defined( 'EXEC' ) or die( 'Restricted access' );

      class Base extends Error
      {

      var path_root ='';
      var path_class ='';
      var path_control ='';

      /*/構(gòu)造函數(shù)
      *@parame path 應(yīng)用路徑
      *return null
      */
      public function Base()
      {
      this->path_root =PATH_ROOT;
      this->path_class =PATH_CLASS;
      this->path_control=PATH_BASE.DS.'controls';
      }

      //加載模型
      //load model
      function model(name)
      {
      include_once (this->path_model.DS.name.'.php');

      model=null;
      if(model==null)
      {
      model=new name();
      }
      return model;

      }

      //output page
      /*
      *@paramater name file name
      *@paramater data replace
      *
      */
      function view(name,data)
      {
      Template=self::template(file);
      Template->output(data);
      unset(Template);
      }

      //create database connection
      function database()
      {
      include_once (PATH_CLASS.DS.'db'.DS.'adodb.inc.php');
      this->db = ADONewConnection();
      this->db->createdatabase = true;
      result = this->db->Connect(self::config('db_host') , self::config('db_user'), self::config('db_password'), self::config('db_database') );
      if(!result)
      {
      die("Could not connect to the database.");
      }else{
      this->db->Execute("set names 'utf8'");
      return this->db;
      }
      }

      //create template
      function template(file)
      {
      include_once (PATH_CLASS.DS.'template'.DS.'class.smarttemplate.php');
      Template = new Smarttemplate(file);
      Template->template_dir=PATH_BASE.self::config('template_dir');
      Template->cache_dir =PATH_BASE.self::config('cache_dir');

      return Template;
      }

      //import class
      function library(className)
      {
      if(empty(className))
      {
      return null;
      exit();
      }
      else
      {
      require_once(PATH_CLASS.DS.className.'.class.php');
      return new className();

      }
      }

      //return config value
      function config(parameter)
      {
      require_once(PATH_CONFIG.DS.'config.php');

      return CONFIG::Ini()->parameter;

      }

      }


      ?>
      . 控制器父類control.class.php
      <?php
      class Control
      extends Base
      {
      var
      request;
      function Control()
      {
      this->request=this->library('params
      ');
      }

      //
      output page
      /*
      *@paramater name file name
      *@paramater data replace
      *
      */
      function view(name,data='')
      {
      Template=this->template(name.'.html
      ');
      Template->assign('site_root',this->config('site_root
      '));

      Template->assign(
      data);
      Template
      ->output();
      unset(
      Template);
      }

      //
      load model
      function model(
      name)
      {

      include_once (PATH_BASE.DS.'models'.DS.name.'.php
      ');

      if(this->model==
      null)
      {
      this->model=new
      name();
      }
      return this
      ->model;

      }

      }

      ?>

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多