PhpStorm 快捷键大全

PhPStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。Phpstrom的一款名为Magicento的插件对快速创建Magento插件十分有用。

常用快捷键

设置快捷键:File -> Settings -> IDE Settings -> Keymap -> 选择“eclipse” -> 然后“Copy”一份 -> 再个性化设置(自己习惯的)快捷键

常用快捷键(keymaps:Default情况下)

Esc键编辑器(从工具窗口)
F1 帮助 千万别按,很卡!
F2(Shift+F2) 下/上高亮错误或警告快速定位
F3 向下查找关键字出现位置
F4 查找变量来源
F5 复制文件/文件夹
F6 移动
F11 切换书签
F12 返回到以前的工具窗口

注意:部分快捷键,必须在没有更改快捷键的情况下才可以使用

查询快捷键
CTRL+N 查找类
CTRL+SHIFT+N 查找文件,打开工程中的文件(类似于eclipse中的ctrl+shift+R),目的是打开当前工程下任意目录的文件
CTRL+SHIFT+ALT+N 查 找类中的方法或变量(JS)
CIRL+B 找变量的来源,跳到变量申明处
CTRL+ALT+B 找所有的子类
CTRL+SHIFT+B 找变量的 类
CTRL+G 定位行,跳转行
CTRL+F 在当前窗口查找文本
CTRL+SHIFT+F 在指定路径查找文本
CTRL+R 当前窗口替换文本
CTRL+SHIFT+R 在指定路径替换文本
ALT+SHIFT+C 查找修改的文件,最近变更历史
CTRL+E 最近打开的文件
F3 查找下一个
SHIFT+F3 查找上一个
F4 查找变量来源
CTRL+ALT+F7 选 中的字符 查找工程出现的地方
ALT+F7 直接查询选中的字符
Ctrl+F7 文件中查询选中字符 继续阅读PhpStorm 快捷键大全

Yii2邮件配置

在 common/config/main-local.php中写入以下代码配置 Mail代理

return [
        'components' => [
            ...//your code,
            //以下是 mail 的配置
            'mailer' => [
                'class' => 'yii\swiftmailer\Mailer',
                'viewPath' => '@common/mail',
                'transport' => [
                    'class' => 'Swift_SmtpTransport',
                    //我用的是QQ 的代理,所以这里是 QQ 的配置信息
                    'host' => 'smtp.qq.com',
                    'port' => 587,
                    'encryption' => 'tls',    
                    //这部分信息不应该公开,所以后期会由数据库中拿取
                    'username' => '你的 QQ 号',
                    'password' => '你的 QQ 密码',
                ],
                //发送的邮件信息配置
                'messageConfig' => [

                    'charset' => 'utf-8',

                    'from' => ['83398365@qq.com' => 'BugAsk']
                ],

            ],'

        ]

    ];

继续阅读Yii2邮件配置

Yii2使用主题功能实现多端匹配

首先在项目配置文件config/main.php中配置主题配置

'as theme' => [
      'class' => 'frontend\components\ThemeControl',
    ],

* 该配置项与components同级

然后在frontend\components目录下创建ThemeControl.php文件内容如下:

<?php
namespace frontend\components;

use Yii;
use yii\base\Object;
use yii\base\ActionFilter;
class ThemeControl extends ActionFilter{
    public function init()
    {
        if(Yii::$app->devicedetect->isMobile())
        {
            $theme = "mobile";
        }else{
            $theme = "pc";
        }
        Yii::$app->view->theme = Yii::createObject([
            'class' => 'yii\base\Theme',
            'pathMap' => [
                '@app/views' => [
                    "@app/views/{$theme}",
                ]
            ]
        ]);
    }
}

继续阅读Yii2使用主题功能实现多端匹配

PHP xml和数组的相互转换方法

    //数组转XML
    function arrayToXml($arr)
    {
        $xml = "<xml>";
        foreach ($arr as $key=>$val)
        {
            if (is_numeric($val)){
                $xml.="<".$key.">".$val."</".$key.">";
            }else{
                 $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
            }
        }
        $xml.="</xml>";
        return $xml;
    }

    //将XML转为array
    function xmlToArray($xml)
    {    
        //禁止引用外部xml实体
        libxml_disable_entity_loader(true);
        $values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);        
        return $values;
    }