用于本应用的控制器自动加载类设置,用法如同

\CodeIgniter\Config\AutoloadConfig


自动加载识别文件:dayrui/App/应用目录/Config/Auto.php


语法格式:

<?php

// 自动加载识别文件

return [

    /**
     * 命名空间映射关系
     */
    'psr4' => [
        
		

    ],

    /**
     * 类名映射关系
     */
    'classmap' => [
        
		
        
    ],
    
    
];


实现自动化引用类文件,可以对系统类路径进行重新,非常方便的开发方式


一、命名空间映射关系示例

1、创建自动加载识别文件:dayrui/App/Myapp/Config/Auto.php

<?php

// 自动加载识别文件

return [

    /**
     * 命名空间映射关系
     */
    'psr4' => [
        
		'MyXunrui' => APPPATH.'Xunrui/', 
		// 前面的MyXunrui是命名空间的名称
		// 后面的是储存目录,专门储存用到 的类文件

    ],


    
];

2、创建其中一个测试类文件  dayrui/App/Myapp/Xunrui/Test.php

<?php 
namespace MyXunrui;

class Test {
	
	
	function test() {
		
		return 'MyXunrui test';
		
	}
}

类文件首字母大写.php,

类方法名称必须和文件名保存一致,首字母大写,

必须声明namespace和(1)中的名称保持一致


3、创建控制器,来调用这个类

 dayrui/App/Myapp/Controllers/Test.php

<?php namespace Phpcmf\Controllers;


class Test extends \Phpcmf\Common
{

	public function index() {
		$obj = new \MyXunrui\Test();
		echo $obj->test();
	}

}

此方法可以创建多个类文件,只需要按(2)中的命名来建立


4、访问

/index.php?s=myapp&c=test&m=index

就能输出 MYxunrui test



二、类名映射关系示例

1、创建自动加载识别文件:dayrui/App/Myapp/Config/Auto.php

<?php

// 自动加载识别文件

return [


    /**
     * 类名映射关系
     */
    'classmap' => [
        
		'MyXunruiClass' => APPPATH.'xunrui.php',
        
    ],
    
    
];

2、创建这个文件APPPATH.'xunrui.php' 表示 dayrui/App/Myapp/xunrui.php

<?php 


class MyXunruiClass {
	
	function test() {
	
		return 'test!';
		
	}
}


3、创建控制器,来调用这个类

 dayrui/App/Myapp/Controllers/Test.php

<?php namespace Phpcmf\Controllers;

class Test extends \Phpcmf\Common {

	public function index() {
		$obj = new \MyXunruiClass();
		echo $obj->test(); // 这样就执行上面定义的类,不需要手动去加载他
	}

}

多个类需要在(1)中做多次映射


4、访问

/index.php?s=myapp&c=test&m=index

就能输出 test!



三、第三方php类组件映射关系示例

以queryList为例,下载源码(非Composer方式):https://github.com/jae-jae/querylist

1、将下载的源码复制到插件Myapp目录,例如:

dayrui/App/Myapp/src/

image


2、创建自动加载识别文件:dayrui/App/Myapp/Config/Auto.php

<?php

// 自动加载识别文件

return [

    /**
     * 命名空间映射关系
     */
    'psr4' => [
        
        'QL\QueryList'             => APPPATH.'src',

    ],


    
];


3、创建控制器,来调用这个类

 dayrui/App/Myapp/Controllers/Test.php

<?php namespace Phpcmf\Controllers;

use QL\QueryList;

class Test extends \Phpcmf\Common
{

	public function index() {
		
        $data = QueryList::get('https://www.xunruicms.com')->find('img')->attrs('src');
//打印结果
        print_r($data->all());
	}

}



4、访问

/index.php?s=myapp&c=test&m=index

就能输出 结果