11Soli PHP Framework
22--------------------
33
4- Soli 是一个轻量级的 PHP 框架,参考了 [ Phalcon]
4+ Soli 是一个轻量级的 PHP 框架,参考了 [ Phalcon] , [ Laravel ]
55框架的设计,意在松耦合、可扩展、简洁易用。
66
77## 环境需求
@@ -91,32 +91,44 @@ server
9191
9292## 应用程序结构
9393
94- ├── app 应用程序目录
95- │ ├── Console 命令行应用控制器目录
96- │ │ └── Demo.php Demo命令
97- │ ├── Controllers WEB应用控制器目录
98- │ │ ├── Controller.php 控制器基类
99- │ │ └── IndexController.php 默认控制器
100- │ ├── Models 模型文件目录
94+ ├── app 应用程序目录
95+ │ ├── Console 终端命令应用控制器目录
96+ │ │ ├── Command.php 终端命令应用基类
97+ │ │ └── Demo.php Demo命令
98+ │ ├── Controllers WEB应用控制器目录
99+ │ │ ├── Controller.php 控制器基类
100+ │ │ ├── IndexController.php 默认控制器
101+ │ │ └── UserController.php 和用户相关的控制器
102+ │ ├── Events 事件目录
103+ │ │ ├── AppEvents.php WEB应用事件
104+ │ │ └── UserEvents.php 用户相关的事件
105+ │ ├── Models 模型目录
106+ │ │ ├── Model.php 模型基类
107+ │ │ └── UserModel.php 用户模型
108+ │ ├── Services 服务层目录
109+ │ │ ├── Service.php 服务基类
110+ │ │ └── UserService.php 用户相关的服务
101111 │ └── bootstrap.php
102- ├── composer.json Composer配置文件
103- ├── config 配置文件目录
104- │ ├── config.php 基础配置文件
105- │ ├── console.php 针对命令行的容器服务配置文件
106- │ ├── routes.php 路由配置文件
107- │ └── services.php 容器服务配置文件
108- ├── console 命令行应用入口文件
109- ├── public 公共可被访问的文件目录
112+ ├── bin
113+ │ └── console 终端命令应用入口文件
114+ ├── composer.json composer配置文件
115+ ├── config 配置文件目录
116+ │ ├── config.php 基础配置文件
117+ │ ├── console.php 针对终端命令应用的配置文件
118+ │ ├── routes.php 路由配置文件
119+ │ └── services.php 容器服务配置文件
120+ ├── phpcs.xml
121+ ├── public WEB服务公共可被访问的文件目录
110122 │ ├── css
111123 │ ├── img
112- │ ├── index.php WEB程序入口文件
124+ │ ├── index.php WEB程序入口文件
113125 │ └── js
114- ├── var 生成的文件目录
115- │ ├── cache 缓存文件目录
116- │ └── log 日志文件目录
117- └── views 视图文件目录
118- └── index IndexController 对应的视图目录
119- └── index.twig index 函数对应的视图文件
126+ ├── var 生成的文件目录
127+ │ ├── cache 缓存文件目录
128+ │ └── log 日志文件目录
129+ └── views 视图文件目录
130+ └── index IndexController 对应的视图目录
131+ └── index.twig index 函数对应的视图文件
120132
121133目录结构并非固定不变,可以依据实际项目需要和团队开发习惯,约定目录结构,定义和表达每个目录的含义。
122134
@@ -254,17 +266,16 @@ server
254266 return $view;
255267 });
256268
257- 另外 [ Soli\Application ] 默认注册了以下常用服务,供控制器和自定义组件直接使用:
269+ 另外 [ Soli\Web\App ] 默认注册了以下常用服务,供控制器和自定义组件直接使用:
258270
259271 服务名称 | 介绍 | 默认 | 是否是共享服务
260272 -----------|------------------|----------------------|-----------------
261- router | 路由服务 | [ Soli\Router] | 是
273+ router | 路由服务 | [ Soli\Web\ Router] | 是
262274 dispatcher | 控制器调度服务 | [ Soli\Dispatcher] | 是
263- request | HTTP请求环境服务 | [ Soli\Http\Request] | 是
264- response | HTTP响应环境服务 | [ Soli\Http\Response] | 是
265- session | Session服务 | [ Soli\Session] | 是
266- filter | 过滤器服务 | [ Soli\Filter] | 是
267- flash | 闪存消息服务 | [ Soli\Session\Flash] | 是
275+ request | HTTP请求环境服务 | [ Soli\Web\Request] | 是
276+ response | HTTP响应环境服务 | [ Soli\Web\Response] | 是
277+ session | Session服务 | [ Soli\Web\Session] | 是
278+ flash | 闪存消息服务 | [ Soli\Web\Flash] | 是
268279
269280允许开发者自定义同名的服务覆盖以上默认的服务。
270281
@@ -274,7 +285,7 @@ Web 应用程序的入口文件默认存放在 `public/index.php`,看起来像
274285
275286 require dirname(__DIR__) . '/app/bootstrap.php';
276287
277- $app = new \Soli\Application ();
288+ $app = new \Soli\Web\App ();
278289
279290 // 处理请求,输出响应内容
280291 $app->handle()->send();
@@ -394,24 +405,24 @@ Soli 模型支持的方法请移步 [soliphp/db]。
394405
395406[ Soli_lifecycle ] : https://i.imgur.com/mPQMdIv.png
396407[ Phalcon ] : https://phalconphp.com/
408+ [ Laravel ] : https://laravel.com/
397409[ composer ] : https://getcomposer.org/
398410[ Twig ] : http://twig.sensiolabs.org/
399411[ Smarty ] : http://www.smarty.net/
400412[ PSR-4 ] : https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
401413[ Doctrine ] : http://www.doctrine-project.org/
402414[ soliphp/db ] : https://github.com/soliphp/db " Soli Database "
403415[ soliphp/view ] : https://github.com/soliphp/view " Soli View "
404- [ Soli\Application ] : http://api.soliphp.com/Soli/Application.html " 应用 "
416+ [ Soli\Web\App ] : http://api.soliphp.com/Soli/Application.html " 应用 "
405417[ Application ] : http://api.soliphp.com/Soli/Application.html " 应用 "
406418[ Soli\Dispatcher ] : http://api.soliphp.com/Soli/Dispatcher.html " 控制器调度器 "
407419[ 调度器 ] : http://api.soliphp.com/Soli/Dispatcher.html " 控制器调度器 "
408- [ Soli\Http \Request ] : http://api.soliphp.com/Soli/Http/Request.html " HTTP请求环境 "
420+ [ Soli\Web \Request ] : http://api.soliphp.com/Soli/Http/Request.html " HTTP请求环境 "
409421[ 请求 ] : http://api.soliphp.com/Soli/Http/Request.html " HTTP请求环境 "
410- [ Soli\Http \Response ] : http://api.soliphp.com/Soli/Http/Response.html " HTTP响应环境 "
422+ [ Soli\Web \Response ] : http://api.soliphp.com/Soli/Http/Response.html " HTTP响应环境 "
411423[ 响应 ] : http://api.soliphp.com/Soli/Http/Response.html " HTTP响应环境 "
412- [ Soli\Session ] : http://api.soliphp.com/Soli/Session.html " 会话 "
413- [ Soli\Filter ] : http://api.soliphp.com/Soli/Filter.html " 过滤与清理 "
414- [ Soli\Session\Flash ] : http://api.soliphp.com/Soli/Session/Flash.html " 闪存消息 "
424+ [ Soli\Web\Session ] : http://api.soliphp.com/Soli/Session.html " 会话 "
425+ [ Soli\Web\Flash ] : http://api.soliphp.com/Soli/Session/Flash.html " 闪存消息 "
415426[ 依赖注入 ] : https://github.com/soliphp/di
416427[ 事件管理 ] : https://github.com/soliphp/events
417428[ 闪存消息 ] : http://api.soliphp.com/Soli/Session/Flash.html
0 commit comments