手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年11月的文章

post的奇技淫巧:Post the checkboxes that are unchecked

 放到javascript里为实在是意外 。主要是这应该是属于前端的事情。

起因是这样的,一个checkbox,在没有选中前提交。POST过来的数据中。连checkbox对应的name的KEY,在$_POST中就不存在。这个就尴尬了。因为正常操作是form.submit(),或者是用$.post('xxx',$('#form').serializeArray())。这两种情况下,未选中的checkbox直接就消失在$_POST中了
 
表单的KEY比较多,将近20个(有点夸张,但是是事实)。如果一个个的写 var xxx = $('xxx:checked').val()||0; 这样也好痛苦的说~~
 
网上找了一下,看到这个:https://stackoverflow.com/questions/1809494/post-the-checkboxes-that-are-unchecked,
投票最高的居然是:
XML/HTML代码
  1. <form>  
  2.   <input type='hidden' value='0' name='selfdestruct'>  
  3.   <input type='checkbox' value='1' name='selfdestruct'>  
  4. </form>  
原理就是,如果selfdestruct有值,默认下面有值的会覆盖上面的。因为一个FORM里同名的key只能有一个。如果selfdestruct没有选中,那么就会用hidden里的值!
 
 
 
 

又到年终总结时

以前写作文和每年写总结的时候,都喜欢用光阴似箭光阴如梭,现在再回过头来看,也确实是太快了

 

这一年,感觉啥事情都没有做成,不能算是混混噩噩吧,但也确实没有做成什么事。外包带来最大的问题就是没有积累,就是在不停的往前走,不知道何时是个尽头。
之所以说是没有积累,是因为每次接活的行业都不一样,然后导致代码的可复用性就差了。相当于就变成0积累。
 
2018年要改变这种情况,先定一下1~2个行业,真要有活就只在这1~2个行业里折腾,其他的不碰,或者推荐靠谱的团队来完成。希望明天会更好
GO,2018!

composer初装需要执行的几个命令

注:以下技巧在composer2下面已经没必要了。!!!!!

升级成composer2吧,全解决了

------------- 

 

 

 

因为我一直用Yii2框架。所以安装composer和安装后需要执行的命令如下,【纯记录】

1、下载composer
composer下载(具体详细的还需要:https://getcomposer.org/download/ ,必须 sha 还是经常会变的,鉴于可能经常会变所以注释掉了第二行)
  1. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"  
  2. #php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  3. php composer-setup.php  
  4. php -r "unlink('composer-setup.php');"  
  5.   
2、mv composer.phar /usr/local/bin/composer  #移到系统目录,变成全局命令
3、composer config -g repo.packagist composer https://packagist.phpcomposer.com    #国内源
    phpcomposer好象垮了!
    更新为:composer config -g repo.packagist composer https://packagist.laravel-china.org 
4、composer global require hirak/prestissimo   #多线程
5、composer global require "fxp/composer-asset-plugin:^1.4"   #升级为1.4
6、composer update -vvv  
 
就这样了 
 
合并后的命令
XML/HTML代码
  1. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"      
  2. php composer-setup.php      
  3. php -r "unlink('composer-setup.php');"      
  4. mv composer.phar /usr/local/bin/composer    
  5. composer config -g repo.packagist composer https://packagist.phpcomposer.com      
  6. composer global require hirak/prestissimo     
  7. composer global require "fxp/composer-asset-plugin:^1.4"     
  8. composer update -vvv    
  9. #over    
 
如果采用了git,记得在运行完clone后:git config credential.helper store  ,可以将当前用户名和密码存下来(针对HTTP方式,如果是ssh本来就不需要)
 

将Users目录迁移

 我的mac其实在一早使用的时候就分过区,结果 现在主分区快满了。感觉性能在下降于是就想将用户目录迁移。但目前没有看到特别好的办法。所以我就先用rsync迁移到另一个分区。再在个人设置里指定分区目录

1、先rsync到新的目录

2、到系统设置里找到登录,右键你自己的账号,选择高级设置。将用户目录指向刚才同步完的目录

3、系统提示你重启。确认重启

4、完事儿~,删除旧有目录(如果不放心就先保留一段时间)

就是这么简单

移植Blade到Yii2

这回移植的比较彻底。当然也是先使用了网上的代码。不然的话,我初期的一些基础性的东西也要重写

1、写了一些简单的方法,比如yUrl,yRequest,yUser等,然后因为是laraval的玩意,里面有一个方法app(),不得已我重写了一下!否则有部分代码就没法实现了。其实也可以用yHtml来整体替换Html::的。但最终没有这么做。。yHtml =》 app('yii\??\Html')的调用罢了(不多写。记不住详细 代码)
2、引入了皮肤概念。网上的一些代码默认应该都是不支持theme的。正好我有项目要用到theme。不得已,再次加入。同时支持module里的调用(笑哭)
 
目前有小部分还是以硬编码的形式存在。
最后。因为尝试部分代码使用vue,就遇到了{{}}的冲突。其实blade默认就支持@{{}}来解决冲突(只要是vue的变量,就必须 是@{{}} )