PHP
文章平均质量分 55
13xs
好记性不如烂笔头
展开
-
laravel 模块化
【代码】laravel 模块化。原创 2023-01-10 10:10:19 · 206 阅读 · 0 评论 -
laravel学习笔记(六):事件订阅者
一、事件监听者与事件订阅者的区别其实就一句话:Each event can have multiple listeners, but a listener can’t listen to more than a single event. If you want a class listening to many events, you should use the Event Subscribers.每个事件均可有多个监听器,但是一个监听器只能监听一个事件。如果想在一个类中监听多个事件,就需要适用事原创 2020-07-04 23:04:48 · 832 阅读 · 3 评论 -
全角字符与半角字符的互相转化
1.类的实现<?php/** * 概念 * 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) * 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E) * 空格比较特殊,全角为 12288(0x3000),半角为 32 (0x20) * 而且除空格外,全角/半角按unicode编码排序在顺序上是对应的 * 所以可以直接通过用+-法来处理非空格数据,对空格单独处理 * * 实现思路 * 1. 找到目标unico转载 2020-07-03 22:07:32 · 693 阅读 · 0 评论 -
laravel学习笔记(四):队列任务的简单使用
1.配置.env使用哪种连接。QUEUE_CONNECTION=database此处的database会对应到config/queue.php的connections数组下面的键值driver是队列使用的引擎queue是队列名称2.如果引擎是database,运行命令创建数据表php artisan queue:tablephp artisan migrate3.创建任务类php artisan make:job SendMail...原创 2020-07-01 23:01:03 · 515 阅读 · 0 评论 -
laravel 学习笔记(三):事件、事件监听器
(可能是由于理解力的问题,看laravel官方文档还是有点懵的…)事件比如,【用户登录】事件。事件是数据的载体。比如【用户登录】,它要传递的数据就是用户的注册信息,用户名、邮箱等。事件监听器比如,监听注册事件触发之后要做的事情。比如,在用户登录时触发【用户登录】事件,拿到用户的邮箱地址、登录ip等,用来发送邮件通知用户,你的账号在什么时间什么地点登录了。注册事件文件位置 Providers\EventServiceProvider.php其中的listen属性包含了触发的事件(key),原创 2020-07-01 22:59:44 · 281 阅读 · 0 评论 -
PHP学习与整理(三):可变参数
最近在laravel和thinkphp中见到很多这种形式的方法(平常开发只会使用简单的语法和内置方法,真是孤陋寡闻了)。func(...$args)看一下例子<?phpfunction func(...$args){ var_dump($args);}func('apple', 'boy', 'cat', 'dog');func(['apple', 'boy', 'cat', 'dog']);这两张传参方式输出结果都是一样的:E:\projects\test\arg.php:原创 2020-06-05 15:00:28 · 214 阅读 · 0 评论 -
PHP学习与整理(二):__call()、 __callStatic()
在对象中调用一个不可访问方法时,__call() 会被调用。<?phpclass Test{ public function hello(){ echo 'hello '; } protected function helloWorld(){ echo 'im protected helloWorld'; } public function __call($method, $args){ echo '<br />'; echo "call fun.原创 2020-06-05 14:43:16 · 170 阅读 · 0 评论 -
PHP学习与整理(一):array_walk()
array_walk — 使用用户自定义函数对数组中的每个元素做回调处理。array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool例子1<?php$arr = ['apple','boy','cat','dog',];array_walk($arr,function($val, $key, $addtion){ echo "{$key}:{$val}{$addtion.原创 2020-06-05 14:25:09 · 406 阅读 · 0 评论 -
php trait学习与整理
自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。Trait 和 Class 相似,但仅仅旨在用细粒度和一致的方式来组合功能。 无法通过 trait 自身来实例化。它为传统继承增加了水平特性的组合;原创 2020-05-29 16:15:18 · 257 阅读 · 0 评论 -
ThinkPHP6 学习与总结(一): 路由基础
开启路由(config/app.php)'with_route' => true,开启强制路由(config.route.php)'url_route_must' => false,框架加载路由在verdor/topthink/framework/src/think/Http.php下面,可以看到,loadRoutes()会加载你的应用下的route目录下所有的PHP文件...原创 2020-04-16 16:58:01 · 3185 阅读 · 2 评论 -
php psr0 psr4理解
PSR(Proposing a Standards Recommendation)PHP编码规范共同点:1.都是基于域名空间的自动加载(不确定理解是否有误...)不同点:psr0:程序会根据命名空间自动加载对应的类。另外命名空间的下划线没有特殊含义,而类名的下划线是有特殊含义的。psr4:对psr0进行补充。自动生成的PSR4配置文件名称为autoload...转载 2020-04-07 17:23:19 · 270 阅读 · 0 评论 -
一个简单的日志类
代码:class logger{ /** * 记录日志 * @param string $level * @param string $message * @return bool */ public function logging($message = '', $level = 'info') { $filename = date(...原创 2019-12-12 10:39:42 · 120 阅读 · 0 评论 -
一个简单的php接口定义
<?phpclass InterfaceBase{ /** * 获取请求参数 * * @return mixed */ public function getParams() { $input = json_decode(file_get_contents('php://input'), true); ...原创 2019-12-11 09:23:21 · 593 阅读 · 0 评论 -
企业微信获取openid
项目介绍本项目获取个人在企业微信中对应的openid, 可用于后续的支付等 使用PHP语言 官方地址是:https://work.weixin.qq.com/api/doc#90000/90135/91022 大体逻辑通过https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_...原创 2019-01-14 18:14:01 · 8602 阅读 · 0 评论 -
workerman 实现 websocket
概述PHP使用workerman框架的websocket, 实现机器扫码检票, 异步刷新小程序页面的票状态.首先,需要小程序前端页面使用openid作为标志(代码里是$uid)连接websocketServer然后, 检票接口做完检票逻辑后, 将结果通过websocketClient推送到小程序页面最后, 小程序根据接收到的推送消息处理页面 一. 什么是websock?...原创 2019-01-22 18:04:01 · 2989 阅读 · 9 评论 -
php将一维数组转换成二维数组
原来的数组 $fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); 期望变成的数组$fruit = array( array('key'=>'a', 'val'=>'apple'), array('key'=>'b', 'val'=> ...原创 2019-02-21 16:25:20 · 7110 阅读 · 0 评论 -
微信电子发票--“自建平台模式”--小程序开票
注:小程序开发票在官方文档(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21518166863ccFdP)的第四节项目说明1.我有一个小程序,是交通行业的。用户买完票之后,可以在电子票页面申请开电子发票;2. 小程序开发票用的是公众号的access_token,发送到用户卡包也是通过公众号发的,小程序要做的是申请...原创 2019-05-14 16:04:53 · 17006 阅读 · 15 评论 -
微信开票上传pdf文件
<?phpclass UploadPart{ protected static $url; protected static $delimiter; protected static $instance; public function __construct() { $token = '21_MMnF5YHlZnuNVwWtBO...转载 2019-05-14 17:55:14 · 1777 阅读 · 1 评论 -
微信服务商分账功能 PHP
项目说明微信服务商分账接口说明:https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=24_1&index=1项目大概逻辑开通分账功能(https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=24_2&index=2)服...原创 2019-07-29 22:41:20 · 6263 阅读 · 3 评论 -
PHP代码规范
1. 引言1.1. 文档目的本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。当多名程序员在多个项目中合作时,就需要一个共同的编码规范, 而本文中的风格规范源自于多个不同项目代码风格的共同特性, 因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。1.2. 文档预期读者本文档的预期读者PHP开发人员。1.3. 文档适用...原创 2019-07-31 16:58:29 · 154 阅读 · 0 评论 -
php cookie的值丢失了“+”
最近遇到的问题最近在对接java的一个程序,用到了cookie,发现java获取到cookie没有丢失字符串,但是PHP丢失了“+”下面我们来模拟一下当时的情况比如我用PHP设置一个cookie(当时的cookie是java设置的,没有对cookie进行urlencode(),所以我们用setrawcookie()模拟)注意:setrawcookie()与setcookie()是不一样的,...原创 2019-09-04 17:59:10 · 628 阅读 · 1 评论 -
微信自动对账功能
微信自动对账功能--基于微擎系统自动对账功能项目说明项目大概逻辑:代码如下:自动对账功能对于有业务往来的公司之间, 公司与支付宝微信等支付平台之间, 几乎都需要对账。项目说明这是PHP代码(PHP是世界上最后的语讠,卒!);公司用的是微擎系统, 所以这份代码也是基于微擎, 但是用到微擎的地方也只有数据库操作;用于对账的微信账号是服务商模式;对比的是一天前的订单项目大概逻辑:...原创 2019-01-10 18:17:32 · 4789 阅读 · 0 评论