• 技术文章 >php框架 >ThinkPHP

    ThinkPHP中几种文件加载方式

    尚2020-04-13 09:07:24转载1261

    ThinkPHP中系统提供了三个文件加载方式:

    函数库形式加载:

    函数库再ThinkPHP中包括三类:系统函数库文件(functions.php)、应用级别函数库文件、分组级别函数文件。

    这三类函数库文件只有系统函数库文件(functions.php)是系统默认存在的,而另外两类函数库形式需要自行创建。

    同时要注意,只有系统函数库文件名为functions.php,而另外两类函数库形式文件名叫做function.php。

    案例:使用函数库形式定义需要使用的函数。函数名:testfunction

    <?php
     
    function testfunction(){
    	echo 'testfunction';
    }
        public function test(){
            testfunction();
        }

    展示结果:

    1.jpg

    定义好的函数库文件中的函数,在使用的时候遵循php内置函数语法的要求,直接写上函数名(参数)就可以了。

    说明:

    第一:不需要引入function.php,系统在执行的时候自动帮我们引入了文件function.php文件;

    第二:如果函数定义在应用级别的函数库文件中,则能在全部的分组(整个应用)使用;如果函数定义在某个分组的函数库文件中,则只能在当前的分组中使用,否则会报函数未定义。

    通过配置项动态加载:

    在系统的执行流程中有 一个文件会被执行到App.class.php

        static public function init() {
            // 加载动态应用公共文件和配置
            load_ext_file(COMMON_PATH);

    在该方法中执行了一个load_ext_file函数。

    该方法并不是php内置的方法,而是在系统函数库文件中定义的:

    2.jpg

    function load_ext_file($path) {
        // 加载自定义外部文件
        if($files = C('LOAD_EXT_FILE')) {
            $files      =  explode(',',$files);
            foreach ($files as $file){
                $file   = $path.'Common/'.$file.'.php';
                if(is_file($file)) include $file;
            }
        }

    扩展:C方法

    C方法也是快速方法之一,其作用是操作ThinkPHP中的配置项:

    C(name,value); 设置配置项name的值,值是value

    C(name); 读取配置项name的值

    C(); 读取全部的配置项

    配置项:

    在应用级别的配置文件中定义配置项LOAD_EXT_FILE,引入文件info.php。

        'load_ext_file'         =>  'info',     
        //包含文件名的字符串,多个文件名通过使用英文半角逗号分割

    在应用函数库文件目录中定义一个info.php

    <?php
     
    function getInfo(){
    	phpinfo();
    }

    3.jpg

    测试:

        public function test(){
            getInfo();
        }

    展示结果:

    4.jpg

    上述需要注意的是,同样文件在系统封装的方法中已经进行了引入,所以在使用具体的函数的时候不需要再对文件进行单独的引入,只需要像使用函数库文件的形式直接编写需要使用的函数名即传递相应的参数即可。

    通过load方法加载

    语法:

    load(‘@/不带后缀的php文件名’);

    需要注意的是,文件必须存在于分组级别的函数库目录中,并且只能用于定义的分组中。

    案例:通过自己在分组目录中创建文件hello.php,然后在其中定义一个函数,然后再去使用load方法加载并且使用其中的函数。

    <?php
     
    function sayhello($who){
    	echo 'hello ' . $who;
    }

    在控制器中使用load方法加载hello.php文件:

        public function test(){
            //load
            load('@/hello');
            //调用函数
            sayhello(world);
        }

    展示效果:

    5.jpg

    说明:上述三个文件的加载方式在实际开发的时候都可以使用,但是一般以第一种为主(通过函数库形式自动加载)。

    推荐教程:thinkphp教程

    以上就是ThinkPHP中几种文件加载方式的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:ThinkPHP
    上一篇:thinkphp5 + barcode 生成条形码的方法 下一篇:在thinkphp5中添加自己的类库
    大前端线上培训班

    相关文章推荐

    • thinkphp关联模型的使用方法• thinkphp跨模块调用方法• thinkphp中使用redirect方法实现重定向• ThinkPHP扩展配置

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网