闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

安装 Laravel 报错 PHP extension mcrypt is missing 解决方案

2018-01-14 约 1 分钟读完 搬砖秘籍
在安装 Laravel 的时候按照网上的教程,出现了如下的错误 the requested PHP extension mcrypt is missing from your system 本来这种小错不值得记录,直接找到 php.ini 将 mcrypt 扩展打开即可。但是,我打开之后却没发现这个扩展。于是就去找这个扩展想下载安装,后来发现原来问题不在这里。 why 这是因为PHP的版本问题,在 PHP 7.1 中弃用了这个扩展,在 PHP 7.2 版本中完全移除了这个扩展。 但是我安装的时候因为要参考示例,于是安装了5.0版本的 Laravel,而5.0版本还是信赖这个扩展的。 解决方案 当然是安装最新的 Laravel。 把命令 composer create-project laravel/laravel laravel5 "~5.0.0" --prefer-dist 换成 composer create-project laravel/laravel laravel5 --prefer-dist

Windows下使用XAMPP安装Laravel

2018-01-13 约 1 分钟读完 搬砖秘籍
自学当下最流行的PHP框架 Laravel,官网推荐使用 Homestead ,查了一下使用 Windows 安装这玩意有点折腾,并且我这老爷机能自己运行起来就不错了,还什么虚拟机。于是使用 XAMPP 来安装,做个简单的记录。 安装XAMPP 直接去官网下载最新版本,PHP版本为7.2.0,好久没写PHP了,也应该接触下新版本。 安装Composer 安装 Laravel 最好使用 Composer, 这是PHP的包管理器,类似 NodeJS 的 NPM。直接去官网下载 Windows 版本。下载之后直接各种 Next 就行, 不过有一个地方要注意。 这里要设置一下 php.exe 路径。 设置Composer源 毫无疑问,Composer 和 NPM 一样,国内使用是没那么方便的,所以要设置一一个国内的源。下面2个可以任选一个。 Packagist 镜像 Composer 中国镜像 设置方法按照官网来即可。 安装 Laravel 使用 cmd 进入 xampp/htdoc 目录,运行下面的命令 composer create-project laravel/laravel learnlaravel5 这样就生成了一个 Laravel 的项目了,浏览器打开下面的网址 http://localhost/laravel/public/index.php 看到下面的界面表示安装成功。 参考 国内使用composer的正确姿势 在 xampp 环境下安装 laravel

CSS 中 margin 与 padding 的百分比

2018-01-10 约 1 分钟读完 搬砖秘籍
最近做开发的时候用到了多次 margin: xx% 来做自适应的网页布局,但这个东西有时候出来的结果并不是自己所想的,于是去百度了一下这个百分比的计算基准,结果发现了一个比较好玩的点。 示例HTML <div class="boxer"> <div class="box"></div> </div> 示例CSS .boxer { width: 600px; height: 400px; background: red; } .box { width: 200px; height: 100px; background: blue; // padding: 10%; //padding 和 margin 一样好玩 margin: 10%; } 猜测结果 .box 的 margin 为:40px 60px 40px 60px 结果 是的结果是 60px 60px 60px 60px,同样 padding 也是一致。 why w3c就是这么规定的。 margin - CSS | MDN

不定宽高元素的水平垂直居中

2018-01-10 约 1 分钟读完 搬砖秘籍
前端开发中水平垂直居中是绕不开的坎,尤其是宽高不定的元素,之前听说过总总办法,由于自己懒,也没一一去试,今天就做一个总结。 PS:纯CSS实现,布局的问题不应试交给JavaScript(除非某些破不得已的情况)。 预期结果 HTML代码 <div class="panel"> <div class="box"></div> </div> Flex 方法 .panel { width: 600px; height: 400px; background: red; display: flex; justify-content: center; align-items: center; } .box { width: 83%; height: 79%; background:green; } Flex 是最简单的实现方法,由于目前通常是移动开发,这也是我的首选的方法。关于 Flex 布局可以参考:Flex 布局教程 margin: auto 方法 .panel { width: 500px; height: 400px; background: red; position: relative; } .box { width: 76%; height: 79%; background: green; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } 这算是 css 的一个奇技淫巧,非移动端开发下首选。 继续阅读

使用 Less 替换 wxss 开发微信小程序

2018-01-10 约 1 分钟读完 搬砖秘籍
微信小程序开发中默认使用的 wxss 做为样式文件,这货对应成前端就是 CSS 文件,所以通常写 wxss 文件的时候会很痛苦。因为我已经完全放弃了小程序自带的编辑器(参考:wxapp.vim——使用Vim开发小程序利器),于是尝试在微信小程序开发中引入 Less 来自动编译 wxss。 思路 启用一个 gulp 任务,在文件更新的时候自动将 .less 文件编译成 .wxss 文件。 主要用到了 2 个 gulp 插件,gulp-less 和 gulp-rename。前者用来编译 Less 文件,后者用来将编译出来的 css 文件重命名为 .wxss。 实现 代码: var lessPath = ['./app/**/**/*.less', './app/**/*.less']; /** * 本地监视less的文件 */ gulp.task('less', function () { return gulp.src(lessPath) .pipe($.plumber()) .pipe($.less()) .pipe($.rename(function (path) { path.extname = '.wxss'; })) .pipe(gulp.dest('./app')); }); // 静态服务器 gulp.task('style', function () { gulp.watch(lessPath, ['less']); }); 使用 开发前运行 gulp style,剩下的事情就是写 Less 了,再不也用管什么 wxss 了。

wxapp.vim——使用Vim开发小程序利器

2018-01-09 约 1 分钟读完 搬砖秘籍
微信提供的小程序开发工具自带了编辑器,不过习惯了 Vim 的我使用起来感觉很不顺手,于是切换到 Vim,好在 Vim 中已经有了开发小程序的插件:chemzqm/wxapp.vim: 提供微信小程序开发全方位支持的 vim 插件 安装 使用 NeoBundle Vundle vim-plug 对应的安装方法。 NeoBundle 'chemzqm/wxapp.vim' Plugin 'chemzqm/wxapp.vim' Plug 'chemzqm/wxapp.vim' 使用 安装上这个插件基本的高亮已经不成问题了,其实这个插件还提供了很多有用的功能,配合 YouCompleteMe 可以更高效,推荐参照官方的地址。 这样使用小程序开发工具只做预览和调试,开发的事情就交给 Vim 了。

Linux下小程序开发方法总结

2018-01-08 约 1 分钟读完 搬砖秘籍
小程序开发要使用官方的开发工具,果然腾讯也很完美的发行了 Windows 和 Mac 版本。对,没有 Linux 版本。之前因为这个问题,又因为项目催得急,我楞是切换到 Windows 下开发了3个月。最近几天尝试摸索一下 Linux 下开发小程序的方法。 方案一 虚拟机大法。 帅哥(我崇拜的大神) 使用的就是这个方法。 不过使用这个方法也有局限,虚拟机要 Win7 以上的系统(xp我这边测试不行),所以要保证有足够的机器配置。并且不支持共享目录,所以想在 Linux 下写代码,虚拟机中预览是不太可行的。 方案二(推荐) 使用这个工具: cytle/wechat_web_devtools: 微信开发者工具(微信小程序)linux完美支持,目前我使用的也是这个方法,目前来说是亲测可用的。 不过有不足之处是不能实时安装官方最新版本。 方案三(未实践) 这个方案是我没有验证过的,为了解决方案二中不能实时更新的问题,我们可以将方案一做一个变通。有以下几个想法: 使用 dropbox 同步代码(估计速度不会快) 使用 GoodSync、Allway Sync等软件同步(最有可能有效的方法) 后记 目前我使用方案二够用,如果有一天不能用了,我会亲测试方案三,相关内容再来补充。以上。