注意: Asf 限定文件后缀加载, 有且只有后缀名称为小写的 php 才是允许的.
我们认为去修改PHP文件后缀的需求不可取.


DLS 介绍

英文缩写 英文全称 对应传统 MVC
D Dao Mode
L Logic
S Service Controller

DLS 类加载规则

框架自动加载 asf.root_path='/data/www' 目录下的 DLS 文件, 只根据绝对路径查找文件一次.

名称 格式要求 加载路径
模块 英文 + 数字, 英文字母开头; 比如模块名为默认值 api /data/www/modules/api
控制器 类名后缀 Service, 比如 class IndexService /data/www/modules/api/services/Index.php
逻辑层 类名后缀 Logic, 比如 class IndexLogic /data/www/modules/api/logics/Index.php
数据层 类名后缀 Dao, 比如 class IndexDao /data/www/modules/api/daos/Index.php
constant 类名 OR 类名后缀 Constants class NewConstants:
/data/www/modules/api/library/NewConstants.php
class Constants:
/data/www/modules/api/constants/Constants.php
bootstrap 类名限制必须为 Bootstrap /data/www/modules/api/Bootstrap.php

library 目录加载规则

非框架的类/开发者自定义类库放置目录, 类名等于文件名. asf.root_path = /data/www/

类名定义方法(未开启命名空间) 调用的方法 所在路径
class Book {} Asf_Loader::get('Book') /data/www/library/Book.php
class Cache_Memcached {} Asf_Loader::get('Cache_Memcached') /data/www/library/Cache/Memcached.php
class Cache_Redis {} Asf_Loader::get('Cache_Redis') /data/www/library/Cache/Redis.php
类名定义方法(开启命名空间) 调用的方法 所在路径
class Book {} Asf\Loader::get('Book') /data/www/library/Book.php
namespace Cache;
class Memcached {}
Asf\Loader::get('Cache\Memcached') /data/www/library/Cache/Memcached.php
namespace Cache;
class Redis {}
Asf\Loader::get('Cache\Redis') /data/www/library/Cache/Redis.php