- 博客(105)
- 收藏
- 关注
原创 封装小程序状态管理工具(类redux)
一、为什么封装redux 在曾经的小程序开发中,有遇到复杂的交互逻辑,当时是按照小程序文档里的说明来处理状态的,当时感觉非常麻烦,浪费了很多代码量和时间,后来我就在想小程序有没有像vuex或react那样的状态管理工具,当然了是没有找到的,不过看到有人提供另外一种方式,就是改npm包让redux 支持小程序,改npm包对于开发者来说,需要一定的技术积累,当然不出各种幺蛾子才最重...
2019-05-31 22:06:21 539
原创 laravel container
$container = app();解析容器$obj = app(DevTmp::class) 相当于 $container = app(); $container->make(DevTmp::class)// 绑定对象$container->bind(DevTmp::class, function($app) { return new DevTmp(); });/...
2018-12-25 16:22:29 215
原创 composer
composer autoload配置1、classmap:[“database”],配置classmap 执行 composer dumpautoload;项目根目录下的 php 文件都会被自动映射到vendor/composer/autoload_classmap.php可以 用classmap 生成器实现自动加载。2、files配置files:["app/helpe...
2018-11-07 10:33:40 168
原创 sftp下载文件
$conf = $this->getSftpConfig();$conn = ssh2_connect($conf['host'],$conf['port']);if (!ssh2_auth_password($conn, $conf['user'], $conf['password'])) { \Log::info('ftps 连接失败');}if (config(...
2018-07-25 15:48:26 1042
原创 webpack4 学习7
Webpack 优化每次打包后 entry.js文件都比较大,是因为打包把第三方框架也搭进去了优化:在入口文件里配置第三方类库entry:{entry:’./src/entry.js’,jquery:’jquery’}在组件配置里添加组件new webpack.optimize.CommonsChunkPlugin({name:’jquery’,//单独抽离的入口文件fil...
2018-05-15 01:10:17 354
原创 webpack4 学习3
import css from './css/index.css';import less from './css/black.less';import sass from './css/aa.scss';{ const aaa = '66666'; let str = 'qweqwqwqewqe';}let content = document.getElementBy...
2018-04-13 00:32:28 259
原创 webpack4 学习时打包图片时遇到的问题
const path = require('path');const uglify = require('uglifyjs-webpack-plugin');//代码压缩插件const htmlPlugin = require('html-webpack-plugin');//html 打包工具const extractTextWebpackPlugin = require('extract...
2018-04-12 00:34:36 4451 2
原创 PHP 获取用户ip
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { $ip = getenv("HTTP_CLIENT_IP");} else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_
2018-01-22 19:36:26 342
原创 vagrant 常用配置和命令
git clone https://github.com/laravel/homestead.git Homestead //安装homestead方式一://github.com/laravel/homestead.git Homestead //安装homestead方式一composer require laravel/homestead //安装homestead方式二...
2017-12-17 01:41:04 472
原创 phpstorm快捷键
在当前文件进行文本查找 (必备) Ctrl + F 在当前文件进行文本替换 (必备) Ctrl + R 撤销 (必备) Ctrl + Z 删除光标所在行 或 删除选中的行 (必备) Ctrl + Y
2017-10-15 16:25:34 337
原创 git 笔记
Git status 查看文件修改状态和提交状态 modified: a.txt //文件有改动//管理修改Git diff 文件名 查看文件修改的内容//版本回退Git log 查看最近的提交记录Git log --pretty=oneline //是提交记录显示在一行Git reset --hard HEAD^ //回退到上一个版本Git reset --h
2017-10-15 16:09:36 194
原创 微信的坑 代码实例
//$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//已废弃(坑啊) $postStr = file_get_contents('php://input'); if (!empty($postStr)){ libxml_disable_entity_loader(true); $postObj = simplexml_load_st
2017-08-20 00:51:16 954
原创 php json常用的常量总结
JSON_FORCE_OBJECT 把索引数组打包成json;JSON_UNESCAPED_UNICODE 把对象打包成json并且中文显示正常json_encode()默认把json解压(包装)成对象,添加第二个参数为true 则把json解压(包装)成数组
2017-08-19 21:27:22 719
原创 curl
public function index(){// $curl = curl_init('http://www.imooc.com/');// curl_exec($curl);//执行curl// curl_close($curl);//关闭句柄// $curlobj = curl_init();// curl_
2017-08-19 18:45:08 262
原创 微信的服务器验证
public function index(){ $signature = $_GET['signature']; $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; $echostr = $_GET['echostr']; $token = '你的微信token'; $tmpArr =
2017-08-19 15:07:45 285
原创 laravel 的日志
记录器提供RFC 5424中定义的八个记录级别:紧急,警报,关键,错误,警告,通知,信息和调试。Log::emergency($error);Log::alert($error);Log::critical($error);Log::error($error);Log::warning($error);Log::notice($error);Log::info($error);L
2017-08-14 01:57:02 239
原创 php 好用的验证码类
<?phpnamespace App\Tool\Validate;//验证码类class ValidateCode{ private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//随机因子 private $code;//验证码 private $codelen = 4;//验
2017-08-14 01:27:54 800
原创 php 好用的日志类
/* * 记录信息到日志 * 思路 * 给定内容写入日志 * 如果内容大于1m备份并重新写否则继续写 * */class log{ const LOGFILE='curr.log';//建一个常量代表日志的名称 public static function write($cont){//写日志 $cont.="\r\n";
2017-08-14 01:23:50 763
原创 laravel 的日志记录访问者访问的资源和用户ip,及查询的内容
创建方式创建一个全局的中间件在中间件中写入如下内容Event::listen('illuminate.query',function($query) use ($request){ $str='['.date('Y-M-D').']'.$request->ip().'------->'.$request->path()."\n\r".'[sql}'.$query."\n\r
2017-08-14 00:57:38 3732
原创 laravel 遇到的问题
问题描述 在model中 是使用软删除 ,定义dates属性数组添加dealeted_at $dates属性里面包含的字段可以直接后面跟carbon类时间操作的任何方法,例如一个模型:dates = [deleted_at,create_at,updated_at]//定义的在model查询时无法查出model对象问题是因为dates 属性中添加了create_at ,u
2017-08-13 16:55:09 521
原创 model的约定
public $table = 'posts'; //设置主键 //public $primaryKey = 'id';//$dates属性里面包含的字段可以直接后面跟carbon类时间操作的任何方法,例如一个模型: protected $dates = ['delete_at']; protected $table = 'users'; pub
2017-08-06 03:27:46 253
原创 laravel中的模型关系
//一对一关系public function userinfo (){ //info表里的键,本地键 return $this->hasOne('App\UserInfo','uid','id'); //uid是userinfo 的外键 ID 是user的主键}public function duo(){ //hasMany('App\post', 'pos
2017-07-31 19:52:50 453
原创 laravel 登录
Route::get('auth/login', 'Auth\AuthController@getLogin');Route::post('auth/login', 'Auth\AuthController@postLogin');Route::get('auth/logout', 'Auth\AuthController@getLogout');// 注册路由...Rou
2017-07-31 15:52:51 354
原创 laravel 发送邮件
laravel发送邮件nette/mail 发送邮件composer require nette/mail=2.3.4use Nette\Mail\Message;use Nette\Mail\SendmailMailer;use Nette\Mail\SmtpMailer; $mail = new Message; $mail->setFrom(
2017-07-31 15:52:23 391
原创 laravel 的验证规则
在控制器中使用$route = ['name'=>'required|string','age'=>'integer'];$message = ['required'=>':attribute 是必须的';]$this->validate($request->all(),$route,$message)//如果验证失败自会自动返回原来的页面并返回错误信息
2017-07-31 15:51:04 900
原创 laravel 笔记
路由 1.resource路由 定义 Route::resource('home','HomeController'); 创建 php artisan make:controller HomeController --resource HomeController内容 public function index
2017-07-30 18:34:28 429
原创 laravel 数据填充
数据迁移创建数据迁移文件php artisan make:migration create_users_table --create=users追加列php artisan make:migration add_votes_to_users_table --table=users执行迁移文件php artisan migrate还原上一个迁移php artisan migrat
2017-07-30 18:32:03 363
原创 laravel 自定义的控制台命令
consolephp artisan make:console SendEmails创建命令文件也可以php artisan make:console SendEmails --command=emails:send;//emails:send 指的是调用的命令2.在 console/kernel.php把生成的文件注册下 protected $commands = [
2017-07-30 13:29:35 543
原创 laravel event事件 讲解
event注册简单event首先在 EventServiceProvider中的属性$listen添加事件和监听 protected $listen = [ 'App\Events\openEvent' => [//事件 'App\Listeners\openListener',//监听器 ], ]; 执行ph...
2017-07-29 17:00:44 1754
原创 es6环境搭建
注意 事项1.es6下创建三个目录appservertasks2.在 app下 创建cssjsviews3.进入app/js目录创建index.js(js入口文件)4.进入app/views创建(注:ejs是一个模板引擎,在node中需要启动)error.ejsindex.ejs5.进入到 es6/server/使用node的脚手架启动脚手架 表示启用ejs
2017-07-25 20:08:57 1888 5
原创 laravel的 容器container(ioc)
//ioc//交通工具interface Visit{ public function go();}class Leg implements Visit{ public function go(){ echo 'legs'; }}class Car implements Visit{ public function go(){
2017-07-23 19:28:37 230
原创 php 简单ioc容器
interface SuperModuleInterface{ /** * 超能力激活方法 * * 任何一个超能力都得有该方法,并拥有一个参数 *@param array $target 针对目标,可以是一个或多个,自己或他人 */ public function activate(array $target);}class
2017-07-19 12:34:20 959
原创 js 递归
function aa(x){ if(x return 1; }else{ return x*arguments.callee(x-1); } }
2017-07-17 18:39:12 173
原创 继承
/*封装继承函数 */function extend(subClass,superClass){ var F=function(){}; F.prototype=superClass.prototype; subClass.prototype=new F(); subClass.prototype.constructor=subClass; s
2017-07-17 18:36:03 203
原创 鼠标滚动
var oTxt=document.getElementById("txt"); var scrollFunc=function(e){ var direct=0; e=e || window.event; var t1=document.getElementById("wheelDelta"); var t
2017-07-17 18:30:42 174
原创 php 插入排序
function insertSort($arr) { $len=count($arr); for($i=1; $i$len; $i++) { $tmp = $arr[$i]; //内层循环控制,比较并插入 for($j=$i-1;$j>=0;$j--) { if($tmp $arr[$j]) {
2017-07-16 04:06:29 141
原创 选择排序
function selectSort($arr) {//双重循环完成,外层控制轮数,内层控制比较次数 $len=count($arr); for($i=0; $i$len-1; $i++) { //先假设最小的值的位置 $p = $i; for($j=$i+1; $j$len; $j++) { //$ar
2017-07-16 04:03:04 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人