php
janedouble
这个作者很懒,什么都没留下…
展开
-
详解php的垃圾回收机制
首先php是由C语言编写,C语言是强类型语言,每个变量都有固定的类型,但是php变量可以保存任何数据类型,是怎么实现的呢?zend引擎中是怎么可以做到一个变量保存任何的数据类型?每一个变量定义的时候都会保存在一个叫zval的容器中struct_zval_struct{ zvalue_value value; //变量的值,这个成员变量是一个zvalue_value联合体,php可以...原创 2019-11-08 15:04:39 · 268 阅读 · 0 评论 -
docker中php环境安装grpc
1.下载2.移动到/home/work/app/3.解压4.切换到目录下5.linux源码安装的3步: 配置(./configure) 编译(make) 安装(make install)./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。这一步一般用来生成 Makefile,为下一步的编译做...原创 2019-08-21 10:54:45 · 1772 阅读 · 0 评论 -
static关键字 self 后期静态绑定 抽象类 接口 final关键字
static 声明类属性或方法为静态,就可以不实例化类而直接访问1.声明方法: 如果没有修饰符修饰默认为publicclass Person{ //声明静态属性 public static $name = 'foo'; //声明静态方法 public static function say() { return self::$name; ...原创 2019-07-11 16:08:58 · 297 阅读 · 0 评论 -
通俗易懂面向对象的三大特点
三大特性:封装、继承、多态我们定义一个类时,实际上是把一类事物共有的属性和行为提取出来,形成一个物理模型模板,这种研究问题的方法称为抽象。一、封装封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作。php使用三种访问控制修饰符进行保护,如果没写修饰符默认为publicpublic 表示全局,本类内部,类外部,子类都...原创 2019-07-11 11:37:55 · 253 阅读 · 0 评论 -
php对象的序列化和反序列化
对象的存储和传输:在实际项目应用中,有些任务在一两个页面是无法完成的,由于变量到脚本执行完毕就释放,我们本页所生成的对象想在其他页面使用时便碰到了麻烦。如果需要将对象及其方法传递到我们想使用对象的页面,比较简单可行的方法就是将对象序列化后存储起来或直接传输给需要的页面,另一个方法就是将对象注册为session变量。一、在php中,序列化用于存储或传递php的值的过程中,同时不丢失其类型和数据。...原创 2019-07-05 16:33:20 · 1385 阅读 · 0 评论 -
php的控制反转和依赖注入
1.判断代码的好处就是高内聚低耦合高内聚就是软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。低耦合就是每个模块之间耦合度要低,如果要修改,修改一点点就可以而不是修改一大部分。而在代码中体现出来的设计模式就是依赖注入和控制反转2.依赖注入:就是A类所依赖的B类C类等以属性或者构造函数等方式注入A类而不是直接在A类中实例化。例如:class A{ p...原创 2019-07-04 17:40:13 · 447 阅读 · 0 评论 -
详解php的反射机制
1.反射是什么?反射是程序可以访问、检测和修改它本身状态或行为的一种能力。就像将我反射给她,她就有了我的行为能力。2.php具有完整的反射API,添加了对类、接口、函数、方法或者扩展进行反向工程的能力。反射API提供了方法来取出函数、类和方法中的文档注释。php的反射机制能拿出类里面的属性方法,private和protected也可以。3.具体实现:php提供了相应的调用API,也就是方法。...原创 2019-07-04 16:47:52 · 258 阅读 · 0 评论 -
php内存溢出情况
报错情况:PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted1.上传excel文件时,出现内存溢出的情况在文件中分配大点的内存设置内存治标不治本,而且服务器的php.ini有时候是很难改的。所以在文件中设置。但是只有php.ini中的安全模式safe_mode开启时才可以设置ini_set('memory_l...原创 2019-04-18 14:14:07 · 4528 阅读 · 0 评论 -
php后台接口打印
今天找了一下午的坑:各位是不是习惯性的按ctrl+s,但是今天我就栽到了这个上面按ctrl+s时不小心给一个底层方法加了个s本来是这样Yii::$app->request->getHeaders();加了后Yii::$app->request->getHeasders();没看出来,然后前台一直打印null打印的信息还是通过接口传入前台,前台获取参数报错例...原创 2019-02-26 18:49:31 · 2059 阅读 · 0 评论 -
php中数据表中int类型字段名称使用
在代码编写过程中,为了不使用死代码,所以会使用常量或者变量的形式来写。场景:数据表字段中存的整型 0 1 2 3 4那么为了方便改动(添加或修改删除等),不需要改动很多地方,这时候就定义一些属性或者写入配置文件中,这样会方便很多const OPERATE_CHECK = 3;const OPERATE_CONFIGURE = 4;const OPERATE_SHARE = 5; ...原创 2019-02-25 19:11:38 · 373 阅读 · 0 评论 -
php中换行符PHP_EOL
PHP_EOL是php已经定义好的变量,代表php的换行符。这个变量会根据平台而变。php使用换行符可以提高代码可移植性。mac换行用/runix系列换行用/nwindows系列换行用/r/n比如有的程序想把文件中的所有行合成一行:1.函数str_replacestr=strreplace(array(′/r′,′/n′,′/r/n′),′′,str = str_replace(ar...原创 2018-12-10 16:07:48 · 983 阅读 · 0 评论 -
php上传文件$_FILES注意点
1.页面上传需注意:<form action="" method="post" enctype="multipart/form-data">......</form>from表单中对于enctype属性值的解释该属性规定在发送到服务器之前应该如何对表单数据进行编码值描述appl原创 2019-02-15 18:07:09 · 415 阅读 · 1 评论 -
php根据一个下载链接保存相应文件,并从csv/excel中获取的数据进行处理为标题对应值的形式
foreach($result as $k => $item){ if($k > 0){ foreach($result[0] as $row => $title){ $newResult[$k][$title] = $item[$row]; } }}原创 2019-01-03 11:37:15 · 524 阅读 · 0 评论 -
php判断一个值是否在数组中
使用php小技巧:判断value在不在数组value在不在数组value在不在数组array中?方法一:in_array(value,value,value,array)注意:in_array(’’,’’,true)还有第三个参数,为true时还会判断数据类型方法二:将数组使用array_flip()进行键值反转,然后if(isset(array[array[array[value])){}...原创 2018-12-05 16:22:38 · 9565 阅读 · 1 评论