1.入口文件中定义的内容

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);
// 定义应用目录
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
//定义根目录的绝对地址
define('ROOT',str_replace("\\","/",dirname(__FILE__)));

2.U方法的参数规则

('地址表达式',['参数'],['伪静态后缀'],['显示域名'])

地址表达式:[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...

3.如何判断请求类型,常用的请求方式有哪两种,I方法的参数规则?

判断请求类型:REQUEST_METHOD
常见的请求方式:get post
I方法的参数规则:I('变量类型.变量名',['默认值'],['过滤方法'],['额外数据源'])

  注意:变量类型不区分大小写。
  变量名则严格区分大小写。
  默认值和过滤方法均属于可选参数。

4.成功和失败,重定向跳转的方法以及参数规则。

success('成功条件','跳转地址',‘跳转时间’);

注意:方法的默认跳转地址是$_SERVER["HTTP_REFERER"],

error('错误提示','跳转地址',‘跳转时间’);

注意:默认的等待时间success方法是1秒,error方法是3秒

重定向到New模块的Category操作
重定向:$this->redirect('New/category', array('cate_id' => 2), 5, '页面跳转中...');

重定向到指定的URL地址

redirect('/New/category/cate_id/2', 5, '页面跳转中...')

5.URL的四种模式,简述每种形式的规则

普通模式:http://localhost/?模块=home&控制器=user&操作=login&var=value
pathinfo模式:http://localhost/index.php/home/user/login/var/value/
REWRITE模式:http://localhost/home/user/login/var/value
兼容模式:http://localhost/?s=/home/user/login/var/value

6.TP常用的配置文件有哪几个?配置文件的加载顺序依次是什么?

配置文件:1.惯例配置:框架内置配置文件(位于ThinkPHP/Conf/convention.php
     2.应用配置:应用配置文件也就是调用所有模块之前都会首先加载的公共配置文件(默认位于Application/Common/Conf/config.php
     3.模块配置:每个模块会自动加载自己的配置文件(位于Application/当前模块名/Conf/config.php
加载顺序:惯例配置--->应用配置--->模块配置

7.模版渲染display方法的参数规则

display('[模板文件]'[,'字符编码'][,'输出类型']);
模板文件的写法支持下面几种:

8.常用的模版内置标签以及在模版中使用的示例,举出5个!

1.<foreach name='' item='' key=''></foreach>
2.<volist name='' id=''></volist>
3.<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" ></for>
4.比较标签:
<eq name="name" value="value">value</eq>
5.范围判断标签:<in name="id" value="1,2,3">id在范围内</in>
6.<if condition="$value eq $k">value</if>
7.
<empty name="name">name为空值</empty>
8.
<import file="Js.Util.Array" basepath="其他目录" />//起始路径是Public目录

9.模版包含的参数规则以及举例说明

include标签用法:<include file='模版表达式或者模版文件1,模版表达式或者模版文件2,...' />

  模版表达式的定义规则为:模块@主题/控制器/操作



          1.使用模板表达式:例如: 

          2.使用模板文件:可以直接包含一个模板文件名(包含完整路径),例如:<include file="./Application/Home/View/default/Public/header.html" /
          
          3.传入参数:<
include file="Public/header" title="ThinkPHP框架" keywords="开源WEB开发框架" />
                  模板中使用:

10.三大自动的参数规则

字段映射:protected $_map=array(
        '表单中的名'=>‘字段名’//把表单中的name名映射到数据表中的字段名
      );
自动验证:protected $_validate=array(
        array('字段名','验证规则','提示信息','验证条件','附加规则','验证时间'),
      );
自动完成:protected $_auto=array(
        array('字段名','验证规则','验证时间','附加规则'),
      );

11.举例描述上传类在控制器中调用的全过程代码(要求包含控制器的代码以及模型类新增数据到数据库的全部代码),并说明表单中需要注意的内容!

模型类:
public function doUpload(){
if(empty($config)){
$config = array(
'maxSize' => 3145728,
'rootPath' => './Public/',//保存根路径,一定要重新设置,否则无法找到根路径
'savePath' => 'Uploads/',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
}
$upload=new Upload($config);
$info=$upload->upload();
if(!$info){
$this->error=$upload->getError();
return false;
}
foreach($info as $key=>$v){
$pic[$key]=$v['savepath'].$v['savename'];
}
return $pic;
}
控制器:
$pic=$this->work->doUpload();
$_POST['图片字段']=$pic['图片字段'];//添加到数据库中
表单中需要注意的内容:
1.<form action="" method="post" enctype="multipart/form-data" ></form>
2.<input type="file" name="" value="">
3.注意rootPath路径。
注意:保存根路径,一定要重新设置,否则无法找到根路径

ThinkPHP基础知识的更多相关文章

  1. TP框架---thinkphp基础知识

    php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困 ...

  2. ThinkPHP -- 基础入门

      ThinkPHP文件结构说明: |——ThinkPHP.php    框架入口文件    |——Common            框架公共文件目录    |——Conf              ...

  3. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  4. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  5. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  6. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  7. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  8. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

随机推荐

  1. PredictionIO+Universal Recommender快速开发部署推荐引擎的问题总结(2)

    1, 对Universal Recommender进行pio build成功,但是却提示No engine found Building and delpoying model [INFO] [Eng ...

  2. Vue入门总结

    技术栈:VUE:Vue-router:Vue-resource:Vue-cli: 项目:个人博客vue重构 一.vue-cli脚手架搭建项目结构 全局安装vue-cli: npm install vu ...

  3. Python学习(二):函数入门

    1.函数代码格式: def 函数名(): 函数内容 执行函数:函数名() 2.代码举例: #!/usr/bin/env python #coding=utf-8 #定义函数 def Func1(): ...

  4. Spring任务调度之Quartz集成

    推荐一个博客:http://blog.csdn.net/column/details/14251.html 基本概念 Job:是一个接口,只有一个方法void execute(JobExecution ...

  5. curl 命令详解

    curl命令是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具.作为一款强力工具,curl支持包括HTTP.HTTPS.f ...

  6. Python安装和开发环境搭建

    1.官网:http://www.python.org/download/下载安装包,目前最新版本为3.6,安装包很多地方可以下,也可以在360软件管家上下载安装  特别要注意勾选:Add Python ...

  7. jquery通过ajax查询数据动态添加到select

    function addSelectData() { //select的id为selectId //清空select中的数据 $("#selectId").empty(); $.a ...

  8. idea为tomcat设置虚拟地址

    1.设置tomcat的server.xml <Host name="localhost" appBase="webapps" unpackWARs=&qu ...

  9. 解决adb push时出现的"Read-only file system"问题

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  10. python pandas 合并数据函数merge join concat combine_first 区分

    pandas对象中的数据可以通过一些内置的方法进行合并:pandas.merge,pandas.concat,实例方法join,combine_first,它们的使用对象和效果都是不同的,下面进行区分 ...