用于本应用的控制器自动加载类设置,用法如同\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类组件映射关系示例
1、将下载的源码复制到插件Myapp目录,例如:
dayrui/App/Myapp/src/
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
就能输出 结果
本文地址:https://www.xunruicms.com/doc/767.html