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

Yii2使用自定义jQuery

 Yii2自带的jQuery随着版本一次次的更新,其实也都在每次调整,但事实上为了兼容旧版,我们有时候不需要这么新的jquery.js,这时候,怎么办?其实只要用assetManager对jqueryAsset进行一个覆写就行了。

比如这样:
PHP代码
  1. 'assetManager'=>[  
  2.     'bundles' => [  
  3.         'yii\web\JqueryAsset' => [  
  4.             'sourcePath' => null,  
  5.             'basePath'   => '@webroot',  
  6.             'baseUrl'    => '@web',  
  7.             'js'         => [  
  8.                 'js/jquery.js',  
  9.             ]  
  10.         ],  
  11.     ],  
  12. ]  
是不是很简单?

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本来就不需要)
 

移植Blade到Yii2

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

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

simplepie解析爱范儿的RSS出错

 用Simplepie解析爱范的源时,出现如下错误:http://www.ifanr.com/feed is invalid XML, likely due to invalid characters. XML error: Invalid character at line 604, column 37,比较麻烦。

 
最后在Simplepie的代码的1397行里加入:
XML/HTML代码
  1. $this->raw_data = preg_replace('/[^\P{C}\n]+/u','',$this->raw_data);  
说实在的,这种不可见的字符最TMD恶心了!~
 
 

Yii2 PJAX的URL,微信签名错误

因为用了pjax,所以URL在请求的时候都是被自动加了?pjax-container=xxxxx,但请求完pjax后,location的pushState又会去掉这个pjax-container。所以要解决签名问题,其实就是在签名的时候把pjax-container去掉

因此jssdk()->config(xxx)的时候,先在前面加入jssdk()->setUrl(Url::to([''],true))->config('')...问题解决!

就是这么简单!