创建 functions.php

在 app/Helpers/(目录可以自己随便来)下新建一个文件 functions.php,在内部补充如下代码:

<?php    
    /**
     * Created by PhpStorm.
     * User: fhl
     * Date: 2018/4/13
     * Time: 10:37
     */
    /**
     * 获取当前控制器与方法
     * @return array
     */
    if (!function_exists('getCurrentAction')) {
        function getCurrentAction()
        {
            $action = \Route::current()->getActionName();
            list($class, $method) = explode('@', $action);
            $class = substr(strrchr($class, '\\'), 1);
            return ['controller' => $class, 'method' => $method];
        }
    }
    /**
     * 获取当前控制器名
     * @return string
     */
    if (!function_exists('getCurrentControllerName')) {
        function getCurrentControllerName()
        {
            return getCurrentAction()['controller'];
        }
    }
    /**
     * 获取当前方法名
     * @return string
     */
    if (!function_exists('getCurrentMethodName')) {
        function getCurrentMethodName()
        {
            return getCurrentAction()['method'];
        }
    }
    /**
     * 生成随机字符串
     * @param number $length
     */
    function generateStr($count = 10, $rm_similar = 1)
    {
        $chars = array_flip(array_merge(range(0, 9), range('A', 'Z')));
        if ($rm_similar) {
            unset ($chars [0], $chars [1], $chars [2], $chars [5], $chars [8], $chars ['B'], $chars ['I'], $chars ['O'], $chars ['Q'], $chars ['S'], $chars ['U'], $chars ['V'], $chars ['Z']);
        }
        for ($i = 0, $text = ''; $i < $count; $i++) {
            $text .= array_rand($chars);
        }
        return $text;
    }
    /**
     * 验证邮箱格式
     * @param $email
     * @return bool
     */
    function filterEmail($email)
    {
        $reg = "/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/";
        return preg_match($reg, $email) ? true : false;
    }
    /**
     * 验证手机号码格式
     * @var string $phone
     * @return boolean
     */
    function filterCellPhone($phone)
    {
        if (!is_numeric($phone)) {
            return false;
        }
        return preg_match('#^1[3,4,5,7,8][\d]{9}$#', $phone) ? true : false;
    }

配置 composer.json

打开项目根目录下的 composer.json 文件,找到"autoload" 配置项,补充如下代码:

    "autoload": {     
        "files": [
             "app/Helpers/functions.php"
        ],
     },

执行 composer 命令

打开终端,执行下面的命令:

    composer dump-auto

测试

在控制器的随意一个方法中执行下面代码,有数据输出则配置成功:

    if (!filterEmail('563315999@qq.com')) {    
         return 'email 有误!';
    }