thinkphp学习笔记.docx

上传人:b****3 文档编号:915272 上传时间:2022-10-13 格式:DOCX 页数:37 大小:2.47MB
下载 相关 举报
thinkphp学习笔记.docx_第1页
第1页 / 共37页
thinkphp学习笔记.docx_第2页
第2页 / 共37页
thinkphp学习笔记.docx_第3页
第3页 / 共37页
thinkphp学习笔记.docx_第4页
第4页 / 共37页
thinkphp学习笔记.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

thinkphp学习笔记.docx

《thinkphp学习笔记.docx》由会员分享,可在线阅读,更多相关《thinkphp学习笔记.docx(37页珍藏版)》请在冰豆网上搜索。

thinkphp学习笔记.docx

thinkphp学习笔记

一、框架文件介绍

二、创建应用

1.在项目目录创建入口文件

2.创建虚拟主机,访问应用

三、路由形式

1.什么是路由

答:

系统从URl参数中分析出当前请求分组、控制器和操作的过程就是“路由”。

2.Tp框架路由共有4种形式

①基本get形式

http:

//网址/index.php?

m=分组&c=控制器&a=操作方法

该方式是最底层的get形式、传统的参数传递方式,不时尚、不安全。

②pathinfo路径形式[默认方式]

http:

//网址/index.php/分组/控制器/操作方法

http:

//网址/index.php/Home/Index/advert

③rewrite重写形式(伪静态技术)省略index.php入口文件

http:

//网址/分组/控制器/操作方法

http:

//网址/Home/Index/index

④兼容形式

http:

//网址/index.php?

s=/分组/控制器/操作方法

http:

//网址/index.php?

s=/Home/Index/advert

以上四种形式除了第③种,其他的url模式都可以使用

4、创建控制器

5、View视图模板

 

1.简单模板view调用

$this->display();//模板名称与当前控制器、当前操作方法的名称一致

$this->display(模板名称);//调用当前控制器对应目录指定名称的模板

$this->display(控制器/模板名称);//调用其他控制器下的具体模板文件

Tp框架有两种模式:

开发(调式)、生产【默认】

生产模式:

错误提示模糊

开发模式:

错误提示友好

define(‘APP_DUBUG’,true);//开发

define(‘APP_DUBUG’,false);//生产

2.已有模板与tp框架做结合

具体实现步骤:

A.复制模板文件到View指定目录

B.复制css、img、js静态文件到系统指定目录

C.把静态资源(css、img、js)文件的路径设置为“常量”信息(在index入口文件设置)

D.在模板文件中通过常量引入静态资源(css、img、js)文件,路径相对入口文件设置

最好设置绝对地址(相对工作站点虚拟主机目录的绝对地址)

为了后期模板维护方便,通过常量设置静态资源文件访问目录地址

E.css文件本身的图片设置,其路径相对css文件本身设置

后续a、d重复实现即可

2.1静态资源文件引入

2.2静态资源文件存放

①通过独立路由可以访问

②不要暴露太多目录信息

在模板index.html里边引入css文件,相对地址为什么相对index.php入口文件设置?

Index.php+Controller控制器+模板文件==混编文件引入css文件

2.3css文件引入图片

路径设置绝对、相对地址:

一个文件引入另一个文件,另一个文件的相对地址就相对引入文件设置。

Index.php----------------------------------->style.css

Style.css----------->引入------------->img图片,图片地址相对style.css文件设置

原因:

style.css是向服务器发送一个独立的http请求的,因此style.css和img图片是一个单位的信息,与具体index.php文件没有任何关系。

模板文件中引入css样式文件

引用路径问题:

【相对】、【绝对】

相对路径:

相对入口文件index.php设置

绝对路径:

从虚拟主机站点目录开始设置的

Css样式文件引入图片,路径的设置

绝对、【相对】

相对地址:

相对css文件本身设置

①模板文件引入css样式文件

(css的相对路径可以相对index.php入口文件设置)

Index.php+Controller控制器+模板文件==混编文件引入css文件

②css样式文件引入css样式文件引入img图片

Index.html------>css样式--------->img图片

(图片的相对路径是css文件本身)

Css样式文件被浏览器发送一个独立请求,因此内部img只于css文件有关系,与其他文件没有关系

文件被谁引入的,其相对地址就相对引入文件设置

2.4在入口文件处设置常量引入静态资源文件

六、后台页面搭建

1.分组设置

分组:

同一个项目里边,由于业务规则的划分,有多个相关的功能模块,它们都有独立的控制器、view视图、配置文件、函数库文件等文件,为了开发维护方便,就给它们创建独立的分组出来,每个分组都有自己的控制器、view视图、配置文件、函数库文件。

如果还有其他的业务规则模块,也都是独立的,可以继续创建分组。

对分组进行访问:

http:

//网址/index.php/分组/控制器/操作方法

每个分组下的文件文件目录可以参考Home进行设置,他们都是平等的。

 

2.搭建Admin后台登录页面

3.后台首页面搭建

Tp框架提供了常量

http:

//网址/index.php/分组/控制器/操作方法/名称/值/名称/值

__MODULE__:

路由地址分组信息(http:

//网址/index.php/分组)

__CONTROLLER__:

路由地址控制器信息(http:

//网址/index.php/分组/控制器)

__ACTION__:

路由地址操作方法信息(http:

//网址/index.php/分组/控制器/操作方法)

__SELF__:

路由地址的全部信息(http:

//网址/index.php/分组/控制器/操作方法/名称/值/名称/值)

MODULE_NAME:

分组名称

CONTROLLER_NAME:

控制器名称

ACTIOIN_NAME:

操作方法名称

 

4.Frame的src属性值

每个frame的src属性值需要通过独立路由地址访问,给每个src根据__CONTROLLER__常量

设置绝对路径。

5.后台商品相关页面搭建

七、细节处理

1.配置文件介绍

①ThinkPHP/Conf/convention.php系统主要配置文件

②shop/Common/Conf/config.php当前shop项目的配置文件

③shop/Home/Conf/config.php当前shop项目Home分组的配置文件

以上三个配置文件,如果存在同名的配置变量,后者会覆盖前者。

系统里边并不是全部的配置变量都有有convention.php里边定义

A.大部份在convention.php有定义

B.在Behavior行为文件里边有定义一部分(例如:

SHOW_PAGE_TRACE)

C.在框架的代码角落里边有零星的一点配置变量(例如:

MOUDLE_ALLOW_LIST)

 

2.默认分组设置

3.框架的两种模式

开发和生产模式

入口文件index.php:

define(‘APP_DEBUG’,true);//开发调式模式

define(‘APP_DEBUG’,false);//线上生产模式【默认】

开发模式(调式模式):

每次请求会加载每个应用程序文件,比较耗费资源,错误提示比较友好。

会自动清除common~runtime.php文件,会依次加载每个需要文件

生产模式(线上模式):

该模式比较节省资源,会把请求过程中的一些通用程序文件给“编译”到一个文件里边(shop/Runtime/common~runtime.php),这样系统的每次请求加载的文件数目就比较少(节省了许多文件打开、关闭的开销)

错误信息模糊,不方便调式

4.开启Smarty模板引擎

5.smarty模板{}标记有冲突

{}与css或js有冲突解决:

①在{}与内容中间设置空格

②使得{}左右标记换行

③设置{literal}{/literal}

④变换smarty的标记符号

6.页面底部设置跟踪信息

八、框架的执行流程(了解)

Index.php----->..ThinkPHP/ThinkPHP.php------->Think/Think.class.php-->Think/App.class.php

9、总结

1.创建应用

2.四种路由形式

http:

//网址/index.php?

m=分组&c=控制器&a=操作方法

http:

//网址/index.php/分组/控制器/操作方法默认

http:

//网址/分组/控制器/操作方法

http:

//网址/index.php?

s=分组/控制器/操作方法

3.控制器调用视图模板

$this->display();

$this->display(模板名称);

$this->display(控制器/模板名称);

4.已有模板与框架结合

①复制模板文件到view目录

②复制css/js/img静态资源文件到Public目录下

③给静态资源文件访问的路径设置常量

④在模板文件中通过常量访问静态意资源文件

⑤css文件本身有图片,图片设置为该css文件本身的相对路径访问

5.创建Admin分组

6.使用系统常量

__CONTROLLER__

__MODULE__

__ACTION__

__SELF__

MODULE_NAME

CONTROLLER_NAME

ACTION_NAME

7.配置文件

ThinkPHP/Conf/convention.php

Shop/Common/conf/config.php

Shop/Home/Conf/config.php

8.两种模式

开发调式模式define(APP_DEBUG,true);

线上生产模式define(APP_DEBUG,false;

9.开启Smarty模板引擎

设置配置变量TMPL_ENGINE_TYPE=====Smarty

10、数据库操作Model模型

1.连接配置数据库

2.创建model模型类

原则上每个数据表都对应一个model模型类

在php.ini中修改

3.两种方式实例化model对象

3.1实例化普通Model对象

$model=new\Model\XXXModel();

除了可以实现简单操作(调用父类Model方法实现)

也可以实现一些复杂操作(调用具体普通model方法实现)

3.2实例化基类Model对象

可以实现对数据库的基本操作

$model=D();

$model=D(‘Goods’);

(该方式允许我们即使不创建具体的model模型类文件,也可以对数据表的数据进行操作)

如果一个数据表没特殊方法要求,就可以通过D(XXX)进行操作。

如果数据表有特殊方法要求(例如用户名和密码判断需要一个特殊方法),就需要在普通model模型类里边定义好,通过new\Model\XXXModel()形式实例化对象,进而操作特殊方法。

11、数据基本操作

1.数据查询操作

调用方法:

model对象->select()

具体使用:

$model->select();//查询并返回数据表的全部记录信息

$model->select(主键id值);//查询主键信息等于条件id值的记录

$model->select(‘id1,id2,i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1