• 一、thinkphp


    # ThinkPHP核心文件介绍


    ├─ThinkPHP.php 框架入口文件
    ├─Common 框架公共文件
    ├─Conf 框架配置文件
    ├─Extend 框架扩展目录
    ├─Lang 核心语言包目录
    ├─Lib 核心类库目录
    │ ├─Behavior 核心行为类库
    │ ├─Core 核心基类库
    │ ├─Driver 内置驱动
    │ │ ├─Cache 内置缓存驱动
    │ │ ├─Db 内置数据库驱动
    │ │ ├─TagLib 内置标签驱动
    │ │ └─Template 内置模板引擎驱动
    │ └─Template 内置模板引擎
    └─Tpl 系统模板目录

    #项目目录结构及说明:
    Home 前台应用文件夹
    ├─Common 项目公共文件目录
    ├─Conf 项目配置目录
    ├─Lang 项目语言目录
    ├─Lib 项目类库目录
    │ ├─Action Action类库目录
    │ ├─Behavior 行为类库目录
    │ ├─Model 模型类库目录
    │ └─Widget Widget类库目录
    ├─Runtime 项目运行时目录
    │ ├─Cache 模板缓存目录
    │ ├─Data 数据缓存目录
    │ ├─Logs 日志文件目录
    │ └─Temp 临时缓存目录
    └─Tpl 项目模板目录

    ThinkPHP 3 介绍及安装
    #

    本节课大纲:
    一、ThinkPHP的介绍 //了解
    MVC
    M - Model 模型 工作:负责数据的操作
    V - View 视图(模板) 工作:负责前台页面显示
    C - Controller 控制器(模块) 工作:描述功能
    框架
    二、ThinkPHP的获取 //了解
    http://www.thinkphp.cn
    三、ThinkPHP核心文件介绍 //了解
    ├─ThinkPHP.php 框架入口文件
    ├─Common 框架公共文件
    ├─Conf 框架配置文件
    ├─Extend 框架扩展目录
    ├─Lang 核心语言包目录
    ├─Lib 核心类库目录
    │ ├─Behavior 核心行为类库
    │ ├─Core 核心基类库
    │ ├─Driver 内置驱动
    │ │ ├─Cache 内置缓存驱动
    │ │ ├─Db 内置数据库驱动
    │ │ ├─TagLib 内置标签驱动
    │ │ └─Template 内置模板引擎驱动
    │ └─Template 内置模板引擎
    └─Tpl 系统模板目录
    四、实验环境搭建 //了解
    五、项目搭建 //重点
    #项目目录结构及说明:
    Home 前台应用文件夹
    ├─Common 项目公共文件目录
    ├─Conf 项目配置目录
    ├─Lang 项目语言目录
    ├─Lib 项目类库目录
    │ ├─Action Action类库目录
    │ ├─Behavior 行为类库目录
    │ ├─Model 模型类库目录
    │ └─Widget Widget类库目录
    ├─Runtime 项目运行时目录
    │ ├─Cache 模板缓存目录
    │ ├─Data 数据缓存目录
    │ ├─Logs 日志文件目录
    │ └─Temp 临时缓存目录
    └─Tpl 项目模板目录
    六、补充知识 //了解

    index.php //入口文件
    
    //1.确定应用名称home
    define('APP_NAME','Home');
    //2.确定应用路径
    define('APP_PATH', './Home/');
    //3.开启调试模式
    define('APP_DEBUG', 'true');
    //4.应用核心文件
    require './ThinkPHP/ThinkPHP.php';

    #

    # ThinkPHP 3 MVC模式和URL访问

    #

    本节课大纲:
    一、什么是MVC //了解
    M -Model 编写model类 对数据进行操作
    V -View 编写html文件,页面呈现
    C -Controller 编写类文件(UserAction.class.php)
    二、ThinkPHP的MVC特点 //了解
    三、ThinkPHP的MVC对应的目录 //了解
    M 项目目录/应用目录/Lib/Model
    V 项目目录/应用目录/Tpl
    C 项目目录/应用目录/Lib/Action
    四、url访问C //了解

    localhost/thinkphp/index.php/Index/index
    主入口文件 Index模块 index方法

    五、url的4种访问方式 //重点!
    1.PATHINFO 模式 -- 重点!!!!!!
    http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
    2.普通模式
    http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2
    3.REWRITE模式
    http://域名/项目名/模块名/方法名/键1/值1/键2/值2

    ①。开启rewrite apache配置
    LoadModule rewrite_module modules/mod_rewrite.so

    ②。.htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>


    4.兼容模式
    http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2

     配置项

     'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符

    ThinkPHP 3.1.2 输出和模型使用
    #

    本节课大纲:
    一、ThinkPHP 3 的输出 (重点)
    a、通过 echo 等PHP原生的输出方式在页面中输出
    b、通过display方法输出
    想分配变量可以使用assign方法

    $this->display();
    c、修改左右定界符
    休要修改配置文件中的配置项
    'TMPL_L_DELIM'=>'<{', //修改左定界符
    'TMPL_R_DELIM'=>'}>', //修改右定界符

    二、ThinkPHP 3 的模型使用 (重点)
    需要在方法中通过new Model(表名)的形式操作数据库
    $m=new Model('User');
    $arr=$m->select();
    'DB_TYPE'=>'mysql', //设置数据库类型
    'DB_HOST'=>'localhost',//设置主机
    'DB_NAME'=>'thinkphp',//设置数据库名
    'DB_USER'=>'root', //设置用户名
    'DB_PWD'=>'', //设置密码
    'DB_PORT'=>'3306', //设置端口号
    'DB_PREFIX'=>'tp_', //设置表前缀
    三、补充 (了解)

    ThinkPHP 3.1.2 输出和模型使用
    #
    讲师:赵桐正
    微博:http://weibo.com/zhaotongzheng


    本节课大纲:
    一、ThinkPHP 3 的输出 (重点)
    a、通过 echo 等PHP原生的输出方式在页面中输出
    b、通过display方法输出
    想分配变量可以使用assign方法
    c、修改左右定界符
    休要修改配置文件中的配置项
    'TMPL_L_DELIM'=>'<{', //修改左定界符
    'TMPL_R_DELIM'=>'}>', //修改右定界符

    二、ThinkPHP 3 的模型使用 (重点)
    需要在方法中通过new Model(表名)的形式操作数据库
    $m=new Model('User');
    $arr=$m->select();
    'DB_TYPE'=>'mysql', //设置数据库类型
    'DB_HOST'=>'localhost',//设置主机
    'DB_NAME'=>'thinkphp',//设置数据库名
    'DB_USER'=>'root', //设置用户名
    'DB_PWD'=>'', //设置密码
    'DB_PORT'=>'3306', //设置端口号
    'DB_PREFIX'=>'tp_', //设置表前缀
    也可以使用DSN方法进行配置
    'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
    如果两种方式同时存在,以DSN方式为优先

    还有一种简单实用模型的方式
    M() 等效为 new Model();
    $m=M('User');
    $arr=$m->select();

    使用模型的实例可以对数据进行操作,操作的工作一般就是对数据库进行 增删改查 CURD

    增 -C Create $m->add()
    删 -D Delete $m->delete()
    改 -U Update $m->save()
    查 -R Read $m->select()

    三、补充 (了解)
    a、模板可以遍历数组
    <volist name='data' id='vo'>
    <{$vo.id}>----<{$vo.username}>-----<{$vo.sex}><br/>
    </volist>
    b、我们可以开启调试功能中的page_trace
    1.开启调试功能
    //3.开启调试模式
    define('APP_DEBUG',true);
    2.我们需要设置配置文件,开启页面trace
    'SHOW_PAGE_TRACE'=>true,//开启页面Trace

    ThinkPHP 3.1.2 CURD特性
    #

    本节课大纲:
    一、ThinkPHP 3 的CURD介绍 (了解)
    二、ThinkPHP 3 读取数据 (重点)
    对数据的读取 Read
    $m=new Model('User');
    $m=M('User');
    select
    $m->select();//获取所有数据,以数组形式返回
    find
    $m->find($id);//获取单条数据
    getField(字段名)//获取一个具体的字段值
    $arr=$m->where('id=2')->getField('username');
    三、ThinkPHP 3 创建数据 (重点)
    对数据的添加 Create
    $m=new Model('User');
    $m=M('User');
    $m->字段名=值
    $m->add();
    返回值是新增的id号
    四、ThinkPHP 3 删除数据 (重点)
    $m=M('User');
    $m->delete(2); //删除id为2的数据
    $m->where('id=2')->delete(); //与上面效果相同,也是删除id为2的数据
    返回值是受影响行数
    五、ThinkPHP 3 更新数据 (重点)
    $m=M('User');
    $data['id']=1;
    $data['username']='ztz2';
    $m->save($data);
    返回值是受影响行数

     配置项:

    'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符
    'TMPL_L_DELIM'=>'<{', //修改左定界符
    'TMPL_R_DELIM'=>'}>', //修改右定界符
    'DB_TYPE'=>'mysql', //设置数据库类型
    'DB_HOST'=>'localhost',//设置主机
    'DB_NAME'=>'thinkphp',//设置数据库名
    'DB_USER'=>'root', //设置用户名
    'DB_PWD'=>'', //设置密码
    'DB_PORT'=>'3306', //设置端口号
    'DB_PREFIX'=>'tp_', //设置表前缀
    'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
    'SHOW_PAGE_TRACE'=>true,//开启页面Trace
    'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
    'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次
    'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
    'THEME_LIST'=>'your,my',//支持的模板主题列表
    'TMPL_PARSE_STRING'=>array( //添加自己的模板变量规则
    '__CSS__'=>__ROOT__.'/Public/Css',
    '__JS__'=>__ROOT__.'/Public/Js',
    ),

  • 相关阅读:
    HashMap的实现原理
    LinkedHashMap的实现讲解
    ConcurrentHashMap原理分析
    javax.mail Java Extension(扩展)
    Singleton 单例模式
    Java序列化与反序列化(实践)
    Java IO操作
    Java NIO与IO的区别和比较
    java模拟异步消息的发送与回调
    java如何实现多个线程并发运行
  • 原文地址:https://www.cnblogs.com/suihui/p/3202006.html
Copyright © 2020-2023  润新知