vuex和localStorage/sessionStorage区别

1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地

2.应用场景:vuex用于组件之间的传值(响应式的——个人理解为页面上的数据会自动变化),localstorage则主要用于不同页面之间的传值(其他页面更新数据了,当前页面要刷新才能相应更新,非响应式的)

3.永久性:当刷新页面时vuex存储的值会丢失(存在内存里的,刷新了,当然会丢失),localstorage不会。

Read More

Laravel核心概念梳理

依赖注入篇

问题引出

整个 Laravel 框架的基石是一个功能强大的 IoC 容器(控制反转容器),如果你想真正从底层理解 Laravel 框架,就必须好好掌握它。不过,也不要被这个名头吓住,要知道 IoC 容器只不过是一种用于方便我们实现「依赖注入」这种软件设计模式的工具。而且要实现依赖注入并不一定非要通过 IoC 容器,只是使用 IoC 容器会更容易一点儿。

Read More

parse_ini_file 读取.env 读取不到的问题

使用thinkPHP框架,用环境变量遇到了个很坑的问题,.env 里的文件就是读不出来,windows 下没有问题,mac 和 linux 有问题。最后通过逐步排查,发现数据库密码中带个叹号,如果用加上单引号可以解决这个问题。例如 paswword = 'yaddddd?!'

Read More

PHP 精确运算函数bcadd,bcsub,bcmul,bcdiv

php 在使用加减乘除等运算符计算的时候会把未定义类型的操作数转成浮点数然后进行算术运算

有句话说的好,永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数

浮点数运算示例

1
2
3
$a = '49';
$v = '48.98';
echo $a - $v;

正常来讲这里应该返回 0.2 吧,可实际运行结果是 0.020000000000003

php提供了高精度计算的函数库,实际上就是为了解决这个浮点数计算问题而生的

Read More