• ThinkPHP---thinkphp框架介绍


    目录:

    (1)简述;

    (2)下载;

    (3)文件结构;

    (4)部署;

    (5)细节问题;

    主体:

    (1)简述

    ThinkPHP诞生于2006年初,最初叫FSC。于2007年元旦更名为PHP,同时官网上线。

    一款国人自主开发的框架,有中文官网、论坛、文档等。代码中包含了丰富的中文注释

    (2)下载

    官网下载:http://www.thinkphp.cn

    最新版:V5.0

    目前使用最多的版本:V3.2.3

    下载列表里:RC1 、RC2、RC3等软件版本修饰词,所以下面拓展下

    一般软件有四个版本

    ①Alpha版本:内测版本,内部测试;

    ②Beta版本:公测版本,面向用户,由用户找出bug;

    ③RC版本:候选版本,该阶段不会有太多功能性调整,主要是排错阶段;

    ④R版本:release发行版本,稳定版本。

    鉴于以上,我们开发时用R版本,因为其他版本未更新完成,可能存在BUG

    (3)文件结构

    解压后查看文件结构,核心板相对于完整版来说只有ThinkPHP,没有其他目录结构。而完整版包含其他演示文件

    ①第一层文件结构

    Application(应用):应用目录;

    Public:存放图片,css,js等公共静态资源文件的目录;

    ThinkPHP:框架核心目录;

    .htaccess:分布式配置文件,配合Alpha对站点进行配置;

    composer.json:json为数据格式,包含一些说明性描述,主要给composer(一款国外软件)软件使用的说明文件,在国内被墙了,所以无用了。可以理解为类似软件管家的管理软件说明信息

    index.php:项目的入口文件,一般为单一入口,也可以为多入口

    README.md:说明文件,可以忽略

    其他详细文件结构我在文章thinkphp3.2.3文件结构介绍里做了总结

    (4)部署

    ①创建站点目录

    ②开启httpd-vhosts.conf配置功能

    ③配置Apache虚拟主机的配置文件,创建一个虚拟主机;

    ④重启Apache

    ⑤修改hosts文件,将配置文件里声明的2个域名进行绑定解析

    ⑥检验

    ⑦复制代码文件到站点目录

    详细步骤我在文章PHP 虚拟主机配置里做了总结

    关于此处的Application应用目录(与压缩包中的Application目录不同,,里面还包含了3个目录)

    Common(通用文件目录,存放应用级别函数库文件及配置文件)/Common应用级别函数库目录---Conf应用级别配置文件目录---index.php

    Home(存放分组级别的函数库文件及配置文件)/Common分组级别函数库目录---Conf分组级别配置文件目录---Controller---Model---View(MVC目录)---index.php

    Runtime(运行时,即临时文件目录)/Cache---Data---Logs---Temp---index.html

    注意:只有首次运行入口文件index.php时才会产生Application应用目录,生成后便不会再次生成覆盖(前提不修改APP_PATH常量)

    (5)细节问题

    ①应用目录由来及注意事项

    首次部署完成后,会自动生成Application应用目录。目录名字名字取决于入口文件index.php里定义的APP_PATH常量

    // APP——PATH常量,定义应用目录,后期自动生成的文件都会放到里面
    define('APP_PATH','./Application/');

    修改APP_PATH常量,再次刷新页面时,会生成应用新目录

    ②目录安全文件

    在自动生成的文件里,每层都有index.html空文件为目录安全文件。

    作用:隐藏目录结构,简单说就是仿制列出站点文件结构

    原理:在Apache配置文件里,有options+indexes,默认展示站点目录。若在站点目录里不存在index开头的文件,则会展示目录结构。

              但是有了index.html(目录安全文件)之后,便不会展示文件结构。主要是为了仿制服务器管理员忘记关闭options+indexes,对网站安全构成威胁。

    ③文件生成

    首次运行入口文件时会自动生成应用目录,原理是什么?

    文件的生成主要取决于ThinkPHP系统流程https://www.kancloud.cn/manual/thinkphp/1704

    ④默认访问

    部署后访问会看到笑脸,怎么输出的?

    Application---Home---Controller---IndexController.class.php

    <?php
    namespace HomeController;              //默认分组为home
    use ThinkController;                  
    class IndexController extends Controller {   //控制器为Index
        public function index(){//默认方法为index
            $this->show('');
        }
    }

    分析indexController.class.php可以得出在PHP里

    默认分组 / 前台为Home;默认控制器为Index;默认方法为index;

    上述默认值可以在配置文件里可以找到,配置文件有3个Home/Conf/config.php、Common/Conf/config.php、ThinkPHP/Conf/,依次查找后可以分析上述默认值可以在系统配置文件ThinkPHP/Conf/convention.php里找到

    'DEFAULT_MODULE'        =>  'Home',  // 默认模块分组 / 平台
    'DEFAULT_CONTROLLER'    =>  'Index', // 默认控制器名称
    'DEFAULT_ACTION'        =>  'index', // 默认操作 / 方法名称

    ⑤配置文件分类

    综合上述分析,因为配置文件分3类:系统配置文件,分组配置文件,应用配置文件

    系统配置文件ThinkPHP/Conf/convention.php;

    分组 / 模块 /平台配置文件Home/Conf/config.php;

    应用配置文件Common/Conf/config.php;

    .

  • 相关阅读:
    ubuntu與win7雙系統引導的默認系統問題
    Mac正确删除应用程序的方法
    latex链接外部文件
    ubuntu安装sunjava6
    String.Index 和 String.Split的用法例子
    关于数组传递以及ref,out的例子
    通过XElement查询XML的几种方法
    递归的基本例子
    frame与iframe的区别
    C#数组的用法,out传递值的用法
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/8630365.html
Copyright © 2020-2023  润新知