thinkPHP--初级

这篇博客介绍了ThinkPHP框架的基础知识,包括框架的定义、MVC模式、版本及文件结构。详细讲解了如何创建控制器、设置路由、使用U方法和系统跳转,以及视图的创建和模板处理。此外,还涵盖了数据库配置、模型操作、 CURD 原理、数据验证、会话和Cookie支持,以及验证码技术和UE编辑器的使用。
摘要由CSDN通过智能技术生成

2017.1.28-2017.1.31

thinkPHP框架–初级

什么是框架?

  • 特征1:是一堆代码的集合
  • 特征2:是一个半成品应用
  • 特征3:包含了一些优秀的设计模式

    定义:框架是一堆包含了常量、方法和类等代码的集合,它是一个半成品的应用,只包含了一些项目开发时候所使用的低层框架,并包含业务逻辑,框架还包含了一些优秀设计模式。

什么是MVC?

MVC是一个设计模式。它强制将用户的输入、逻辑、输出相分离,将整个项目分为三个部分:控制器(C)、模型(M)、视图(V)

thinkPHP版本

3.2.3
官网:http://www.thinkphp.cn/  

解压后(完整版)

ThinkPHP文件夹结构

第一次应用

  1. 将下载的ThinkPHP文件夹和index.php文件复制到站点位置
  2. 通过浏览器访问站点目录

    结果:可以从浏览器看到一个(:,而且在站点目录下自动生成一个Application文件夹,目录结构如下图所示。

    HOME文件结构:

创建控制器

命名规则:控制名(英文首字母大写)+Controller关键字+.class.php

<?php
//定义命名空间
namespace Home\Controller;
//引用父类控制器
use Think\Controller;
//定义控制器并继承父类
class DemoController extends Controller {
    public function index(){
       echo 'hello world!';
    }
}

访问:localhost\项目名\index.php\Home\Demo\index

路由形式

  1. 普通形式路由(get形式路由)

    路由形式:http://网址/入库文件?m=分组名&c=控制器名&a=方法名&参数名=参数值
    
  2. pathindo路由形式(默认)

    路由形式:http://网址/入口文件/分组名/控制器名/方法/参数名1/参数值1/参数名2/参数值2
    
  3. rewrite路由形式(需配置)

    路由形式与默认形式相比少了入口文件
    
  4. 兼容形式

    路由形式:http://网址/入口文件?s=/分组名/控制器名/方法名/参数名1/参数值1
    

分组

定义:一般项目会根据某个功能的使用对象来区分代码,这个时候放到一起之后会形成一个文件夹,这个文件夹就可以称之为分组。分组就是我们通常所指的平台(前台、后台)

例如在刚部署好的thinkPHP系统中home目录就是一个分组目录。后期如果需要使用更多的分组,则需要自己去创建分组。

步骤:参考home分组,重新创建一个新的目录,在其中依照home中的结构,创建相应的目录即可。

U方法

语法格式:U("URL路径",参数数组)
例如:
    访问当前控制器下的index方法,可使用U("index");
    访问Index控制器下的index方法,则用U("Index/index");
    当然也可以指定分组和传递参数

系统跳转方法

  • 成功跳转

    $this->success(跳转提示,跳转地址,等待时间);
    
  • 失败跳转

    $this->error(跳转提示,跳转地址,等待时间);
    

    跳转提示参数必须要有,后面的地址和时间可以没有,如果没有指定跳转地址,则跳转到上一页

视图的创建

创建的位置需要在分组目录下的View目录下与控制器同名的目录中。
例如Test控制器中的login方法,需要一个模板,则该模板文件login.html需要放到View/Test/login.html

模板展示

$this->display();  //展示当前控制器下与当前请求方法名称一致的模板文件
$this->dispaly('模板文件名[不带后缀]'); //展示当前控制器下的指定模板文件
$this->display('View目录下的目录名/模板文件名[不带后缀]'); //展示指定控制器目录下的指定模板文件

模板常量

__MODULE__:表示从域名后面开始一直到分组名结束的路由
__CONTROLLER__:表示从域名后面开始一直到控制器名结束的路由
__ACTION__:表示从域名后面开始一直到方法名结束的路由
__PUBLIC__:站点根目录下的Public目录的路由
__SELF__:表示从域名后面开始一直到路由的最后(如果没有参数,则__SELF__和__ACTION__所表达的内容是一样的)

自己配置

在当前分组的Conf/config.php中配置

模板内容获取方法

$this->display();  //展示模板
$this->fetch();        //获取模板(有返回值)

视图中的注释

  • 普通的html注释

    <!-- 注释内容 -->
    
  • thinkPHP中的行注释

    {//注释内容}
    
  • thinkPHP中的块注释

    {/*块注释内容*/}
    

thinkphp中的注释和普通的html注释区别

普通的html注释属于客户端注释,会在浏览器的源码中输出;而thinkPHP的注释属于服务端注释,不会被浏览器输出

一、二维数组的输出

  • 中括号形式

    {$array[key]}
    
  • 点形式

    {$array.key}
    

对象输出

  • 箭头形式

    {$o->id}
    
  • 冒号形式

    {$o:id}
    

    注意没有点形式

中文乱码

为了在后期使用中文的时候不乱码,可以在入口文件(index.php)中添加一个header声明
header('Content-Type:text/html;charset=utf8');

系统变量

  • Think.server _SERVER,获取服务器的相关信息
  • T
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值