爬山虎内核引擎目录结构
[!TIP|style:callout|label:温馨提示|iconVisibility:default|labelVisibility:default|className:block-tip] 爬山虎内核引擎目录结构只展示了4级,完整的目录结构具体可以参看源码。
└── src
├── Autoloader.php //自动加载类
├── Downloader.php //抽象下载器
├── Kernel
│ ├── Language
│ │ ├── en.php //英文语言包
│ │ └── zh.php //中文语言包
│ ├── Library
│ │ ├── Common //通用类库目录
│ │ ├── Helper //助手类库目录
│ │ └── phpQuery //phpQuery类库目录
│ ├── Middleware //注意:这并不是闭包实现的那种中间件,本质就是类库,名字开始没起好
│ │ ├── DropDuplicate //去重中间件类库
│ │ ├── HttpClient //http客户端类库
│ │ ├── LockManager //锁中间件类库
│ │ └── MessageQueue //消息中间件类库
│ ├── PHPCreeper.php //爬山虎引擎基类
│ ├── Plugin //内置插件目录
│ ├── Service //服务类库目录
│ │ ├── Provider //服务提供商目录
│ │ ├── Service.php //抽象服务类
│ │ └── Wrapper //服务具体实现类库目录
│ ├── Slot //接口定义目录
│ │ ├── BrokerInterface.php //消息中间件接口
│ │ ├── DropDuplicateInterface.php //去重中间件接口
│ │ ├── HttpClientInterface.php //http客户端接口
│ │ ├── LockInterface.php //锁中间件接口
│ │ └── PluginInterface.php //插件接口
│ └── Task.php //抽象任务类
├── Parser.php //抽象解析器
└── Producer.php //抽象生产器
爬山虎应用框架目录结构
Application/
├── Core
│ ├── Constant.php //应用常量配置
│ └── Launcher.php //应用核心启动器
├── Data //应用数据目录,需要赋予必要的读写权限
├── Library //应用第三方类库目录
├── Plugin //应用插件目录
├── Sbin
│ └── Creeper //爬山虎应用助手启动入口脚本
└── Spider
├── Demo //Demo应用目录
│ ├── Config //Demo应用相关的业务配置目录
│ │ ├── AppDownloader.php //下载器业务实例配置文件
│ │ ├── AppParser.php //解析器业务实例配置文件
│ │ ├── AppProducer.php //生产器业务实例配置文件
│ │ ├── database.php //业务全局数据库配置文件
│ │ ├── global.php //业务全局配置文件,一般无需修改此文件
│ │ └── main.php //业务全局子配置文件
│ └── Start //Demo应用启动脚本目录
│ ├── AppDownloader.php //下载器业务实例启动脚本
│ ├── AppParser.php //解析器业务实例启动脚本
│ └── AppProducer.php //生产器业务实例启动脚本
├── Test //Test应用目录
│ ├── ...... //略,结构同Demo目录一致