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 ...
随机推荐
- IOS开发之网络编程开源类 Reachability应用
先看Reachability.h发现 #import <Foundation/Foundation.h> #import <SystemConfiguration/SystemCon ...
- [2015.08.13]万峰快递单打印软件 v2.2
<万峰快递单打印软件>是一款简单易用,且支持所有快递单的打印软件.1.支持文字打印位置的坐标精确定位和微调的打印工具.2.操作灵活,只需录入收件人和发件人信息即可打印:3.快递单打印尺寸和 ...
- input输入框文字提示IE兼容
<script src="assets/js/jquery-1.9.1.min.js"></script> <script> /* * jQue ...
- Best Practices for Background Jobs_3 Managing Device Awake State之电源锁、Alarm、WakefulBroadcastReceiver
http://developer.android.com/training/scheduling/index.html 当静置一个设备的时候,先会屏幕变暗,然后关闭屏幕,最后关闭CPU,以省电.但有的 ...
- 为Asp.net WebApi 添加跨域支持
Nuget安装包:microsoft.aspnet.webapi.cors 原文地址:https://www.asp.net/web-api/overview/security/enabling-cr ...
- 01从c到c++
c++的发展历史 + 80年代贝尔实验室 本贾尼 + 83年 正式命名c++ + 87年 gnu制定了c++标准 + 92年 微软和IBM分别制定了c++标准 + 98年 ansi ISO 制定了标 ...
- 循环语句--for
1.guess_age优化版v1.py #coding=utf-8 age = 22 for i in range(10): if i < 3: guess_num = int(input('i ...
- 错误: 未能从 xmlsocket://127.0.0.1:5840 中加载策略文件
看看你是否使用了MonsterDebugger,如果是这样的话, 因为那个 MonsterDebugger 没有启动 删掉MonsterDebugger的代码吧
- Oracle 记录插入时“Invalid parameter binding ”错误
出现这种错误的原因可能有一下几种: 由于OracleParameter[] parameters:中parameters的个数和对应的插入SQL语句中的冒号个数不等: 参数个数和冒号个数相等,但是如下 ...
- 一个非常牛比的前端google插件
WEB前端助手(FeHelper) 用了都说好,嘻嘻