ThinkPHP笔记

2 篇文章 0 订阅

ThinkPHP是一套PHP的封装框架。为PHP后端常见开发做了封装,方便做逻辑开发。本文也是在阅读了ThinkPHP的文档,记录一下初步的观感。
如果需要去熟悉框架细节可以参考原文:传送门
重要概念

1.配置文件框架
2.MVC架构
3.路由控制
4.模型
5.视图&模板

看完这个清单,基本上里面的概念都和django中的概念对应得上。
通过mvc方式来组织页面的代码。
通过路由控制模块来分发提交上来的访问。
通过模型来提供对数据库访问的封装。
提供视图&模板来做一些动态网页的显示支持。(django里面叫template)

安装

下载地址

初始化主页面

1.安装上一个xampp套件
2.将thinkPHP拷贝到xampp的apache的web目录中
3.通过修改入口文件来生成当前

配置文件

可以按照模块的可见性来分配自己模块的配置信息。
配置的分类,以及加载顺序

惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置

配置的格式

//项目配置文件
return array(
    'DEFAULT_MODULE'     => 'Index', //默认模块
    'URL_MODEL'          => '2', //URL模式
    'SESSION_AUTO_START' => true, //是否开启session
    //更多配置参数
    //...
);

其实就是一个PHP的array
读取

$model = C('URL_MODEL');

框架

工作模式:

http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...]
http://serverName/module/controller/action/param/value/...

都是通过index.php来分发的。
概念

名称描述
应用基于同一个入口文件访问的项目我们称之为一个应用。
模块一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录。
控制器每个模块可以包含多个控制器,一个控制器通常体现为一个控制器类。
操作每个控制器类可以包含多个操作方法,也可能是绑定的某个操作类,每个操作是URL访问的最小单元。

控制器

控制器有些类似于django里面的view。当某个请求上来之后将会回调这个方法。中间就能编写其中的逻辑。
比如编写了一个php代码:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function hello(){
        echo 'hello,thinkphp!';
    }
}

当访问了

http://serverName/index.php/Home/Index/hello

地址之后,将会在页面里面打印
hello,thinkphp!
字样。

模型

模型模块主要是用于做数据库相关操作的时候用。设定了连接MYSQL的信息之后就能创建一个和mysql打交道的connection对象。

$connection = array(
    'db_type'    =>   'mysql',
    'db_host'    =>   '127.0.0.1',
    'db_user'    =>   'root',
    'db_pwd'     =>   '12345',
    'db_port'    =>    3306,
    'db_name'    =>    'demo', 
    'db_charset' =>    'utf8',
);
new \Home\Model\NewModel('new','think_',$connection);
$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select(); 

也能指定自己的查询方式

$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查询条件传入查询方法
$User->where($condition)->select(); 

这个模块中也有实现了对于Mongodb的访问模块。

模板

可以支持模板替换方便将前段html分离出来。这个用法和django中的template很像。编写了特殊的替换符号,在php中通过逻辑处理(数据库查询,判断)生成的array数据结构,结合了模板来生成最终的页面。
模板中编写

Hello,{$name}!

php代码中编写

$name = 'ThinkPHP';
$this->assign('name',$name);
$this->display();
// 或者
$data['name'] = 'ThinkPHP';
$data['email'] = 'thinkphp@qq.com';
$this->assign('data',$data);

就能正常显示这些从php中来的变量到页面中。
其中很多的细节在本文中也没细致的写。具体可能还需要再开发的时候通过阅读官网的文档获得更多的信息。
thinkphp框架中很多的关键字,可能自己在开发一个功能的时候,多去阅读手册,说不定自己想要的东西,已经在框架中有实现过了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值