tp框架总体学习总结(一)
一、TP框架的下载和安装
Tp框架下载网址:http://www.thinkphp.cn/
在wamp的www目录下创建一个目录tpshop目录
1. 将下载好的包压缩后将文件包里的所有文件复制到创建项目的根目录(tpshop)中
|Application
|Public
|ThinkPHP
|.htaccess
|composer.json
|index.php
|README.md
2.index.php就是我们要创建的项目的入口文件
// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);
//定义项目名称
define('APP_NAME','App');
// 定义项目路径
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
3.访问localhost/tpshop/index.php/App/Index/index此时项目就创建好了
Common 项目公共文件目录 一般放置项目的公共函数
Conf 项目的配置目录 放置所有的配置文件
Lib 项目类库目录 包括Action和Model子目录
Tpl 项目的模板目录 支持模板主题
Extend 框架的扩展目录
4.错误日志位置
Runtime/logs/ cache 编译目录
5.Tp访问地址参数
http://localhost/tpshop/index.php/APP/Index/index/10;
6.模板标签配置和数据库配置!模板标签默认是{};也可以进行更改、在配置文件中
return array(
/**************定界符***********/
'TMP_L_DELIM' => '<{',
'TMP_R_DELIM' =>'}>',
/**********************/
'DB_TYPE' => '', // 数据库类型
'DB_HOST' => '', // 服务器地址
'DB_NAME' => '', // 数据库名
'DB_USER' => '', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 数据库表前缀
'DB_PARAMS' => array(), // 数据库连接参数
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志
'DB_FIELDS_CACHE' => true, // 启用字段缓存
'DB_CHARSET' => 'utf8', //
);
7.__ROOT__输出的是项目根目录; /tpshop
__APP__当前项目的路径 /tpshop/index.php
__URL__当前项目的模块 /tpshop/index.php/Index
__ACTION__当前项目的操做的URL地址 /tpshop/index.php/Index/index
__PUBLIC__ 会被替换成当前项目的 Public目录
__SELF__ 会替换成当前的URL
注意:tp中静态资源一定要网站的绝对路径
8.Thinkphp支持四种URL模式
① 普通模式
http://localhost/test/index.php?m=Index&a=index&id=10
获取模块和方法名称
MODULE_NAME
ACTION_NAME
②pathinfo模式
http://laocalhost/test/index.php/Index/index/id/10;
③rewrite模式
http://localhost/test/Index/index/id/10;
使用rewrite模式一定要修改apache配置文件
1)开启 LoadModule rewrite_module modules/mod_write.so
2)修改网站根目录支持rewrite地址重写
<Directory "C://AppServ/www">
Options Indexs FolloewSymLinks
#一定要把multivews去掉
AllowOverride All
Order allow,deny
Allow from all
</Directory>
3)重启apache
4) 把.htaccess放到入口文件的目录下:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
④兼容模式
http://localhost/test/?s=/Index.index/id/10;
9.配置中默认访问模块和方法
'DEFULT_MODULE' => 'Index' //默认模块名称
'DEFAULT_ACTION' => 'index' //默认操作方法
10 读取配置
C(‘参数名称’); //获取config中的设置的参数值
11.显示模板 $this->display(); 分配变量到模板:$this->assign('data',$data);
本模块地址跳转$this->success('ok','index');
跨模块跳转:$this->success('添加成功',U('Login/index'));
重定向 $this->redirect();
12 支持多函数过滤
"DEFAULT_FILIER" => "trim,htmlspecialchars,strip_tags";
tp框架总体学习总结(一)的更多相关文章
- TP框架代码学习 学习记录 3.2.3
文件:think.class.php PHP提供register_shutdown_function()这个函数,能够在脚本终止前回调注册的函数,也就是当 PHP 程序执行完成后执行的函数.regis ...
- tp框架验证信息
今天在这里我们学习一下tp框架里面怎么做验证. 验证又分为两种:静态验证.动态验证 首先,我们还是先做一个html界面,名为add.html.代码如下: <!DOCTYPE html PUBLI ...
- TP框架多上传域上传图片
问题: 学习使用TP框架做电商网站是,添加商品表单需要上传商品logo和商品图片pics,有两个上传域,第一个上传域是logo,只上传一张,第二个上传域是pics,上传多张图片.使用如下代码,总是报错 ...
- TP框架 基础1
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...
- TP框架---thinkphp基础知识
php框架 发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困 ...
- swoole之 swoole_process 应用于TP框架
swoole_process 实现了多进程的管理,多个进程同时进行采集任务, 公司的框架比较low,用的tp框架,结合tp框架实现多进程的采集 这是swoole好的学习资源 https://segme ...
- DIY.NETORM框架——总体分析
一.故事 近些年一直开发MIS系统,用过PB,VB,C# .如今学了半年的java,早先听人说,.NET和 java一直就是互相借鉴.一起升级.都是为了让程序开发趋于简单,高校,而这不可避免就肯定用 ...
- TP框架基础(一)
[使用框架] 官网:thinkphp.cn. 目前建议使用thinkPHP3.2版本 一.结构目录>Thinkphp文件夹,是thinkPHP的核心文件,里面的内容是不允许我们修改的 > ...
- tp框架实现验证码
今天来看一个小插件. tp框架是怎么实现验证码的. 又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html <!DOCTYPE html PUBLIC &q ...
随机推荐
- pt-table-checksum 检查主从数据一致性
http://www.cnblogs.com/xiaoyanger/p/5584554.html http://www.cnblogs.com/gomysql/p/3662264.html https ...
- Javascript模式(第五章对象创建模式)------读书笔记
一 命名空间模式 1 命名空间模式的代码格式 var MYAPP={ name:"", version:"1.0", init:function(){ } }; ...
- PHP MYSQL单向同步方案
项目上有个需求,需要从外网服务器的MYSQL同步到本地服务器上. 思路如下: 1 在外网MYSQL中创建表 table_change_log ,记录表中数据的更改记录. DROP TABLE IF E ...
- HackerRank "Equal Stacks"
Greedy - though simple, but fun! #include <vector> #include <iostream> using namespace s ...
- Java BigDecimal和double
BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...
- BaiduTemplate模板引擎使用示例附源码
1.新建项目,asp.net 空Web应用程序 添加data,js,styles,templates文件夹,添加baiduTemplate.js,jquery.js,bootstrap.css 2.添 ...
- Xposed Module开发教程1
看了一下文档,发现Xposed这货实在太强大了,它直接对Zygote做了一些手脚,简直是无所不能.缺点就是需要安装一下框架.基本原理就是把Android 系统的app_process给替换了,然后启动 ...
- 为什么在ucos向stm32f103移植时说os_cpu_c.c中有三个函数如OS_CPU_SysTickInit()需要注释掉
我在看os_cpu_c.c代码时对下面这段话困惑了半天总是在百度的帮助下找到了答案 /* 申明几个函数,这里要注意最后三个函数需要注释掉,为什么呢? OS_CPU_SysTickHandler ...
- WinRAR压缩操作帮助类
//------------------------------------------------------------------------------------- // All Right ...
- seo高级指令
1.双引号:完全匹配2.减号(-):代表搜索不包含减号后面的启事的页面3.星号(*):是常用的通配符,百度不支持4.inurl:指令用于搜索查询词出现在URL中的页面5.inanchor:指令返回的结 ...