Vue中的import中@的作用
这是webpack的路径别名,相关代码定义在配置文件webpack.base.config里:
1234567891011resolve: { // 自动补全的扩展名 extensions: ['.js', '.vue', '.json'], // 默认路径代理 // 例如 import Vue from 'vue',会自动到 'vue/dist/vue.common.js'中寻找 alias: { '@': resolve('src'), '@config': resolve('config'), 'vue$': 'vue/dist/vue.common.js' }}
其中resolve()函数是文件里面自定义的函数:
123function reso ...
PHP中array_walk和array_map的区别?
1 区别
array_map 有Array返回值
1、array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后新的数组,若函数作用后无返回值,则对应的新数组中为空。2、回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。3、提示:您可以向函数输入一个或者多个数组。
若相函数输入2个数组,其函数接受参数也应该有两个,map给函数传值时,是每次从两个数组中分别取一个传给函数。即多个数组之间是同步提交的,不是提交完一个数组再提交下一个提交几个数组,则函数也需要有几个参数
语法:
1function array_map(?callable $callback, array $array, array ...$arrays): array {}
结果导向:通过回调函数对当前数组A的值进行处理,之后将被处理的值放到一个新的数组B中,并返回数组B,原数组A不变。
返回值是经过回调函数处理之后生成的新数组
回调函数有几个形参,则array_map就要传几个数组给回调函数
回调函数基础形参只是Array的 ...
php使用redis的scan命令时遇到的坑
1 问题以前的项目中有用到redis的keys命令来获取某些key,这个命令在数据库特别大的情况会block很长一段时间,所以有很大的安全隐患,所以这次打算优化一下。
官网建议使用scan命令来代替。
以下是使用scan命令来匹配相应模式的key的代码:
123456789$redis = new Redis();$redis->connect('localhost', 6379); $iterator = null;while ($keys = $redis->scan($iterator, 'test*')) { foreach ($keys as $key) { echo $key . PHP_EOL; }}
这代码应该没问题吧?这是从jetbrains 公司旗下软件phpstorm的代码提示库中摘出来的,只加了pattern参数,但是运行结果却是有问题的。
使用keys命令可以得到设置的”test1″,”test2″,…..,”test5″这5个key,但是使 ...
php区分线上环境和测试环境
一般我们在做开发的时候,程序都会运行在多个环境,起码会3个:开发环境、测试环境、生成环境
三种环境的配置信息是不一样的
数据库配置不一样、debug级别不一样、日志记录级别不一样、缓存不一样,等等。
但是我们用版本管理工具的时候,代码在三种环境下是一样的,所以,如何区分当前运行的是那个环境?
方案1. 是使用.env文件,这个文件不会托管到版本库,每个运行环境都是独立配置的
方案2. 准备多份配置文件,比如config.php、config-local.php,config.php托管在版本库,配个人都一样,config-local.php不托管在版本库,每个人独立配置,运行的时候config-local.php会覆盖config.php中的配置项,缺点是每次搭建环境都需要配置这个文件,比较繁琐。有些人会直接复制config.php为config-local.php,结果导致更改了config.php,其他开发人员不会生效。
方案3. 使用系统环境变量
1 Apache的环境变量设置指令:SetEnv RUNTIME_ENVIROMENT DEV
配置格式:
123456Se ...
vue教程
1 vue安装1.1 直接用 script标签引入对于制作原型或学习,你可以这样使用最新版本:
1<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
对于生产环境,我们推荐链接到一个明确的版本号和构建文件,以避免新版本造成的不可预期的破坏:
1<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
1.2 NPM创建12345678//安装vuenpm install vuenpm install -g @vue/cli//创建vue项目vue create project_name//qcd project_namenpm run serve
1.3 使用HbuilderX创建vue项目
1.4 快速启动vue-element-admin1234567891011# clone the projectgit clone https: ...
php实现转盘游戏后台奖品按照概率发放
游戏转盘PHP后台实现奖品发放1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495<?phpheader("Content-type:text/html;charset=GB2312"); //设置编码//中奖奖品$prizeArr = array( 0 => array('id' => 1, 'prize' => '现金500W', 'v' => 1), //概率为1/200 1 => array('id' => 2, 'prize' => 'iphone7', ...
laravel教程
1 创建laravel项目创建laravel项目,需要使用composer工具,所以需要先安装composer,composer官网。
然后使用命令行进行安装,安装命令如下:
12composer create-project laravel/laravel {project-name} {laravel version} --prefer-dist {project-path}# ex. composer create-project laravel/laravel myBlog --prefer-dist
其中,
{project-name}表示你创建的laravel项目名
{laravel version}表示laravel项目的版本号,默认是最新的版本
{project-path}表示项目创建的地址,默认是命令行存在的那个目录下,这个可以不用写。
2 启动laravel项目2.1 方式1在项目的根目录下,使用以下命令进行启动:
1php artis ...
linux中批量替换目录下所有文件内容的方法
method112sed -i "s/oldString/newString/g" `grep oldString -rl /path`sed -i "s/oss_room_v2/oss_bi_all_room/g" `grep oss_room_v2 -rl /home/hadoop/nisj/automationDemand/idfaQuery`
method212grep oldString -rl /path | xargssed -i "s/oldString/newString/g"grep data_chushou_pay_info -rl /home/hadoop/nisj/automationDemand/idfaQuery | xargs sed -i "s/data_chushou_pay_info/oss_bi_all_chushou_pay_info/g"
也可以在grep子句中添加过滤,如:【grep oss_room_v2 -rl /home/ha ...
PHP中CGI、CLI、FPM是什么
回答一刚开始对这个问题我也挺纠结的,看了《HTTP权威指南》后,感觉清晰了不少。
首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。
web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。Nginx会传哪些数据给PHP解析器呢?url要有吧,查询字符串也得有吧,POST数据也要有,HTTP header不能少吧,好的,CGI就是规定要传哪些数据、以什么样的格式传递给后方处理这个请求的协议。仔细想想,你在PHP代码中使用的用户从哪里来的。
当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格 ...
一台电脑如何管理多个ssh key
需求:一台电脑上(Mac os)管理多个ssh key,可以任意切换,达到多用户(账号)使用不同ssh提交代码。
以下利用bitbucket和github账号来做例子。
一、生成ssh key1.1 生成密钥(必须)1ssh-keygen -t rsa -C "youremail@yourcompany.com"
注解:
密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。
同时在密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行。
若一路回车(密码可以不写),这样只会在~/.ssh/ 目录下生成 id_rsa 和 id_rsa.pub 两个文件。
1.2 设置路径 (可选)为了区分,我们在第一个回车后设置路径,进行第二步
12345id_rsa_bitbucketid_rsa_bitbucket.pubid_rsa_githubid_rsa_github.pub
1.3 指定密语字符串(可选)
输入完毕后程序同时 ...