ThinkPHP分组
'APP_GROUP_LIST' => 'Index,Admin', //项目分组设定
'DEFAULT_GROUP' => 'Index', //默认分组
THinkphp--URL样式
紧接上次没解决的问题---URL的样式,在这个分组中,需要从前端post数据并且调用Index中的一个方法,
实属无奈,改过php.ini/apache--http.conf等, 依旧无效, 记得将URL_MODEL改为0,打印的URL为一般
形式,故将此改为'URL_MODEL' => 0,来先不至于<从入门到放弃>!
ThinkPHP--IS_AJAX
来自知乎的解释:https://www.zhihu.com/question/20874229
ajax的全称是AsynchronousJavascript+XML。
* 异步传输+js+xml。
* 所谓异步,在这里简单地解释就是:向服务器发送请求的时候,我们不必等待结果,
* 而是可以同时做其他的事情,等到有了结果我们可以再来处理这个事。
* (当然,在其他语境下这个解释可能就不对了)
*
* 总结:只要是JS调用异步通讯组件
* 并使用格式化的数据来更新web页面上的内容或操作过程,
* 那么我们用的方法就可算是AJAX。
*
*
* 可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
* (集体拍照,缺少某个人; 重新拍照理解为重新加载网页, ps为AJAX)
*
ThinkPHP--- I 方法
命名来自于英文Input(输入)
,主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:
I('变量类型.变量名',['默认值'],['过滤方法'])
- echo I('get.id'); // 相当于 $_GET['id'];
- echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0;
- echo I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_GET['name'] 进行过滤,如果不存在则返回空字符串;
- I('get.'); // 获取整个$_GET 数组;
- post类型 I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0
// 'username' => I('post.username'),
//会自动判断,所以不用写
ThinkPHP---打印方法
/*
* var_dump -- 打印变量的相关信息
* 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。
*
* var_export -- 输出或返回一个变量的字符串表示
* 此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,
* 不同的是其返回的表示是合法的 PHP 代码。
*
* */
ThinkPHP---文件读写
定义和用法
file_put_contents() 函数把一个字符串写入文件中。
与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
语法:file_put_contents(file,data,mode,context)
- 步骤:写入文件的顺序,先创建一个目录文件--data, 并找到该路径进行写入
- 例子:file_put_contents('./data/phiz.php', $str);
- 直接根据某个路径读数据
- $phizArray = include './data/phiz.php';
thinkphp---F方法
仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是PHP返回方式,所以其效率较S方法较高,因此我们也称之为快速缓存方法。
简单数据缓存;
文件形式保存;
采用PHP返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;
F( 存储的名称, 数据, 路径);
F('user/data',$data); // 缓存写入
F( 存储的名称, '', 路径);
F('user/data'); // 读取缓存
ThinkPHP---后台登录验证与自动运行方法
创建数据库
创建数据库/表
create table hhw_user(id int unsigned not null primary key auto_increment,
username char(20) not null default '',
password char(32) not null default '',
logintime int(10) unsigned not null, loginip varchar(20) not null,
`lock` tinyint(1) unsigned not null default 0,
unique(username))
engine myisam default charset utf8;
默认管理员
insert into hhw_user set username = 'admin', password = md5('admin'),
logintime = unix_timestamp(now()), loginip = '127.0.0.1';
分组模式下的模块配置
<?php
/**
* Created by PhpStorm.
* User: BWF-HHW
* Date: 16/5/10
* Time: 下午3:16
*/
return array(
/**分组模式下,为了分模块,将HTML中的路径前缀改为__PUBLIC__,
* 然后映射到模块下存放css/js的文件夹
*
* 默认情况下__PUBLIC__指的是根目录下的Public
*
* */
//模板替换
'TMPL_PARSE_STRING' => array(
'__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Tpl/Admin/Public/',
)
);
thinkPHP中的验证码
目录/ThinkPHP/Extend/Libary/ORG/Unti/Image.class.php中,内部有文字/数字/字母以及混编;
public function verify(){
//引入头文件
import('ORG.Util.Image');
//宽高使用默认值就好, 因为字体不会改
Image::buildImageVerify(4, 5, 'png');
///在HTML中的对应的input标签加入 src="{:U'Admin/Login/verify')}"
}
- 在HTML中定义全局变量以便后续使用, 通过
U
方法var verifyURL = '{:U("Admin/Login/verify", ' ', '')}'; - 在js中由于URL_MODEL=0原因,不支持
/
的形式访问,故改为&
拼接, 以此实现更换验证码;
更多精彩内容请关注“IT实战联盟”哦~~~