旗下导航:搜·么
当前位置:网站首页 > PHP框架 > ThinkPHP > 正文

ThinkPHP中几种文件加载方式_ThinkPHP教程,ThinkPHP

作者:搜搜PHP网发布时间:2020-04-13分类:ThinkPHP浏览:117


导读:thinkphp5+barcode生成条形码的方法_ThinkPHP教程其中class文件是所有的类文件,生成条形码就是调用文件夹里的类,font文件是字体,index.ph...

thinkphp5 + barcode 生成条形码的方法_ThinkPHP教程

其中class文件是所有的类文件,生成条形码就是调用文件夹里的类,font文件是字体,index.php是一个可选择条件生成条形码的功能,是主程序的入口,test_1D.php是给的生成条形码的例子,test_1D.html是对应的...

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

函数库形式加载:

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

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

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

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

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

展示结果:

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

说明:

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

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

通过配置项动态加载:

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

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

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

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

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中的配置项:

thinkphp防止重复提交表单的技巧_ThinkPHP教程

在开发中,如果一个新增或修改的表单,在后台完成数据库操作后我们设定的不是跳转到其他页面,而是返回本页面,这时点击浏览器的后退再提交或刷新页面,会导致form表单重复提交,即这条记录会被增加或修改两次。

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

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

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

配置项:

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

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

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

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

测试:

    public function test(){
        getInfo();
    }

展示结果:

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

通过load方法加载

语法:

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

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

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

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

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

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

展示效果:

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

推荐教程:thinkphp教程

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

thinkphp自定义分页_ThinkPHP教程

ThinkPHP5.1内置了分页实现,要给数据添加分页输出功能变得非常简单,可以直接在Db类查询的时候调用paginate方法。本文为大家介绍了thinkphp自定义分页样式的方法。

标签:ThinkPHP