北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

python开发工具PyCharm最新版本新增功能介绍

PyCharmV2022.1支持自定义包存储库的身份验证、改进的 TypedDict 和 Docker 的新服务UI。

JetBrains重磅推出Junie AI智能体,编码效率再升级

IT之家 4 月 17 日消息,JetBrains 昨日(4 月 16 日)发布公告,宣布其 Junie AI 编码智能体已进入“生产就绪”(production-ready)状态,能处理编写代码和调试运行等多步骤任务。

JetBrains 同时还更新了旧版 AI Assistant,支持接入 Anthropic Claude 3.7 Sonnet 和 Google Gemini 2.5 Pro 等新模型,并新增聊天界面多文件编辑功能。

一篇文章带你了解PHP的学习使用

ThinkPHP 5实战

如何利用vscode高效开发PHP

用最近使用PhpStorm的激活码到期了,就琢磨着换一个编辑器。vscode评价挺好的而且轻量级免费开源,所以决定vscode开发PHP。

  1. vscode介绍
  2. vscode常用的PHP插件
  3. 安装插件
  4. vscode 配置自己习惯的快捷键

后端开发干货:PHP源码阅读技巧

作者:张勇,腾讯IEG后台开发工程师

写在前面

时光匆匆 光阴似箭,今年已经是小张做码农的第N个年头了,得益于世界上最好的语言(PHP),小张的头发依旧茂密。但是项目写了一个又一个,PHP、swoole用到飞起,这些年的成长却大不如从前。

php 发送微信订阅消息

<?php

namespace app\api\service;

use app\api\exception\ApiException;
use app\api\traits\Singleton;
use think\Cache;
use think\Log;

/**
 * 微信发送消息
 * Class ExpressService
 * @package app\api\service
 */
class WxMessageService extends BaseService
{
    private $appid = 'xxxxxx'; //填入服务号AppID
    private $appsecret = 'xxxxxxxxxxxxxxx'; //填入服务号AppSecret
    /**
     * @param string $openid 微信用户的openid
     * @param string $template_id 消息的模板id
     * @param array $data 需要的参数,为数组,类型为[key=>value],key为模板中的参数,value为参数的值
     */
    public function sendMessage($openid, $template_id, $data, $page_params=null)
    {
        $access_token_info = $this->getAccessTokenNoCode();
        $access_token = $access_token_info['access_token'];

        //要发送给微信接口的数据
        $send_data = [
            "touser" => $openid,
            "template_id" => $template_id,
        ];

        $demo_data = [];
        foreach($data as $k=>$v){
            $demo_data[$k] = [
                "value" => $v
            ];
        }
        $send_data['data'] = $demo_data;

        if(!empty($page_params)){
            $send_data['page'] = $page_params;
        }

        //print_r($send_data);die;
        $url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$access_token;
        $result = $this->curl_post($url,$send_data);//dump($result);exit;
        $result = json_decode($result, true);
        //print_r($result);
        if($result['errcode']==0){
            return true;
        }else{
            return false;
        }
    }



    private function getAccessTokenNoCode()
    {
        $wxAppID = $this->appid;
        $wxAppSecret = $this->appsecret;
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$wxAppID."&secret=".$wxAppSecret;
        $result = $this -> http_request($url);
        $result = json_decode($result, true);
        return $result;
    }

    private function http_request($url,$data=null){
        $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
        if(!empty($data)){
            curl_setopt($curl,CURLOPT_POST,1);
            curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }

    private function curl_post($url, array $params = array())
    {
        $data_string = json_encode($params);//dump($data_string);exit;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
        curl_setopt(
            $ch, CURLOPT_HTTPHEADER,
            array(
                'Content-Type: application/json'
            )
        );
        $data = curl_exec($ch);
        curl_close($ch);
        return ($data);
    }
}

用一个示例简单讲一下网站采集的的过程

随着时代的发展,社会越来越信息快速化,所以信息更新非常的迅速,这让很多站长在更新自家的网站信息时,显得太浪费时间,该怎么办呢?那就是通过采集将别家的信息录入到自家网站的数据库中,这样做可能对网站的优化会有一定的影响,但这不是我们今天讨论的话题,今天就用一个示例简单讲一下网站采集的的过程
我们先来看下面的一个实例,这是客户的网站要求采集太平洋网站的新闻,代码如下图所示(附说明):
<?php
header("content-type:text/html;charset=utf-8");//

PHP函数大全:从Array到Zip,你需要了解的所有函数

PHP函数大全:从Array到Zip,你需要了解的所有函数

在PHP开发中,函数是非常重要的工具。它们提供了各种功能和操作,帮助我们更高效地处理数据和实现各种功能。在本文中,我们将介绍PHP中一些常用的函数,包括Array、Calendar、cURL、Date、Directory、Error、Filesystem、Filter、FTP、HTTP、LibXML、Mail、Math、Misc、MySQLi、SimpleXML、String、XML Parser和Zip函数。

DEDECMS织梦系统接入熊掌号推送api,完整详细教程

熊掌号的API提交分为新增内容接口和历史内容接口两个接口。通过新增内容接口,提交站内 当天新产生内容的链接。新增内容享受24小时内抓取校验、快速展现优待。


第一步:

根据熊掌号要求完成校验页面,官方文档很详细,照着弄就行了

第二步:

开始后台改造

1.进入后台文件夹dede(自己实际的文件夹),然后进入templets目录,打开body_index.htm

PHP开发APP端微信支付

微信支付很简单,你可以参考微信支付开发文档,一定要仔细阅读开发文档,可以让你少踩点坑;准备工作完成后就是配置参数,调用统一下单接口,支付后异步回调三步。

微信开发文档:
pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=2_1

APP支付流程

从上面的图片中,可以看出来,需要注意的流程是一共是3部分;

第一部分:调用下单API,返回预支付订单,签名之后再返回信息

<< < 3 4 5 6 7 8 9 10 11 12 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言