PHP
予怀之言
毕业即失业人士
展开
-
docker php安装rdkafka扩展
安装步骤安装librakafka(https://github.com/edenhill/librdkafka)再安装php-rakafka(https://github.com/arnaud-lb/php-rdkafka)安装librakafkadocker php 基础镜像是基于debian:buster-slim镜像,所以使用以下命令安装,以其他系统镜像为基础镜像的,请参考librdkafka的文档apt install librdkafka-dev安装php-rakafka直接原创 2020-10-26 14:36:41 · 1777 阅读 · 0 评论 -
Thinkphp5类加载机制
Thinkphp5类加载机制PS:本文适用于熟悉Thinkphp框架或其他MVC框架,对于命名空间及自动加载类,有一定理解的程序工作者观看(其实是写给自己看的>_我一直对于thinkphp5的加载运行的时候做了什么,他是怎么自动加载类的,是和composer一样的吗—能否实现运行时再加载类,于是做了一下测试,追踪了整个加载流程。 以文件为单位进行讲解:入口文件i原创 2017-03-05 15:48:56 · 5328 阅读 · 0 评论 -
Composer移除依赖
Composer移除依赖(予怀)在一次使用composer安装依赖的时候,安装错了包,在其中文网站却找不到移除依赖的命令,只好使用按照官网说法:为了从命令行获得帮助信息,请运行 composer 或者 composer list 命令,然后结合 --help 命令来获得更多的帮助信息。出现一大堆命令参数,一扫,刚好,在require之前,有remove,这就是移除命原创 2017-04-01 19:52:27 · 45928 阅读 · 2 评论 -
命名空间概述理解
命名空间概述理解命名空间概述什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /ho原创 2017-04-02 16:14:47 · 504 阅读 · 0 评论 -
thinkphp5使用bootstrap分页
thinkphp5使用bootstrap分页 在tp5中使用bootstrap分页样式,其实根本不用那么麻烦,只需要引入bootstrap的css文件就可以了。原因是tp5在组装分页链接的时候,默认是组装bootstrap的分页样式链接,就是说,会自动加上class的属性,组装链接的函数在think5\thinkphp\library\think\pagi原创 2017-04-04 09:30:34 · 5996 阅读 · 0 评论 -
对象赋值是否使用&的区别
对象赋值是否使用&的区别这是手册的其中一个截图<?php$instance = new SimpleClass();$assigned = $instance;$reference =& $instance;$instance->var = '$assigned will have this value';$instance = null; //原创 2017-04-20 16:16:08 · 545 阅读 · 0 评论 -
Laravel手动创建分页器
Laravel手动创建分页器 laravel自带的分页功能十分强大,只不过,在使用 groupBy 语句的分页操作时,无法由 Laravel 有效执行。如果你需要在一个分页结果集中使用groupBy,建议你查询数据库并手动创建分页器。默认分页功能示例代码如下: namespace App\Http\Controllers; us原创 2017-05-05 20:20:08 · 4189 阅读 · 0 评论 -
Yaf通过composer整合Smarty
Yaf通过composer整合Smarty 最近在学习Yaf框架,我学习过程中呢,总是喜欢联想(瞎想),这篇文章就是在此之下的产物。介绍:Yaf是鸟哥用C语言写的扩展(也是一个高性能框架)。手册http://www.laruence.com/manual composer是 PHP 的一个依赖管理工具。composer官网http://docs.phpcompo原创 2017-05-24 21:44:33 · 3174 阅读 · 4 评论 -
php无极限分类函数
分享一个php无极限分类函数/** * 无极限分类,把返回的数据集转换成Tree * @param array $list 要转换的数据集 * @param string $pk 主键字段 * @param string $pid parent_id标记字段 * @param string $child 子数据集键名 * @param string $root 初始等级原创 2017-10-03 11:36:24 · 505 阅读 · 0 评论 -
phpstorm多端口调试
phpstorm多端口调试 在存在多个项目的时候,一般使用localhost加不同的端口,进行访问,这样子,一台主机(域名)可以有多个网站。这个就不多说了。 简单说说配置php的xdebug,可以到Xdebug这个网站,将你的phpinfo页面源码复制进去,他会自动帮你分析,告诉你如何为php配置xdebug。然后,在php.ini中,还有一些其他的原创 2017-10-29 23:18:45 · 959 阅读 · 0 评论 -
自定义woocommerce的支付宝支付插件
最近在研究wordpress,网上插件大多数都是收费的,于是就自己写了个自定义的woocommerce的支付宝支付插件,放在开源中国和github上。开源中国:https://gitee.com/sgyh/woocommerce-alipayGithub:https://github.com/wzhih/woocommerce-alipay...原创 2018-04-26 16:33:39 · 3452 阅读 · 3 评论 -
Thinkphp5命令行自动生成
ThinkPHP5.0支持 Console 应用,通过命令行的方式执行一些URL访问不方便或者安全性较高的操作。 这里只是其中几条常用的指令,在此记下:php think build --module test执行下面的指令可以生成一个名字为test的模块php think make:controller index/Blog执行下面的指令可以生成 index 模原创 2016-12-14 20:28:13 · 3350 阅读 · 0 评论 -
Thinkphp5因xdebug配置不当报错
Thinkphp5因xdebug配置不当报错(予怀) PHP开启xdebug扩展不当时,在使用thinkphp5时会报错 如果Xdebug配置里有 #开启异常跟踪 xdebug.show_exception_trace = On 在使用Model关联时会报错。如图所示原创 2016-12-18 21:43:44 · 1177 阅读 · 0 评论 -
关于thinkphp的save小错误
在使用tp框架时,如果不注意许多细小细节将会导致出错,比如数据更新的save方法,一不小心就会载了个大跟头。在几个星期前,我一时兴起,用thinkphp随手写了个更新数据的表单,用于用户更新自己的数据以及资料,用的就是thinkphp的save更新方法,就像平常一样,写完之后,开始了测试,改数据,改数据,成功,都成功,就在我打算关掉编辑器的时候,随手,点了一下确定按钮(此时,我的页面是没有原创 2015-07-21 12:09:15 · 3454 阅读 · 0 评论 -
PHP 使用list函数each函数遍历数组(实现foreach)解析
PHP 使用list函数each函数遍历数组(实现foreach)解析 直接进入主题吧。先看看list函数:list() 函数用于在一次操作中给一组变量赋值,并且无限参数(参数超过索引数组里元素的数量会报错),如下例$array=array(1,2,3);list($a)=$array;//即将$array数组里的元素”1”赋值给$a一个变量var_dump($a);li原创 2016-03-25 12:32:47 · 6463 阅读 · 0 评论 -
phpstudy自由修改php版本
网上有着许多的网站集成搭建软件,比较出名的就有wamp,xampp,phpstudy等等现在就来讲一讲phpstuy的php版本自由切换安装下载之类的就不说了,http://www.phpstudy.net/官网就有,十分简单看看界面,软件的作者将软件做的其实是挺人性化的,可以自己选择php版本,如下:也可以升级(不过,说是升级,不如说是替换),私人订制,你懂得原创 2016-04-16 01:56:28 · 16107 阅读 · 0 评论 -
PHP获取一天起始时间戳,结束时间戳
<?php $t=time();//获取当前时间戳 echo date("Y-m-d h:i:s",$t).""; $start=mktime(0,0,0,date("m",$t),date("d",$t),date("Y",$t)); $end=mktime(23,59,59,date("m",$t),date("d",$t),date("Y",$t)); echo $star转载 2016-04-18 09:30:26 · 2548 阅读 · 0 评论 -
Linux系统下安装Apache2.4+Mysql5.7+PHP7+Perl(小白装lampp一)
Linux系统下安装Apache2.4+Mysql5.7+PHP7+Perl(小白装lampp一)1. 先下载一些需要用到的软件安装包或源码(可自行到官网下载最新版),下载到home目录apr http://mirrors.noc.im/apache//apr/apr-1.5.2.tar.bz2apr-util http://mirrors.noc.im/apache原创 2016-05-20 15:06:00 · 3015 阅读 · 0 评论 -
浅谈PHP内核与服务器
最近在学习php内核,看着看着就有了一些感想,于此记下。 一.PHP与服务器PHP运行模式,这个看字面就知道啥意思了,一共有多少种,说不准,因为分类标准不一,在此,我说说一些大部分人同意的分类吧。有CLI模式,CGI模式,FAST-CGI模式,web模块模式,ISAPI模式。想知道细节可以自行查找资料。以下只是大概的对比。备注:在PHP5.3以后,PHP不再有ISAPI模式,安装后原创 2016-06-11 16:50:56 · 564 阅读 · 0 评论 -
异曲同工之妙之java虚拟机和php内核
由解释性语言与编译性语言的区别,来说明java虚拟机和php内核有异曲同工之妙.解释性语言与编译性语言的区别在于,解释性语言是把用户的逻辑语言翻译成机器语言来执行,有人说,这和编译性语言有什么差别?有的,之间多了一步“翻译”,例如PHP的词法解析与语法解析就是一种翻译。两种类型的语言同样是告诉机器如何操作,只是方法不一样而已。看下例子:如果,我要写一个加法运算程序,用两种不同语言会是怎原创 2016-07-08 22:46:24 · 605 阅读 · 0 评论 -
PHP内核之PHP_FUNCTION宏定义
平常我们查看php源代码的时候,经常会看到有以下代码的存在:那么,这其中的PHP_FUNCTION到底是什么呢?现在开始,来看看他到底是什么鬼东西。大写的,猜测一下,应该是宏定义,搜索,果然在源码的php-5.6.22-src\main\php.h文件里面,大概在347行接着搜索ZEND_FUNCTION这个宏定义,在php-5.6.22-src\Zend\ze原创 2016-08-17 00:21:12 · 3041 阅读 · 0 评论 -
Laravel谨慎使用dd()函数
这两天又在捣鼓Laravel了,遇到了一点小问题,最后查了文档才发现是一个辅助函数(dd)的问题,于此记下:首先,dd函数在官网的地址:https://laravel.com/docs/5.3/helpers#method-dd 打不开的话,可以自己谷歌去。截个图看看:意思就是,dd函数用来打印出给定的变量和结束脚本的运行,如果不想结束脚本运行,请使用dump函数。原创 2016-10-18 17:02:06 · 13509 阅读 · 4 评论 -
$this与self的区别
$this用于指向类实例化的某个对象本身,简单来说就是指向对象本身,所以不能再静态方法中使用,在对象中使用"->"调用对象的属性或者方法。self用于指向类本身,即未实例化的,仅仅只是类的本身,直接用类名调用类的静态属性或静态方法。原创 2016-10-06 14:36:53 · 933 阅读 · 0 评论 -
__autoload,spl_autoload_register与自动加载
__autoload,spl_autoload_register与自动加载先介绍两个函数__autoload()函数:尝试加载未定义的类尝试加载未定义的类;函数声明是void __autoload(string $class)参数$class是待加载的类名,无返回值说明:定义了这个函数之后,如果调用了某一个类,但是这个类文件没有加载进来(require,include)原创 2016-11-19 00:32:08 · 1309 阅读 · 0 评论 -
在链接里使用thinkphp的U方法
方法的详细内容请到thinkphp手册U方法查看在模板文件即html中,方法的使用与变量{$...}不同,而是{:function(.....)}或{~function(.....)}第一种{:function(.....)}会输出函数返回值,第二种{~function(.....)}只会执行函数,但不会输出函数返回值,在这里当然使用第一种方法,在模板里,U方法使用应为附加原创 2016-04-02 15:31:17 · 1131 阅读 · 0 评论