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. 关于博客中引用多媒体出现的bug说明

    插件说明 Aplayer.Dplayer @DIYgod 大佬在gihub的开源项目,对此,表示非常之感谢!! Aplayer 支持放在页首 支持放在页尾 但是不支持直接放在文章中引用 解决方法: 1 ...

  2. 深入理解用户权限rwx

    其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是1,表示有相应的权限,如果是0则没有相应权限第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于 ...

  3. Linux根目录详解-转自鸟哥的私房菜

    转自:http://myhat.blog.51cto.com/391263/107931/   *根目录(/)的意义与内容: 根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的 ...

  4. Linux第九讲随笔 -进程管理 、ps aux 、

    Linux第九讲1,进程管理 Linux在执行每一个程序时,就会在内存中为这个程序建立一个进程,以便让内核可以管理这个运行中的进程,进程是系统分配各种资源,进程调度的基本单位. 怎么查看进程 一.ps ...

  5. python 中一些关键字的区别

    一.raw_input 和input input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 1.当输入为纯数字时 input返回的是数值类型, ...

  6. 阿里云 redis 通过rinetd 进行端口透传

    https://help.aliyun.com/document_detail/43850.html?spm=5176.7738718.2.3.yW2eyQ 目前云数据库 Redis 版需要通过 EC ...

  7. 【转】教你开发jQuery插件

    阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原文:http://www.cnblo ...

  8. Struts2下载

    package com.tcf.action; import java.io.BufferedInputStream; import java.io.FileInputStream; import j ...

  9. Nginx集群之WCF分布式消息队列

    目录 1       大概思路... 1 2       Nginx集群之WCF分布式消息队列... 1 3       MSMQ消息队列... 2 4       编写WCF服务.客户端程序... ...

  10. Git-分布式版本控制系统(二)

    工作区(Woring directory ) 版本区(repository,即隐藏的.git文件) Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git ...