美文网首页ThinkPHP
PHP学习---ThinkPHP(七)

PHP学习---ThinkPHP(七)

作者: simuty | 来源:发表于2016-05-10 17:38 被阅读342次

    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('变量类型.变量名',['默认值'],['过滤方法'])

    1. echo I('get.id'); // 相当于 $_GET['id'];
    2. echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0;
    3. echo I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_GET['name'] 进行过滤,如果不存在则返回空字符串;
    4. I('get.'); // 获取整个$_GET 数组;
    5. 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)
    
    
    1. 步骤:写入文件的顺序,先创建一个目录文件--data, 并找到该路径进行写入
    2. 例子:file_put_contents('./data/phiz.php', $str);
    3. 直接根据某个路径读数据
    4. $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' =>  . '/' . 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')}"
    
        }
    
    
    
    1. 在HTML中定义全局变量以便后续使用, 通过U方法var verifyURL = '{:U("Admin/Login/verify", ' ', '')}';
    2. 在js中由于URL_MODEL=0原因,不支持/的形式访问,故改为&拼接, 以此实现更换验证码;

    更多精彩内容请关注“IT实战联盟”哦~~~


    IT实战联盟.jpg

    相关文章

      网友评论

        本文标题:PHP学习---ThinkPHP(七)

        本文链接:https://www.haomeiwen.com/subject/ngyyrttx.html