- 博客(34)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 几种设计模式的实现和适用场景
所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中!单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接。
2023-07-19 14:27:51
171
原创 php运行原理
PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响。
2023-07-19 14:26:32
222
原创 PHP弱类型变量是如何实现
PHP是弱类型,动态的语言脚本。在申明一个变量的时候,并不需要指明它保存的数据类型。动态变量,在运行期间是可以改变的,并且在使用前无需声明变量类型。
2023-07-19 14:25:28
104
原创 php常见面试题
#Composer是什么?Composer和PHP有什么关系?Composer是PHP的一个依赖(dependency)管理工具,在我们的项目中声明所依赖的外部工具库(libraries),Composer 可以帮助我们安装这些依赖的库文件。Composer可以全局安装也可以局部安装,默认不是全局安装的,是基于指定项目的某个目录进行安装的。
2023-07-19 14:24:55
82
原创 php-fpm详解
此处,用unix domain socker的方式,比tcp方式速度更快,但是tcp是面向连接的协议,稳定性更高,这是一个区别点。
2023-07-19 14:24:18
1447
原创 php面向对象
类中的常量也就是成员常量,常量就是不会改变的量,是一个恒值。定义常量使用关键字const.例如:const PI = 3.1415326;无论是类内还是类外,常量的访问和变量是不一样的,常量不需要实例化对象,访问常量的格式都是类名加作用域操作符号(双冒号)来调用。即:类名 :: 类常量名;
2023-07-19 14:22:08
139
原创 Hash Table
按照posix标准,一般整形对应的*_t类型为: 1字节 uint8_t 2字节 uint16_t 4字节 uint32_t 8字节 uint64_tPHP7中的zval结构包括三个部分。第一个是value。zend_value是一个联合体。保存任何类型的数据第二部分是是四个字节的typeinfo.包含真正变量的类型。第三部分是一个联合体。也是4个字节。辅助字段。新的zval的实现不再使用引用计算。避免了两次计数/新版HashTable的实现新的中,hash链表的构建工作由。
2023-07-19 14:21:29
71
原创 Laravel 最佳实践 – 事件驱动编程
在这篇文章中我们将了解到什么是 “事件驱动编程” 以及在 Laravel 中如何开始构建一个事件驱动应用,同时我们还将看到如何通过事件驱动编程来对应用程序的逻辑进行解耦。在开始之前,先说明一下这篇文章主要是阐述事件驱动这种编程思维和理念的,所以不会涉及到 Laravel Events 的方方面面。如果你需要更全面地了解 Laravel Events 和它的各种用法可以访问文档来了解详细信息。
2023-07-19 14:19:57
140
原创 nginx常见问题
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
2023-07-19 14:14:50
5584
原创 两个海量数据的同构表,如何查询数据差异
如上验数SQL,可以通过代码封装,自动生成,就可以做成自动化数据验证的小工具了。真实情况比较复杂,要考虑字段的识别,where条件,两个表是否有唯一ID,没有唯一ID如何处理等等。
2023-07-19 14:13:14
232
原创 sql考察题
因为 student 表 和 sc 表没有冗余字段,所以(1)和(2)两种查询方法结果一致。(2)利用左连接,假如左表有,右表没有,则按左表为准,右表缺省字段置为NULL。(1)利用隐式内联,只输出两表中都有的字段。根据题目要求,写出SQL语句。
2023-07-19 14:12:17
709
原创 MySQL体系结构
MySQL在启动过程中会启动后台守护进程,并生成工作线程,预分配内存结构供MySQL处理数据使用,这些MySQL的后台进程+线程+预分配的内存结构就是实例。
2023-07-19 14:11:47
61
原创 MySQL Explain执行计划
重点看的几列:possible_keys:可能可以利用的索引的名字。这里的索引名字是创建索引时指定的索引昵称;如果索引没有昵称,则默认显示的是索引中第一个列的名字(在本例中,它是“firstname”)。默认索引名字的含义往往不是很明显。key:它显示了MySQL实际使用的索引的名字。如果它为空(或NULL),则MySQL不使用索引。key_len:索引中被使用部分的长度,以字节计ref:列出是通过常量(const),还是某个表的某个字段(如果是join)来过滤(通过key)的;
2023-07-19 14:06:53
125
原创 100道mysql题
数据库MySQL索引使用有哪些注意事项呢?可以从三个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景,索引规则索引哪些情况会失效 查询条件包含or,可能导致索引失效 如何字段类型是字符串,where时一定用引号括起来,否则索引失效 like通配符可能导致索引失效。 联合索引,查询时的条件列不是联合索引中的第一个列,索引失效。 在索引列上使用mysql的内置函数,索引失效。 对索引列运算(如,+、-、*、/),索引失效。 索引字段上使用(!= 或者 < >
2021-05-09 19:32:45
495
原创 Redis实现分布式锁实现
业务场景分布式项目部署的环境下,使用分布式锁来保证缓存的单线程写,这样可以避免同一时间大量缓存失效导致请求全部落在DB上。多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。订单防超卖。总之,数据是需要保证唯一性,就需要分布式锁。分布式锁常用实现方案分布式锁通常是借助于一个第三方组件并利用它自身的排他性来达到多进程的互斥。如下:1. 基于数据库实现分布式锁2. 基于缓存,实现分布式锁
2021-04-28 16:35:02
238
转载 使用Logstash收集PHP相关日志
这里收集三种日志PHP的错误日志,PHP-FPM的错误日志和慢查询日志在php.ini中设置error_log = /data/app_data/php/logs/php_errors.log在php-fpm.conf中设置error_log = /data/app_data/php/logs/php-fpm_error.logslowlog = /data/app_data/php/logs/php-fpm_slow.logPHP错误日志如下:[29-Jan-..
2021-04-28 13:52:05
212
转载 laravel框架的读写分离的实现
第一步在laravel框架的database文件里添加配置如下:'mysql' => [ 'read' => [ 'host' => '127.0.0.1', 'username' => 'read', 'password' => 'read', ], 'write' => [ 'host' => '127.0.0.
2021-04-28 13:47:28
247
转载 laravel-admin操作
如何优雅的写代码,我想是每位程序员的心声。自从15年初第一次接触 Laravel 4.2 开始,我就迷上使用 Laravel 框架了。我一直都想找个时间好好写写有关 Laravel 的使用文章,由浅入深的介绍 Laravel 框架。今天通过使用 laravel-admin 插件,来简单说说怎么优雅的写 Laravel 代码。创建 Laravel 项目只要跟着官方文档走,创建一个 Laravel 项目还是很简单的:// 使用 Composer 下载 Laravel 安装程序composer glob
2021-04-19 09:12:31
695
原创 宝塔安装swoole
宝塔安装swoole新建文件夹mkdir swoole切入到文件夹中,进行下载安装包wget http://pecl.php.net/get/swoole-4.3.2.tgz解压tar -zxvf swoole-4.3.2.tgzcd swoole-4.3.2进行如下操作phpize./configure./configure --with-php-config=/www/server/php/72/bin/php-configmake && make
2021-04-13 15:40:45
1738
转载 php砍价算法逻辑
/** * 砍价算法---自砍一刀 */public function self_cut(){ $openid =$this->openid; $goods_id = Request::instance()->post('goods_id'); $selfInfo = $this->selfkjObj->where(['openid'=>$openid,'goods_id'=>$goods_id])->find(); //1.查
2021-03-29 10:53:52
423
原创 使用phpexcel将excel表格的导入导出
使用phpexcel将excel表格的导入数据库1–使用composer安装phpexcel包composer require phpoffice/phpexcel -vvv2-控制器//导入数据 public function insertExcel(){ if(request() -> isPost()) { vendor("PHPExcel.PHPExcel"); //方法一 $objPHPExce
2021-03-25 16:18:15
200
原创 使用phpqrcode生成二维码
1-下载类库composer require aferrandini/phpqrcode -vvv2-common的方法//$text 文本的内容//$logo logo图片function code($text,$logo){ //二维码图片保存路径 $pathname = APP_PATH . '/../Public/upload/'; if(!is_dir($pathname)) { //若目录不存在则创建之 mkdir($pathname);
2021-03-25 16:13:25
233
原创 ThinkPHP5 上传图片
上传到本地上传文件ThinkPHP5.0对文件上传的支持更加简单。假设表单代码如下:<form action="/index/index/upload" enctype="multipart/form-data" method="post"><input type="file" name="image" /> <br> <input type="submit" value="上传" /> </form> 然后在控制器中添加如下
2021-03-25 15:53:24
1089
原创 无限分类的实现
实现的源代码<div class="layui-card-body"> <!--主体内容 start--> <div class="layui-row" style="margin-bottom: 10px;"> <div class="layui-col-md2"> <button class="layui-btn layui-btn-danger" onclic
2021-03-25 15:48:16
142
原创 phpstrom 快捷键
Esc键编辑器(从工具窗口)F2(Shift+F2) 下/上高亮错误或警告快速定位F3 向下查找关键字出现位置F4 查找变量来源F5 复制文件/文件夹F6 移动F11 切换书签F12 返回到以前的工具窗口注意:部分快捷键,必须在没有更改快捷键的情况下才可以使用查询快捷键CTRL+N 查找类CTRL+SHIFT+N 查找文件,打开工程中的文件(类似于eclipse中的ctrl+shift+R),目的是打开当前工程下任意目录的文件CTRL+SHIFT+ALT+N 查 找类中的方法或变量(
2021-03-25 15:40:29
168
elesearch.zip安装包
2021-03-29
laravel跨域(相关搜索:跨域问题)
2023-08-24
请求payapl支付的接口,每次只返回100条数据,怎么去把传入的时间段做递归二分处理
2021-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人