Functions函数集合文件
  1. 文件规范

    1.函数文件都放在application/functions文件夹里面
    2.函数名请用驼峰命名法。比如:myUserVip()
  2. 使用加载函数

    1.可以在任意地方使用下面的代码加载一个函数文件:
    示例如下:
                                                    Sr::functions('TestFunctions');
                                            
    我们可以看到上面有一个参数,这个是什么意思呢,是我们创建函数文件名(不带.php后缀)
    例如:我们要创建函数文件名为UserFunctions.php,那么参数就要输入UserFunctions
    2.如果函数文件在子文件夹下,引用的时候要带上/符号。
    例如:如果你有一个函数文件application/functions/vip/user.php
    下面的代码可以引用它:
                                                    Sr::functions('vip/user');
                                            
  3. 创建自己的函数文件

    下面我们自定义一个加载函数文件
    1.新建Functions文件application/functions/TestFunctions.php
    2.输入以下代码:
                                                    <?php
    
                                                    function myFunction(){
                                                            return 'myFunction';
                                                    } 
                                            
    3.新建控制器文件application/classes/Controller/Welcome.php
    4.输入以下代码:
                                                    <?php
    
                                                    class Controller_Welcome extends Soter_Controller {
    
                                                            public function do_functions() {
                                                                    Sr::functions('TestFunctions');
                                                                    echo myFunction();
                                                            }
                                                    }  
                                            
    5.浏览器访问:http://127.0.0.1/index.php/Welcome/functions.do
    //将输出:myFunction
    为什么会输出“myFunction”?
    我们可以从上面例子看Controller_Welcome控制器类,
    在do_functions方法里面做了加载TestFunctions函数文件。
    然后输出TestFunctions函数文件中的myFunction函数,
    所以浏览器才会显示“myFunction”。
  4. 如何自动加载函数文件

    在入口文件里面我们可以看到下面的配置:
    ->addAutoloadFunctions(array('functions_auto'))这是代表“自动加载的函数文件”的意思,我们可以看到里面有带一个参数,参数只能为数组。
    那么functions_auto是什么呢?就是我们上面所讲函数文件名,我们还可以加载多个函数文件。
    示例如下:
                                                    ->addAutoloadFunctions(array(
                                                            'functions_file_name1',
                                                            'functions_file_name2',
                                                            'functions_file_name3',
                                                            ……
                                                    ))
                                            
    那怎么知道有没有加载到呢?接下我们一起动手敲下代码。
    步骤如下:
    1.新建Functions文件application/functions/User.php
    2.输入以下代码:
                                                    <?php
    
                                                    function myUserName(){
                                                            return 'myUserName';
                                                    } 
                                            
    3.新建Functions文件application/functions/Company.php
    4.输入以下代码:
                                                    <?php
    
                                                    function myJob(){
                                                            return 'myJob';
                                                    } 
                                            
    5.修改入口文件
                                                    ->addAutoloadFunctions(array(
                                                            'User',
                                                            'Company'
                                                    ))
                                            
    6.新建控制器文件application/classes/Controller/Welcome.php
    7.输入以下代码:
                                                    <?php
                                                    
                                                    class Controller_Welcome extends Soter_Controller {
    
                                                            public function do_functionsAuto() {
                                                                    echo myUserName().'_'.myJob();
                                                            }
                                                    }
                                            
    8.浏览器访问:http://127.0.0.1/index.php/Welcome/functionsAuto.do
    //将输出:myUserName_myJob
    说明有自动加载,我们为了区分myUserName函数和myJob函数在中间加了下划线。
    所以输出myUserName_myJob。