手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 免费部署 N8N 的 Zeabur 注册 | 登陆
浏览模式: 标准 | 列表全部文章

找回安装 软件时对:未知来源的允许

 新版的macOSx中,已经没有“未知来源”这个选项了。因此如果要装一些第三方的软件,可能就直接提示你安装包坏了,请拖到垃圾筒里。

当然方便的操作方法是,在终端执行:

XML/HTML代码
  1. sudo spctl --master-disable  

再打开系统与偏好设置,就会发现多了一个未知来源的选项。于是乎安装就能继续 了。

如果你比较小心谨慎,安装完后,可以再执行:

XML/HTML代码
  1. sudo spctl --master-enable  
关闭它

 

Yii2 静态方法 中怎么触发事件

在ActiveRecord的init中写了一个简单的事件触发:

PHP代码
  1. public function init(){    
  2.    $event = new XxxEvent();    
  3.    $this->on(self::EVENT_AFTER_UPDATE,[$event,'doSomeThing']);    
  4.     parent::init();    
  5. }    

就是这么简单,然后在程序中有一段触发:

PHP代码
  1. public static xxx(){  
  2.    self::updateAllCounters([],[]);  
  3. }  

然后发现,死活没有触发。追了一下代码发现,updateAllCounters没有从AR走,而是直接从db->createCommand()->execute走了

于是在下面加了一行:

self::trigger(self::EVENT_AFTER_UPDATE);

然而直接报错,说是trigger不支持静态调用,哦。。。trigger是非静态方法。

于是最后只能用万能的call_user_func_array的方法了:

PHP代码
  1. call_user_func_array([new self,'trigger'],[self::EVENT_AFTER_UPDATE]);  

有点贱,但总算实现了。

 

 

 

 

 

 

Yii2 updateAll tips

 Yii2 中的updateAll可以接受三个参数,$attributes,$condition,$params = null

第一个参数是要更新的值,第二个是条件,如果第二个条件中用了占位符,就必须 要有第三个条件。
平时我们查询 的时候用andWhere()可以连接很多参数,那么updateAll的时候,如果有多个参数怎么办?
Test::updateAll(['status'=>1],['status'=>0,'flag'=>1]);
如果参数都是固定值,这样的写法当然OK,如果有范围值就只能这样写了,比如flag != 1怎么办?
Test::updateAll(['status'=>1],['and',['status'=>0],['<>','flag',1]]);  
 
Over
 
PS:参考:http://www.yiiframework.com/doc-2.0/yii-db-query.html#where()-detail

PHP 7 DomDocument not found

 升到PHP7后,当用到DomDocument的时候,报错说class DomDocument not found。。。

用php -m|grep xml,可以看到libxml是被加载的。
 
根据官方文档:
XML/HTML代码
  1. This extension requires the libxml PHP extension. This means that passing in --enable-libxml is also required, although this is implicitly accomplished because libxml is enabled by default.  
证明没有错。
事实上也有很多人遇到了这个问题,怎么破?对于我用apt-get install的人来说,实在太方便了。
直接:
apt-get install php7.0-xml
搞定。
 
参考:http://stackoverflow.com/questions/35668702/php-7-domdocument-not-found
 
 

show一个Uber该死的BUG

自从升到IOS正式版后,Uber就再也不能用了。为咩?原来是这货的一个BUG(也可能不是,就纯粹是为了炫耀效果也未必)

 
如果你的手机性能不佳,你可能关闭了那个动态效果,然而uber的这个bug就是。。。你如果关了动态效果,你就不能叫车,因此如果你发现uber其他功能正常,但就是不能叫车。
这时候你进:设置->通用->辅助功能->将减弱动态效果关闭
 
再退出uber重进,你能发现又可以开始叫车了。