《Php笔记3.1》ThinkPHP 概述及配置——目录结构,mvc分层架构

ThinkPHP 框架概述

本课时简单介绍了 PHP 框架及其优缺点、ThinkPHP 框架,并且实现一个 Hello ThinkPHP。

  

应用入口文件:/Application/Home/Controller/IndexController.class.php

 

程序目录结构与 MVC 分层架构

本课时讲解了 THinkPHP 应用典型的目录结构,以及 ThinkPHP 的 MVC 特性。

ThinkPHP目录结构:

  • [Application] —— 是应用目录,下面除了Runtime,每个文件夹都是一个模块(Module)
    • [Common] —— 通用模块
    • [Home] —— 系统自动生成的模块
      • [Common] —— 模块函数库
      • [Conf] —— 模块配置
      • [Controller] —— 控制器
      • [Model] —— 模型
      • [View] —— 视图
    • [Runtime] ——缓存目录
  • [Public]
  • [ThinkPHP]
    • [Common] —— 通用函数库
    • [Conf] —— 惯例配置
    • [Lang] —— 语言包
    • [Library] —— 类库
    • [Mode] —— 应用模式,定义一些应用模式的文件
    • [Tpl] —— 框架自带的模板
    • ThinkPHP.php —— 框架的入口文件(和应用的入口文件是不同的)
  • index.php —— 入口文件(应用对外提供的接口)

 

入口文件中可以通过定义常量的方式来绑定模块:

define('BIND_MODULE','User');

 

MVC分层架构:

 

 

ThinkPHP 配置

本课时讲解了 ThinkPHP 框架配置加载的机制,读取、扩展配置,以及介绍框架支持的配置格式。

配置加载机制:

后加载的会覆盖前面的。

 

配置读取:

 

 

动态配置:

 

扩展配置:

 

演示:

模块配置覆盖惯例配置 /Application/Home/Conf/config.php

<?php
return array(
    //'配置项'=>'配置值'
    /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'woodk',          // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  'root',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  'wk_',    // 数据库表前缀
    'LOAD_EXT_CONFIG'       =>  'user,upload'   //加载扩展配置文件
);

复制 /ThinkPHP/Conf/convention.php 惯例配置文件中的数据库配置信息,在模块配置文件中重新定义。

以下两个是扩展配置文件

/Application/Home/Conf/user.php

<?php
return array(
    //'配置项'=>'配置值'
    'USER_NAME'       =>  'jike'
);

/Application/Home/Conf/upload.php

<?php
return array(
    //'配置项'=>'配置值'
    'UPLOAD_NAME'       =>  'jike_upload'
);

 

打印出来, /Application/Home/Controller/IndexController.class.php

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $config = C('');    //读取全部配置
        dump($config);      //ThinkPHP中的格式化打印
    }
}

访问index.php页面

 

posted @ 2016-01-09 13:44  暖风叔叔  阅读(1300)  评论(0)    收藏  举报