学习ThinkPHP开源框架整理(一)

本文介绍了ThinkPHP框架的路由配置,包括路由地址、路由参数、限制URL后缀、限制请求类型和自定义检测。详细讲解了如何定义路由规则、模型命名规则以及不同类型的路由地址定义,帮助开发者更好地理解和应用ThinkPHP的路由功能。
摘要由CSDN通过智能技术生成
一、概况
        thinkphp是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。thinkphpPHP的界面简洁实用,在保持   出色的性能和至简的代码同时,也注重易用性,并且拥有众多功能原创功能和特性。

二、对整个框架进行分步了解

     1、从 基础 配置 架构 路由 控制器 模型 视图 模板 调试 缓存 安全方面 全方位的去了解THinkPHP3.2.3

①、基础篇:
        ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/down/framework.html)或者Github(https://github.com/liu21st/thinkphp/downloads)下载。
         把下载后的压缩文件解压到你的WEB目录(或者任何目录都可以),框架的目录结构为:
    1. ├─ThinkPHP.php     框架入口文件
    2. ├─Common 框架公共文件
    3. ├─Conf 框架配置文件
    4. ├─Extend 框架扩展目录
    5. ├─Lang 核心语言包目录
    6. ├─Lib 核心类库目录
    7. │  ├─Behavior 核心行为类库
    8. │  ├─Core 核心基类库
    9. │  ├─Driver 内置驱动
    10. │  │  ├─Cache 内置缓存驱动
    11. │  │  ├─Db 内置数据库驱动
    12. │  │  ├─TagLib 内置标签驱动
    13. │  │  └─Template 内置模板引擎驱动
    14. │  └─Template 内置模板引擎
    15. └─Tpl 系统模板目录

              注意,框架的公共入口文件 ThinkPHP.php是不能直接执行的,该文件只能在项目入口文件中调用

    在开始之前,你需要一个 Web服务器和PHP运行环境,如果你暂时还没有,推荐使用集成开发环境 WAMPServer(是一个集成了 ApachePHPMySQL的开    发套件,而且支持多个PHP版本、MySQL版本和Apache版本的切换)来使用ThinkPHP进行本地开发和测试。
    接下来我们先在WEB根目录下面创建一个app子目录(这个app就是我们的项目名),然后在该目录下面创建一个index.php文件,添加一行简单的代码:
  1. <?php
  2. require '/ThinkPHP框架所在目录/ThinkPHP.php';
        
   在浏览器内运行: http://localhost/app/  就可以直接进入ThinkPHP的欢迎页面了,并且,框架为自动生成项目运行的基本目录,如缓存目录,模板目录等:
    1. ├─index.php     项目入口文件
    2. ├─Common 项目公共文件目录
    3. ├─Conf 项目配置目录
    4. ├─Lang 项目语言目录
    5. ├─Lib 项目类库目录
    6. │  ├─Action Action类库目录
    7. │  ├─Behavior 行为类库目录
    8. │  ├─Model 模型类库目录
    9. │  └─Widget Widget类库目录
    10. ├─Runtime 项目运行时目录
    11. │  ├─Cache 模板缓存目录
    12. │  ├─Data 数据缓存目录
    13. │  ├─Logs 日志文件目录
    14. │  └─Temp 临时缓存目录
    15. └─Tpl 项目模板目录

        入口文件内相关参数说明:
        
    1. <?php
    2. define('APP_NAME','app');   //定义项目的名称  APP_NAME
    3. define('APP_PATH','./app/');    //定义项目的入口目录 APP_PATH
    4. define('APP_DEBUG',TRUE); // 开启调试模式 开启调试模式后,调试模式则以除错方便优先,关闭任何缓存,而且尽可能多的抛出错误信息,所以对性能有一定的影响(开发阶段适合打开,方便开发者发现一些隐藏的bug
    5. require '/ThinkPHP框架所在目录/ThinkPHP.php';
        


    ②、配置
        每个项目都有一个独立的配置文件(位于项目目录的 Conf/config.php),配置文件的定义格式均采用 PHP返回数组的方式,例如:
        
    1. // 项目配置文件
    2. return array(
    3.     '配置参数'     => '配置值', 
    4.     // 更多配置参数
    5.     //...
    6. );
      注意:配置值可以支持包括 字符串、数字、布尔值和数组 在内的数据,通常我们建议配置参数均使用 大写定义 。如果有需要,我们还可以为项目定义其他的配置文件。
<?php
defined('THINK_PATH') or exit();
return array(
/* 项目设定 */
'APP_STATUS' => 'debug', // 应用调试模式状态 调试模式开启后有效 默认为debug 可扩展 并自动加载对应的配置文件
'APP_FILE_CASE' => true, // 是否检查文件的大小写 对Windows平台有效
'APP_AUTOLOAD_PATH' => '',// 自动加载机制的自动搜索路径,注意搜索顺序
'APP_TAGS_ON' => true, // 系统标签扩展开关
'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名部署
'APP_SUB_DOMAIN_RULES' => array(), // 子域名部署规则
'APP_SUB_DOMAIN_DENY' => array(), // 子域名禁用列表
'APP_GROUP_LIST' => 'Home,System,User,Wap,Chat', // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin'
'ACTION_SUFFIX' => '', // 操作方法后缀

/* Cookie设置 */
'COOKIE_EXPIRE' => 0, // Coodie有效期
'COOKIE_DOMAIN' => '', // Cookie有效域名
'COOKIE_PATH' => '/', // Cookie路径
'COOKIE_PREFIX' => '', // Cookie前缀 避免冲突

/* 默认设定 */
'DEFAULT_M_LAYER' => 'Model', // 默认的模型层名称
'DEFAULT_C_LAYER' => 'Action', // 默认的控制器层名称
'DEFAULT_APP' => '@', // 默认项目名称,@表示当前项目
'DEFAULT_LANG' => 'zh-cn', //
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用 开发和简化企业级应用开发而诞生的。拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和 改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。 ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类 库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的 表现。 使用ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单 和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应 用开发更简单、更快速。为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践! ThinkPHP遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产 品发布/销售。 ThinkPHP v5.0.21 更新日志: 该版本主要做了一些已知问题的修正,以及增加路由解析缓存功能。 增加路由解析缓存功能 改进url生成的端口问题 改进缓存驱动 改进value方法的缓存处理 修正Builder类的insertAll方法 改进对Swoole的支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值