ThinkPHP基本知识点

下载获取:www.thinkphp.cn

配置

1.创建网站根目录  2.放置thinkPHP框架目录    3.浏览器下访问单入口文件

目录简介

Application

├─Common 应用公共模块

│ ├─Common 应用公共函数目录

│ └─Conf 应用公共配置文件目录

├─Home 默认生成的Home模块

│ ├─Conf 模块配置文件目录

│ ├─Common 模块函数公共目录

│ ├─Controller 模块控制器目录

│ ├─Model 模块模型目录

│ └─View 模块视图文件目录

├─Runtime 运行时目录

│ ├─Cache 模版缓存目录

│ ├─Data 数据目录

│ ├─Logs 日志目录

│ └─Temp 缓存目录

使用        C

创建控制器

1.在模块儿目录下的Controller目录创建文件文件名格式

UserController.class.php

2.控制器文件中的内容

<?php

namespace Home\Controller;

use Think\Controller;

class UserController extends CommonController {

}

控制器方法的访问

index.php?m=Home&c=User&a=delete

index.php/Home/User/delete

mac三个字母不能用来传递参数

M

1.数据库配置

//数据库配置信息

‘DB_TYPE‘ => ‘mysql‘, // 数据库类型

‘DB_HOST‘ => ‘127.0.0.1‘, // 服务器地址

‘DB_NAME‘ => ‘lamp‘, // 数据库名

‘DB_USER‘ => ‘root‘, // 用户名

‘DB_PWD‘ => ‘‘, // 密码

‘DB_PORT‘ => 3306, // 端口

‘DB_PREFIX‘ => ‘‘, // 数据库表前缀

‘DB_CHARSET‘=> ‘utf8‘, // 字符集

2.创建对象 :$user = M(‘user‘);

3.进行数据库操作

增加:$user->add($data);    $user->data($data)->add();    $user->create();$user->add();

删除:$user->delete($id);    user->where("id=100")->delete();

修改:$user->save($data);        $user->where("id=100")->save($data);

$user->create();$user->save();

查找:获取单条$user->find($id);    $user->where()->find()

获取多条:连贯操作$user->field()->where()->limit()->order()->select()

直接发送sql        :$user->query(‘select * from user‘)

V

变量分配:$this->assign(‘title‘,‘thinkphp‘);

模板解析:$this->display();

默认找的模板文件    :view    |---控制器同名目录    |---|---方法名.html

$this->display(‘add‘);    默认找的模板文件view    |---控制器同名目录    |---|---add.html

$this->display(‘User/add‘);    默认找的模板文件 view    |---User    |---|---add.html

模板引擎:变量输出:{$title}

修改定界符:‘TMPL_L_DELIM‘ => ‘<{‘,    ‘TMPL_R_DELIM‘ => ‘}>‘

超全局变量

{$Think.server.script_name} // 输出$_SERVER[‘SCRIPT_NAME‘]变量

{$Think.session.user_id} // 输出$_SESSION[‘user_id‘]变量

{$Think.get.name} // 输出$_GET[‘name]变量

{$Think.cookie.name} // 输出$_COOKIE[‘name‘]变量

{$Think.post.name} // 输出$_POST[‘name‘]变量

函数使用:{$name|md5}

自定义函数存放的位置    :Home/Common/function.php    :Common/common/function.php

{$name|substr=1,4}    {:substr($name,1,4)}

默认值:{$info|default="这家伙很懒,什么也没留下"}

三元运算符:{$status?‘正常‘:‘错误‘}

模板替换

__ROOT__: 会替换成当前网站的地址(不含域名)

__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/

__APP__: 会替换成当前应用的URL地址 (不含域名)

__MODULE__:会替换成当前模块的URL地址 (不含域名)

__CONTROLLER__(__或者__URL__ 兼容考虑): 会替换成当前控制器的URL地址(不含域名)

__ACTION__:会替换成当前操作的URL地址 (不含域名)

__SELF__: 会替换成当前的页面URL

内置标签

忽略解析:<literal></literal>

包含文件:<include file="Public/header" />

模板继承:<extend name="base" />

模板注释:{/* 注释内容 */ } 或 {// 注释内容 }

foreach    :<foreach name="list" item="vo" >    {$key}|{$vo.id}:{$vo.name}    </foreach>

支持多层遍历 (最多3层)

if    <if condition="($name eq 1) OR ($name gt 100) "> value1

<elseif condition="$name eq 2"/>value2

<else /> value3

</if>

在条件字符串中 不允许出现 > <

比较标签:    <eq name="name" value="value">相等

<else/>不相等

</eq>

php:    <?php echo ‘Hello,world!‘; ?>        <php>echo ‘Hello,world!‘;</php>

调试:开启debug模式    :define(‘APP_DEBUG‘, true);

开启trace调试:‘SHOW_PAGE_TRACE‘ =>true,

变量调试    :    dump函数

获取最后一条sql执行语句:    $user->getLastSql();    $user->_sql();

特别是针对数据库操作

查看编译缓存

当进行模板操作的时候 ,如果模板的显示结果跟预想的不一样 这个时候可以尝试去查看编译缓存,根据模板的解析结果 去模板中进行调整

// 调试问题的时候 源代码是一个分界线 如果源代码中的内容没有错误 证明服务器没有问题 如果源代码出现异常 这个时候证明是服务器出了问题

网站搭建步骤

thinkphp配置

将静态模板放置在网站目录下(Public)

将静态html的代码 复制到当前自己的模板中

调整css和js文件的路径(img)

通过查看firebug来确定当前页面缺少哪些文件

时间: 2024-10-31 11:29:42

ThinkPHP基本知识点的相关文章

Thinkphp 零散知识点

一.关于JS和CSS路径问题 1.找路径是从入口文件index.php来找的,而不是从文件本身所在位置来找, 因为我们访问时是访问的入口文件 2.在存放JS和CSS的时候可以放到public文件夹下 3.可以使用标签引入: 3.1 import标签 传统方式的导入外部JS和CSS文件的方法是直接在模板文件使用: 系统提供了专门的标签来简化上面的导入: 3.2 load标签 load标签,通过文件方式导入当前项目的公共JS或者CSS 3.3js和css标签 系统还提供了两个标签别名js和css 用

Thinkphp简易知识点(二)

1.简述MVC的原理以及单入口模式的好处? 单入口模式的好处:安全,灵活.可集中进行安全处理,访问统计等统一控制. 2.入口文件中为什么要判断PHP版本,TP要求PHP的版本是什么? 因为ThinkPHP3.2引入了命名空间的概念,PHP5.3以上(包含PHP5.3)的版本才支持 PHP版本不能小于5.3.0 3.控制器的定义规则是什么(含控制器名.控制器类名和控制器类文件名),并举出一个例子? 控制器名: 首字母大写.例:Index 控制器类名:控制器名+Controller.例:IndexC

ThinkPHP讲解(一)框架基础

ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC.AR数据库.单例等等.框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次. 为什么使用框架 框架可以帮组我们快速.稳定.高效搭建程序系统 该系统由于框架的使用使得本身的维护性.灵活性.适应客户需求方面得到最大化的增强. 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关

学习ThinkPHP框架必须了解的知识点(一)

1.框架:有大量的类.方法.函数按一定的逻辑组成的集合: 2.MVC(Model-View-Controller):即模型-视图-控制器这种编程模式:  M->Model:实体层,它主要是对数据库的操作:每一个Model.cs文件对于一张数据表,和它相应的数据库库操作:  V->View:视图层,可以简单的理解为模板,主要是展示作用:  C->Controller:控制层(控制器),对数据进行分析.过滤:它向上连接视图层,向它提供从数据口读取的数据,向下连接实体层,控制数据的读取.  M

关于ThinkPHP的一点小小知识点的补充

1.首先将模板加载到模板引擎中去,然后模板开始解析(优先级是:首先解析内置函数(就是模板引擎的内置函数),然后在解析定义函数(如ThinkPHP内置的U,F函数)),最后再返回到模  板.  如果在模板中ThinkPHP的内置函数中掺杂着js代码,那么js或者将无法运行,或者进行强制转换:反之,如果在js代码掺杂了ThinkPHP的内置函数中,是可以运行成功的. 2.关于ThinkPHP的分页(ThinkPHP3.2.3):  a.分页类位于ThinkPHP/Library/Think/Page

thinkphp知识点

ThinkPHP php框架 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4.

ThinkPHP中的模型

ThinkPHP中的模型 1.什么是模型(Model) 模型表示企业数据和业务规则,实际项目开发中,主要实现与数据库进行操作. 2.模型的定义规则 模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,然后加上模型类的关键词Model,再加上类文件后缀.class.php 案例:实现移动办公自动化系统的组织结构功能 ① 设计数据库db_think ② 设计数据表结构(tk_dept) id ???? 编号 ????int 自动增长 主键 name 部门名称 varchar(4

thinkphp框架中“关联操作”的完整定义详解

在复杂的关联操作中,如果要给关联定义增加可选的属性,我们可以采用完整定义的方式. 完整定义的格式是: protected $_link = array( '关联表名1'  =>  array( '该表的关联方式的属性1' => '定义', '该表的关联方式的属性N' => '定义', ), '关联表名2'  =>  array( '该表的关联方式的属性1' => '定义', '该表的关联方式的属性N' => '定义', ), ... ); 在上面的格式描述中,对于属性我

thinkphp ajax删除 隐藏与显示

知识点: 1.ajax删除: 2.一个同步实现三个异步的效果. html 部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea