精华内容
参与话题
问答
  • ThinkPHP5

    2019-04-21 13:21:41
    THINKPHP5 首先作为一个入门的PHPER,肯定是听过这个框架了对吧。所以这里也只讲讲官方手册中写的不是很清楚地地方,以便新手顺利跨坑。记得点赞啊。我们先打开这份手册看看...

    THINKPHP5

     

    首先作为一个入门的PHPER,肯定是听过这个框架了对吧。所以这里也只讲讲官方手册中写的不是很清楚地地方,以便新手顺利跨坑。记得点赞啊。我们先打开这份手册看看(https://www.kancloud.cn/manual/thinkphp5/118003)。相信大家都很熟悉了吧。首先我们先从入口文件开始说明。THINKPHP5与THINKPHP3.2不同的是,5中把入口文件移动到了主项目文件夹下的public目录里面。所以对于刚拿着5的框架的时候,难免有些慌乱,一慌乱整个人就都傻眼了。当人很多人都会问那我想移入到项目的根目录下可以嘛,答案是肯定可以的。但是因为移动了index.php入口文件的位置,所以,index.php中的文件也要做相应的改变。至于怎么修改请详见官方手册,部署目录下的,虚拟机部署子菜单察看。接着这一步完事儿之后就可以开始接着往下走了。对于3.2.3的时候大家都喜欢前后台分离对吧。5.0也可以的,在手册路由绑定菜单中,具体使用的东西是在入口文件中define一个常量即可。
    第二个红色箭头处指向了一个index,这里的意思是说,这个index.php文件对应绑定到app下面的的index模块。当然你想要个后台如何绑定啦。复制一份index.php文件,重命名为admin.php,编辑admin.php,定义常量BIND_MODULE并在逗号后填写admin。这样子就让这个入口文件对应到了app文件夹下面的admin模块了。接下来我们再讲讲自动创建目录如何使用,首先在项目的根目录下面,有一个build.php的文件对吧。我们接着打开手册查看命令行菜单中的自动生成目录结构子菜单。里面如图所示
    这是一个数组的结构。index代表的是模块名字。也就是app文件夹下面的文件夹,接着__file__对应的是app/index/下面的文件,比如这个公共文件。然后接着对应的MVC3层加个一个behavior文件夹。整个结构是一个数组,皆是键和值的结构,值有多个用逗号隔开即可。build.php文件修改好了那如何运行命令啦。这里我使用的是PHPstorm,在命令框中输入php think build   ,注意这里对应的build.php文件不是项目根目录下面的那个,如果想要运行项目根目录下面的build.php文件,请使用php think build --config build.php 。肯定有人在捉摸怎么在命令框中输入。如下图所示。
    点一下这个按钮即可。好今天先到这儿。下次再接着讲。

    展开全文
  • Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel...
  • 简单网站,thinkphp5

    2018-06-27 23:00:00
    4.thinkphp5需要自行安装 5.验证码部分的配置,https://github.com/top-think/think-captcha 6.nginx运行需要在server节加入如下配置 location /thinkphp-ozgweb/static/ { if (!-e $request_filename) { ...
  • thinkphp5基础教程

    2019-07-22 12:00:14
    资源名称:thinkphp5基础教程 教程内容:《Thinkphp5系列课程》第一课 Composer的安装《Thinkphp5系列课程》第七课 Controller第(二)讲:前置操作《Thinkphp5系列课程》第三课 命名空间《Thinkphp5系列课程》第九...
  • Thinkphp因其优秀的架构设计、通俗易懂的教程以及超级强大的操作数据库而成为国内最流行的一款开源框架,而为API开发而生thinkphp 5的发布更是受到广大企业及开发者的欢迎,WSTMart电子商务系统是商淘软件基于...
  • ThinkPHP5简易商城

    2018-09-09 16:42:41
    基于 ThinkPHP5+Bootstrap 的简易商城 功能: 主要是实现了 简单支付宝支付 基本的 短信登录 qq登录 微博登录 在线视频教程的播放功能,播放进度的,播放记录。播放进度记录等等 在线聊天,通过ajax无刷新简易的...
  • ThinkPHP5入门

    2018-05-19 10:16:37
    ThinkPHP5初级入门
  • thinkphp5电子书

    2018-12-08 08:42:42
    该电子书包含thinkphp5快速入门和完全开发手册,主要是免费的,没事的可以学一学。
  • ThinkPHP5打造你的自动赚钱系统

    千人学习 2019-02-28 16:26:02
    ThinkPHP5打造你的赚钱系统:本课程不仅仅是一个纯技术教程,更是一个实现你财务自由的综合课程,其中包括thinkphp5入门、自动赚钱系统前端、后端的开发,也包括了微信登录,微信支付,支付宝支付,会员管理、订单...
  • 本文承接之前发布的博客《 微信支付V3微信公众号支付PHP教程/thinkPHP5公众号支付》必须阅读上篇文章后才可以阅读这篇文章。由于最近一段时间工作比较忙,博客更新比较慢。如果有任何问题大家可以关注以上公众号,...


    NS技术圈
    扫二维码关注,获取更多技术分享

    本文承接之前发布的博客《 微信支付V3微信公众号支付PHP教程/thinkPHP5公众号支付》必须阅读上篇文章后才可以阅读这篇文章。由于最近一段时间工作比较忙,博客更新比较慢。如果有任何问题大家可以关注以上公众号,在公众号中给我留言,一般我会在晚上统一查看所有邮件及留言逐一回复。我的邮箱地址weiyongqiang@weiyongqiang.com希望和大家一起交流,IT工作觉得不能闭门造车。

    JSSDK是什么

    JSSDK是微信对外提供的一些基于用户层面的功能代码的集合,只在微信浏览器中适用。该SDK给我们提供了例如,照片预览,上传照片,下载照片等功能。但是诸如上传照片的功能,jssdk只给我们提供了统一的上传方法,但是上传的数据流处理还需要我们自己在后台使用相关的业务代码来处理。

    如何引入JSSDK

    jssdk的引入是非常简单的,其本身也是一个需要加载的js文件。我们使用外部js文件加载的方法就可以。例如

    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

    这个地址大家注意查看官方文档保证引入最新版的。
    关于微信jssdk的引入是非常简单的,这样就算引入了。对于jssdk大家也没有必要把他下载到本地,直接使用官方链接就行了。

    如何使用JSSDK

    JSSDK的初始化

    在使用jssdk之前需要使用相应的数据对jssdk进行初始化。一般情况下我们是调用wx.config()来进行初始化,具体的初始化代码结构如下:

        wx.config({
            debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: "{$appid}", // 必填,公众号的唯一标识
            timestamp: "{$params.timestamp}", // 必填,生成签名的时间戳
            nonceStr: "{$params.noncestr}", // 必填,生成签名的随机串
            signature: "{$signature}",// 必填,签名,见附录1
            jsApiList: [
                "chooseWXPay"
            ] // 必填,需要使用的JS接口列表, 所有JS接口列表见附录2
        });

    这个对于参数的注释也是非常明确的,大家可以看注释。
    那么大家可能会关心这些配置数据从哪儿来,在此我使用的是PHP作为后端处理的语言,那么在以上的配置中使用的是PHP中页面变量的方式传参数到页面。

    PHP处理初始化参数

    在这儿参数到底该怎么生成呢?我们逐一来说明:

    • appId:appId可以在我们的微信公众平台开发者后台看到,这个比较容易。
      这里写图片描述

    • timestamp: 生成签名时的时间戳,这个和后边的signature有联系,我们在生成signature签名的时候再一起来说明如何

    • nonceStr:此参数是生成签名时的随机字符串,当然这个是自己随机生成的,可以设置自己的随机规则,他也是和signature有关系的我们同样在signature中会说明
    • signature:不用说这个是签名的生成。那么其他参数都和签名有关系,我们就在新的段落来说说这个签名的生成

    signature签名的生成

    签名生成规则如下:
    参与签名的参数
    1. noncestr(随机字符串)
    2. 有效的jsapi_ticket
    3. 有效的jtimestamp(时间戳)
    4. url(当前网页的URL,不包含#及其后面部分)

    签名规则
    1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)
    2. 使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1(所有参数名均为小写字符,不要进行url转义)
    3. 对string1作sha1加密

    这样签名就算完成了。但是在准备签名参数的时候随机字符串可以自己生成,有效的时间戳可以直接获取例如time(),当前的url地址也可以获取。但是jsapi_ticket怎么样获取呢?

    jsapi_ticket的获取

    在了解jsapi_ticket的前我们必须知道,在微信开发中非常重要的一个东西,access_token我们知道有了access_token我们就可以直接干很多事了。那么对于jssdk的配置中如果直接使用access_token有access_token泄露的危险。所以我们就有一个其他的解决方案就是jsapi_ticket这个东西。jsapi_ticket是一个临时票据,他有效期只有2小时,2小时候需要重新获取。那么如何生成jsapi_ticket呢?

    thinkphp5中的代码示例

    获取ticket代码

    function get_jsapi_ticket()
    {
        $jsapiTicket = cache('JSAPI_TICKET');
        if (empty($jsapiTicket)) {
            $accessToken = get_access_token();
            $ticketUrl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$accessToken}&type=jsapi";
            //http_reqest是我自己封装的curl请求的函数
            $ticketResult = http_reqest($ticketUrl);
            $ticketArr = json_decode($ticketResult, true);
            $jsapiTicket = $ticketArr['ticket'];
            cache('JSAPI_TICKET', $jsapiTicket, 7200);
        }
    
        return $jsapiTicket;
    }

    获取ticket后进行signature签名示例代码

    function make_signature($params)
    {
        //① 按照字段名进行排序
        $paramsKey = array_keys($params);
        sort($paramsKey, SORT_STRING);
    
        //② 拼凑参数成地址中参数的形式  key=v   key2=v2
        $sortParams = [];
        foreach ($paramsKey as $v)
        {
            $sortParams[] = $v."=".$params[$v];
        }
    
        $paramsStr = implode('&', $sortParams);
        $signature = sha1($paramsStr);
        return $signature;
    }

    处理数据在页面输出

    //1 获取jsapiticket
    $ticket = get_jsapi_ticket();
    
    //2 根据参数进行签名 | 签名算法
    $params = [
        'jsapi_ticket' => $ticket,
        'timestamp' => time(),
        'url' => \request()->url(true),
        'noncestr' => substr(md5(time().rand(1000, 999999)), 0 , 20)
    ];
    
    $signature = make_signature($params);
    
    return view('index', [
        'signature' => $signature,
        'params' => $params,
        'appid' => config('wechat.appId')
    ]);

    页面jssdk初始化部分

    wx.config({
         debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
         appId: "{$appid}", // 必填,公众号的唯一标识
         timestamp: "{$params.timestamp}", // 必填,生成签名的时间戳
         nonceStr: "{$params.noncestr}", // 必填,生成签名的随机串
         signature: "{$signature}",// 必填,签名,见附录1
         jsApiList: [
             "chooseWXPay"
         ] // 必填,需要使用的JS接口列表, 所有JS接口列表见附录2
     });
    要获取文章的代码请联系我,或者关注以上二维码根据相应的操作获取。同时这部分内容的视频在:https://edu.csdn.net/course/detail/5861

    展开全文
  • ThinkPHP5项目

    2017-08-28 15:00:05
    ThinkPHP5项目
  • Thinkphp5 Paypal支付

    2018-10-26 22:07:45
    使用Thinkphp5来开发的Paypal支付功能源码,请结合博客 https://blog.csdn.net/qq_28450919/article/details/83418624 来使用。
  • thinkphp5高级手册

    2018-08-11 11:18:21
    thinkphp5高级手册,包括thinkphp5基础版、thinkphp5数据和模型高级版 附带一套比较合理的php代码规范
  • thinkphp5auth权限

    2018-06-20 09:29:38
    thinkphp5auth权限;集成权限管理,文章管理;thinkphp5auth权限;集成权限管理,文章管理;
  • thinkphp5 使用 join

    千次阅读 2018-09-10 21:54:29
    alias相当于重命名 ...如果thinkphp5里想要使用join操作的话 $re = Db::table('meeting') -&gt;alias('m') -&gt;join('meeting_major b','m.id = b.meeting_id') -&gt;where([ '...

    alias相当于重命名

    如果thinkphp5里想要使用join操作的话

    $re = Db::table('meeting')
                ->alias('m')
                ->join('meeting_major b','m.id = b.meeting_id')
                ->where([
                    'b.major' => $real_major,
                    'b.year' => $now_year,
                    'm.state' => ['<',2]
                ])
                ->select();

    如果想要多个条件连接的话

    $re = Db::table('meeting')
                ->alias('m')
                ->join('meeting_major b','m.id = b.meeting_id and xxxxxxxxxxx')
                ->where([
                    'b.major' => $real_major,
                    'b.year' => $now_year,
                    'm.state' => ['<',2]
                ])
                ->select();

     

    展开全文
  • thinkphp5 极验验证

    2017-09-06 13:44:26
    thinkphp5 极验验证 thinkphp5 极验验证thinkphp5 极验验证thinkphp5 极验验证thinkphp5 极验验证thinkphp5 极验验证thinkphp5 极验验证
  • thinkphp5开发文档

    2018-08-05 08:52:05
    最新的thinkphp5开发文档,,值得thinkphp5开发者参考。
  • 【版本信息】:  php版本:>=5.6,建议使用php7以上  mysql版本:>=5.5  thinkphp版本:5.0.11(官方发布日期:2017/09/08) 【开发计划】:    【通用模块】: (后台用户管理)(分类数据动态json
    【版本信息】:
                 php版本:>=5.6,建议使用php7以上
                 mysql版本:>=5.5
                 thinkphp版本:5.0.11(官方发布日期:2017/09/08)




    【开发计划】:
                   
                  【通用模块】: (后台用户管理)(分类数据动态json化)(后台用户登陆记录)(rbac或auth权限管理)(文章管理)(前端用户管理)(留言管理)
                  【高级模块】:(人才系统开发)(商城系统开发)(微信登陆后微信支付)(支付宝登陆和支付宝支付)




    【源码功能每天都更新,请持续关注】...ing


    【源码下载地址】:

    本帖隐藏的内容

    链接:http://www.phper.video/forum.php?mod=viewthread&tid=18&extra=page%3D1

    【注意事项】:项目根目录请指到/pulbic下(可以自行修改)

    【声明】:此源码完全开源,除了使用thinkphp5之外不使用任何第三方后台代码,无病毒!除tp框架外代码完全原创,不存在版权纠纷,请放心使用!此源码仅适合有php以及前端完整基础的开发者
    展开全文
  • ThinkPHP5-快速入门pdf

    2017-11-04 10:19:46
    ThinkPHP5快速入门.pdf ,ThinkPHP V5.0 快速入门系列是学习和掌握ThinkPHP5.0不可多得的入门指引教程,针对新手用户由浅入深给出了详尽的使用。 本系列围绕WEB开发和API开发常用的一系列基础功能进行循序渐进的讲解...
  • ThinkPHP5手册集合

    2018-04-13 18:12:46
    ThimkPHP5路由完全指南 ThinkPHP5.0控制器入门到精通 掌握ThinkPHP5.0数据库和模型
  • ThinkPHP5路由完全指南PDF ThinkPHP5作为一个全新的版本,重构后的路由功能可圈可点,是5.0的一大亮 点,本指南系列为您详细介绍5.0路由的用法,并进行深入剖析其内部实现原 理,助您完全掌握路由。
  • ThinkPHP5留言板

    2018-01-26 09:26:08
    ThinkPHP写的留言板 功能 : 列表页, 写留言 ,处理写留言表单, 编辑留言, 删除留言, 查看留言
  • ThinkPHP5快速入门

    2018-11-26 17:13:14
    ThinkPHP5快速入门
  • thinkphp5案例,thinkphp5开发的fivecms内容管理系统,简洁易懂易上手。
  • ThinkPHP5 自定义分页教程

    千次阅读 热门讨论 2017-08-14 16:56:08
    先看效果第一步:首先是分页类 把该类放到extend\page目录下 namespace page; // +------------------------------------------------------...// | ThinkPHP [ WE CAN DO IT JUST THINK ] // +-----------------------
  • 这里说明下,这个不是增加redis扩展,而是在默认thinkPHP5默认的redis方法上新增其他的方法,现在TP5redis的方法太少了,只有基本的设置取值,连list的方法都没有,这里主要就是针对这种情况新增新的方法,如消息...
  • 基于thinkphp5开发的微信线上答题

    万次阅读 2018-05-05 22:36:18
    thinkphp 链接:https://pan.baidu.com/s/1v2tFcZ5ha5uqrHl_sIsg3w 提取码:42mx public/static 链接:https://pan.baidu.com/s/1aS4E660eHZH92H_kpR8aXA 提取码:m7tt 最近学校要求应五四青年节做一个微信...
  • thinkphp5thinkphp5+ueditor的使用

    千次阅读 2018-06-26 08:39:08
    下载地址:http://ueditor.baidu.com/website/download.html可以根据自己项目的编程语言选择相应的版本,这里我选择php版本准备工作:1、说明:我使用的编程语言是php,所用框架是thinkphp5.0.20,我的项目目录结构...
  • ThinkPHP5.0完全开发手册和ThinkPHP5快速入门,欢迎下载!
  • ThinkPHP5简易商城开发入门,学习基本开发及支付宝支付接口

空空如也

1 2 3 4 5 ... 20
收藏数 11,741
精华内容 4,696
关键字:

thinkphp5