jacksleight / coast
PHP 网络应用框架
Requires
- php: >=7.1.0
- jakeasmith/http_build_url: 0.1.*
Requires (Dev)
Suggests
- intervention/image: required to use Coast\App\Image
- jacksleight/coast-doctrine: for integration with Doctrine ORM
- dev-master
- dev-dev
- 0.8.13
- 0.8.12
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.9
- 0.7.8
- 0.7.7
- 0.7.6
- 0.7.5
- 0.7.4
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.4
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- v0.1.0-alpha2
- v0.1.0-alpha1
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
This package is auto-updated.
Last update: 2024-09-18 13:25:00 UTC
README
Coast 是一个网络应用框架。Coast 的目标是提供简单、轻量级且灵活的框架,用于构建高性能、现代化的网络应用。API 的一些部分受到了 Connect 和 Express node.js 框架的启发,其他部分则是我的(可能有些荒谬)想法。
所有反馈、建议、错误报告和贡献都非常欢迎。请随时通过电子邮件(jacksleight at gmail dot com)或 Twitter(@jacksleight)与我联系。
文档、示例和测试仍在进行中(抱歉)。在 1.0 版本发布之前,任何新版本都可能引入向后兼容性中断。
组件
所有组件都旨在尽可能独立,通常可以独立使用。许多组件实现了 App\Executable
以用作应用中的中间件,这些组件带有★标记。
- Acl
- 访问控制列表
- App, Request, Response ★
- 简单的 Express 启发式应用逻辑
- HTTP 请求和响应数据处理
- 按需懒加载应用依赖项
- 子应用
- Config
- 加载并合并配置文件到配置对象
- Controller ★
- 请求控制器
- Csp ★
- 内容安全策略头生成
- 生成 nonce 值
- Csrf ★
- 跨站请求伪造保护
- Feed
- ATOM 订阅源生成
- Filter
- 数据过滤
- Http
- HTTP 客户端(基于 cURL)
- Image ★
- 图像处理
- 需要 intervention/image
- Lazy ★
- 按需懒加载文件/闭包
- Model, Collection
- 基础实体和实体集合类
- 与 Filter、Transformer、Validator 一起使用
- Path, Dir, File
- 路径、目录和文件处理
- Resolver
- 解析字符串、文件、路由等到 URL
- Router ★
- 路径和方法路由
- Session ★
- 会话管理和数据包装器
- Sitemap
- XML 站点地图生成
- Transformer
- 数据转换
- Url
- URL 处理
- Validator
- 数据验证
- View ★
- 强大的视图组件
- 子视图和父视图(包装器)
- 可扩展视图
- 输出捕获
- Xml
- SimpleXML 扩展
安装
安装 Coast 最简单的方法是通过 Composer,创建一个名为 composer.json
的文件,包含
{ "require": { "jacksleight/coast": "dev-master" } }
然后运行
composer.phar install
Hello World
创建一个名为 app.php
的新文件,包含
<?php use Coast\App; use Coast\Request; use Coast\Response; require __DIR__ . '/vendor/autoload.php'; $app = new App(__DIR__); $app->executable(function(Request $req, Response $res) { return $res->text('Hello World'); }); $app->execute();
然后运行
php -S localhost:8000 app.php
然后在浏览器中通过: https://:8000/ 加载。
这里发生了什么?
- 包含 Composer 自动加载器。
- 初始化一个
Coast\App
对象。 - 添加中间件来处理请求。
- 调用
execute
来运行应用。
文档
需求
- PHP 5.6+
- mod_rewrite(如果使用Apache)
待办事项
- 示例(进行中)
- API文档(进行中)
- 测试(进行中)
许可证
MIT许可证
版权所有 2019 Jack Sleight http://jacksleight.com/
在此特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人士,免费、不可撤销地使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人士为此目的使用软件,前提是必须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,没有任何形式的保证,明示或暗示,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他原因,由软件本身、使用软件或与软件的使用或其他交易产生。