laravel 事件系统学习
学习下 laravel 的事件系统。 Laravel 的事件提供了一个简单的观察者实现,能够订阅和监听应用中发生的各种事件。 先以一个登陆日志来作为例子开始事件的学习吧。 注册事件 && 监听器在 app\Providers\EventServiceProvider.php 中,添加以下内容: 12345678protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], 'App\Events\LoginEvent' => [ 'App\Listeners\LoginListener' ]]; 然后运行命令,生成事件和监听器: 1php artisan event:generate 运行结束后,事件和监听器都会被自动创建好。 在监听中打个 log: info(‘user login...
laradock 中 php5.6 连接 mysql 报错解决
laradock 中 php 5.6 连接 mysql 报错的解决方法。 之前弄的是默认版本的 php 7.2 和 mysql 8,配置好以后一直都能正常使用。 最近因为需要切换 php 版本,突然发现切换后连接 mysql 时无法识别 host。 emmmm……,最开始还以为是 php 的锅,各种重新 build,无果,最后在 github 上找到别人发出来的解决办法: rm -rf ~/.laradock/data/mysql删除老版本的数据 docker-compose build mysql重新构建 mysql 进入 mysql 容器mysql -uroot -prootALTER USER root IDENTIFIED WITH mysql_native_password BY ‘root’;exit; 到这里也就可以了。 有这个问题是因为 8 和 5.7 的配置不一样,不清掉老数据的话会引起报错,一有请求去连接 mysql 马上就宕机。
Laravel 服务容器
在 Laravel 生命周期中,我们了解到框架运行过程中,会通过创建应用实例来完成很多事情,这个应用实例,也就是我们今天的主角,服务容器。 Laravel 的服务容器,是用于管理类的依赖和执行依赖注入的工具。 依赖注入 DI开始之前,需要我们先了解一下,什么是依赖注入。 简单来说,就是将类的依赖通过参数或其他方式注入。 比如: 12345678910111213141516171819202122232425262728293031323334interface Storage{ public function set($key, $value); public function get($key);}class SessionStorage implements Storage{ function __construct($cookieName='PHPSESSID'){ session_name($cookieName); session_start(); ...
Laravel 生命周期
Laravel 的生命周期主要分为四个阶段: 加载依赖 创建应用实例 接收请求并响应 请求结束进行回调 这四个阶段都在 index.php 中完成: 1234567891011121314151617181920<?php// 加载依赖require __DIR__.'/../vendor/autoload.php';// 创建应用实例$app = require_once __DIR__.'/../bootstrap/app.php';// 实例化 HTTP 内核$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);// 接收请求,生成响应$response = $kernel->handle( $request = Illuminate\Http\Request::capture());// 发送响应$response->send();// 请求结束,进行回调$kernel->terminate($request,...
使用 laravel mix 编译资源
学习下如何在 laravel 框架中,用 laravel mix 编译前端资源。 使用本次操作的环境依然是 laradock,如果没用特殊说明,以后应该默认 laradock。 workspace 容器中,已经提前装好了 node 环境,而在项目根目录中,package.json 和 webpack.mix.js 也已经为我们预设好了,所以laravel 项目建好后,直接在根目录安装即可: 1npm install 在 webpack.mix.js 中,已经加载了两个默认的文件: 12mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css'); 我们只需要把自己的资源文件,按照同样的格式写入进去,然后开始运行,就可以生成编译后的资源了。 虽然示例中只写了 sass...
laravel 内置 vue 的使用
从 5.3 版本开始,用 Vue.js 作为默认 JavaScript 前端框架。 从刚接触 laravel 到现在已经又过去了四个版本,种种原因,还是一直没能用上 vue.js 来做开发,现在刚好因为公司项目用到了 vue,对 vue 有了一定的了解,所以顺便就研究下 vue 在 laravel 中的使用吧。 安装laravel操作均在 laradock 的环境中进行。进入 workspace 容器,执行以下命令安装 laravel 1composer create-project laravel/laravel study 配置mysqldocker-compose up -d nginx mysql phpmyadmin 启动容器配置 nginx、hosts 并重启 nginx进入 mysql 容器执行以下命令: 123456mysql -uroot -prootALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';exit;exit 访问 phpmyadmin:...
travis-ci 可持续集成测试
给博客添加了 travis ci 可持续集成,以后本地可以不装 node 环境了。 操作过程:github 账号 登陆 travis ci登陆后把博客项目的开关打开。 博客项目创建分支把博客项目,即 .io 的那个项目拉到本地,创建一个新的分支 hexo: 123456git checkout -b hexogit rm -rf * #删除仓库中的文件,可能本地的文件还存有,则需要使用 rm -rf 命令git commit -m "清空文件夹" #提交删除信息git push origin hexo:hexo #将删除的信息推送到远程仓库 把博客源码放入 hexo 分支的文件夹中,然后再新建 .travis.yml: 123456789101112131415161718192021222324252627282930313233343536373839404142434445# 指定语言环境language: node_js# 指定需要sudo权限sudo: required# 指定node_js版本node_js: - 7.9.0#...
phpstorm 配置 laradock xdebug
本次操作为 win10 系统,理论上和其他系统无差异。 克隆 laradock 到本地:git clone https://github.com/Laradock/laradock.git 进入 laradock 文件夹, 生成配置文件:cp .\env-example .env 编辑 .env 配置文件: 1234WORKSPACE_INSTALL_XDEBUG=truePHP_FPM_INSTALL_XDEBUG=true 修改 laradock/php-fpm/xdebug.ini 和...
新年快乐
久不更博,是因为最近在学习,然后把笔记都写在了简书。 博客不会关,域名已续费。 会忙里抽闲继续折腾。 只可惜想学想做的东西都太多,有点分身无暇。 不说了,19 年也都进来这么久了,祝大家新年快乐吧。
常用工具合计
图片处理类工具 Ai转常用图片格式 图片转favicon 艺术字生成 logo设计2(国外网站,可能会慢) 图片压缩 开发工具 代码转换 ascii文字生成 油猴脚本中心 天气api 生成外网可访问的本机域名 leangoo-团队协作工具 我喜欢的几个博客 litten Makito’s Notebook 澳洲小哥原始技术 MARKSZのBlog 魚·后花园