zoukankan      html  css  js  c++  java
  • ThinkPHP讲解(一)框架基础

    ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写)

      1.tp框架是什么,为什么使用是它?

       一堆代码的集合,里边有变量、函数、类、常量,里边也有许多设计模式MVC、AR数据库、单例等等。框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次。

          为什么使用框架

          框架可以帮组我们快速、稳定、高效搭建程序系统

          该系统由于框架的使用使得本身的维护性、灵活性、适应客户需求方面得到最大化的增强。

          使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关心程序的底层架构。

      2.tp框架的入口文件,以及各文件夹和文件的作用?

       入口文件是index.php

    (1)thinkphp_3.2.3 full文件下的文件名

        (2)tp/ThinkPHP文件里的文件

    (3)tp/ThinkPHP/Conf文件夹下的文件

       (4)tp/ThinkPHP/Library里的文件

    (5)tp/ThinkPHP/Library/Think文件夹下的文件

    3.怎样定义tp框架入口文件?

    <?php
    
    // 应用入口文件
    
    // 检测PHP环境
    if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');
    
    // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
    define('APP_DEBUG',true);
    
    // 定义应用目录
    define('APP_PATH','./Jiaowu/');    //后面的Jiaowu是运行的新的应用目录
    
    // 引入ThinkPHP入口文件
    require './ThinkPHP/ThinkPHP.php';
    
    // 亲^_^ 后面不需要任何代码了 就是如此简单
    

      

      4.运行入口文件时,会生成哪些文件夹

    Jiaowu
    ├─Common         应用公共模块
    │  ├─Common      应用公共函数目录
    │  └─Conf        应用公共配置文件目录
    ├─Home           默认生成的Home模块
    │  ├─Conf        模块配置文件目录
    │  ├─Common      模块函数公共目录 
    │  ├─Controller  模块控制器目录    ☆☆
    │  ├─Model 模块模型目录 
    │ └─View 模块视图文件目录
    ├─Runtime 运行时目录
    │ ├─Cache 模版缓存目录
    │ ├─Data 数据目录
    │ ├─Logs 日志目录
    │ └─Temp 缓存目录

      

      5.MVC模式的原理

    MVC: Model 模型 模型(数据)层; View 视图 视图层; Controller控制器 逻辑层.

    M:操作数据(数据连接,数据访问)
    V:提供显示模板
    C:实现业务逻辑

    MVC:约定胜于配置

      6.四种访问方法?

    tp框架url地址可以由以下四种

    1. http://网址/index.php?m=XX&c=XX&a=XX   基本get模式
    2. http://网址/index.php/模块/控制器/操作方法  路径模式pathinfo
    3. http://网址/模块/控制器/操作方法           rewrite重写模式
    4. http://网址/index.php?s=/模块/控制器/方法    兼容模式

    U() 制作url地址的快捷函数

     在jiaowu/home/conf/config.php进行配置

    <?php
    return array(
             //'配置项'=>'配置值'
            'URL_MODEL'             =>  1,   // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE  模式); 3 (兼容模式)  默认为PATHINFO 模式
    );
    

      

    7.如何做出控制器里面的操作方法,怎样将相应的操作方法所对应的模班页面做出来?

          之前访问的方式:访问的具体页面;    MVC访问的方式:访问控制器下的操作(方法),不是一个具体页面

       (1) 做出控制器里的操作方法具体如下:在Jiaowu/Home/Controller/IndexController.class.php文件里

    namespace HomeController; //在该文件夹下定义一个虚拟的命名空间
    
    use ThinkController;  //调用该目录下的父类
    	
    class IndexController extends Controller { //继承该父类,定义一个子类
    	
        public function index()  //indexcontroller下的index操作action,放在控制器里面的方法
    	{    
    		echo "welcome!";
    		
        }
    }

      

        (2)将相应的操作方法所对应的模班页面做出来步骤如下

                     第一:在Jiaowu/Home/Controller/IndexController.class.php文件里的控制器里做操作方法

    <?php
    namespace HomeController; //在该文件夹下定义一个虚拟的命名空间
    
    use ThinkController;  //调用该目录下的父类
    	
    class IndexController extends Controller { //继承该父类,定义一个子类
    	
        public function index()  //indexcontroller下的index操作action,放在控制器里面的方法
    	{    
    		$this->display();
    		
        }
    }

                      第二:在Jiaowu/Home/View文件下新建一个和第一步中的子类里面的函数名一样的html文件index.html,在该文件里作页面

  • 相关阅读:
    python学习day15 内置函数
    python学习day14 生成器表达式
    python学习day13 迭代器,生成器
    python学习day12 装饰器进阶
    gulp管理angular2项目 配置文件
    angular2 基于webpack环境搭建
    jQuery dataTable 操作个人使用总结
    报错:Could not reserve enough space for object heap error
    CSS布局之圣杯布局和双飞翼布局
    CSS 之 Position定位
  • 原文地址:https://www.cnblogs.com/zst062102/p/5585796.html
Copyright © 2011-2022 走看看