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

\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!


文档最后更新时间:2021-06-02 14:02:45
我来修改此文档(1) 不会操作怎么办?