Download the PHP package zapj/zap-php-framework without Composer

On this page you can find all versions of the php package zapj/zap-php-framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package zap-php-framework

Zap PHP Framework

轻量级 PHP MVC 框架,开箱即用,适合快速开发中小型 Web 应用。

环境要求

安装

项目目录结构

快速开始

入口文件 public/index.php


路由

基本路由

路由参数约束

命名路由 & URL 生成

URL 生成会替换 {param} 占位符并自动清理未填充的占位符。

路由组

资源路由

中间件

404 处理

静态方法速查

方法 说明
Route::get($pattern, $handler) GET / HEAD
Route::post($pattern, $handler) POST
Route::put($pattern, $handler) PUT
Route::patch($pattern, $handler) PATCH
Route::delete($pattern, $handler) DELETE
Route::options($pattern, $handler) OPTIONS
Route::any($pattern, $handler) 所有方法
Route::match($methods, $pattern, $handler) 指定多个方法
Route::resource($name, $controller, $opts) RESTful 资源
Route::group($attrs, $callback) 路由分组
Router::url($name, $params) 生成命名路由 URL
Router::setNotFound($handler) 404 处理器

路由缓存

编译路由并缓存,跳过每次请求的正则重建开销,显著提升路由分发性能。

自动模式(推荐)

Router 自动读取 config/cache.php 中的 default 驱动创建缓存,无需手动配置:

config/cache.php 配置

手动指定驱动

如需覆盖默认配置,可显式传入缓存驱动:

缓存管理

缓存失效

限制

闭包路由不可缓存。必须使用 'Controller@method' 字符串语法:


控制器

RESTful 控制器


请求 & 响应

获取请求数据

请求信息

文件上传

获取原始上传文件信息:

如需类型验证、大小限制、自动重命名等完整上传功能,请使用专门的 文件上传组件 (FileUpload)。

请求头

响应

重定向与下载

Session 会话

Flash 消息(一次性会话消息)

请求/响应 静态方法速查

Request(门面→ZapRequest):

方法 说明
Request::input($key, $default) 通用输入(GET→POST→JSON)
Request::query($key, $default) 仅 GET
Request::post($key, $default) 仅 POST
Request::json() JSON 请求体
Request::rawBody() 原始请求体
Request::has($key) 输入是否存在
Request::all() 所有输入
Request::only($keys) 仅取指定键
Request::except($keys) 排除指定键
Request::method() / isPost() / ... 请求方法
Request::url() / fullUrl() / path() URL 信息
Request::ip() / userAgent() / language() 客户端信息
Request::headers($key, $default) 请求头
Request::file($key) / hasFile($key) 文件上传

Response(静态工厂):

方法 说明
Response::ok($data) 200 JSON
Response::created($data) 201 JSON
Response::noContent() 204
Response::notFound($msg) 404 JSON
Response::forbidden($msg) 403 JSON
Response::unauthorized($msg) 401 JSON
Response::badRequest($msg) 400 JSON
Response::redirect($url, $code) 重定向
Response::download($path, $name) 文件下载

验证器

内置灵活的数据验证组件,支持链式调用、嵌套字段、自定义规则和自定义错误消息。

基本使用

链式配置 API

获取结果

嵌套字段 & 通配符

可用规则一览

规则 说明 参数示例
required 字段必填 无
required_with 指定的其他字段有值时必填 ['other_field']
email 有效邮箱地址 无
url 有效 URL 无
domain 有效域名 无
ip 有效 IP 地址(v4/v6) 无
ipv4 有效 IPv4 地址 无
ipv6 有效 IPv6 地址 无
integer 整数 无
double 浮点数 无
numeric 数字(整数或浮点) 无
boolean 布尔值(支持 0/1/true/false/yes/no/on/off) 无
alpha 纯字母 (a-z) 无
alpha_num 字母 + 数字 无
ascii 纯 ASCII 字符 无
min 数值最小值 10
max 数值最大值 100
between 数值范围 [1, 120]
length 字符串长度范围 [6, 20]
length_min 字符串最小长度 6
length_max 字符串最大长度 20
range_length 字符串长度范围(Length 别名) [6, 20]
in 值必须在列表中 ['admin', 'editor']
not_in 值不能在列表中 ['root', 'super']
regex 正则匹配 '/^\d{6}$/'
date 有效日期(默认 Y-m-d) 'Y-m-d H:i:s'
date_format 日期格式(Date 别名) 'd/m/Y'
json 合法 JSON 字符串 'array' / 'object'
confirmed 字段与 {field}_confirmation 一致 无
same 与指定字段值相同 'email'
different 与指定字段值不同 'old_password'
distinct 数组值唯一无重复 无
is_array 必须为数组 无
callback 自定义验证函数或类 function($name, $value) { ... }

Callback 规则

扩展自定义规则

框架查找规则时,先搜索内置的 zap\validator\rules,再搜索通过 addNamespace() 注册的自定义命名空间。


国际化 (i18n)

框架内置灵活的国际化组件,支持多语言文件加载、参数替换、回退语言和复数翻译。

基本使用

语言文件

框架支持 PHP 和 JSON 两种格式,存放在 resources/languages/{locale}/ 目录下:

PHP 格式 — resources/languages/zh_CN/messages.php:

JSON 格式 — resources/languages/en/messages.json:

配置方法

参数替换

支持多种参数格式,通过 {key} 占位符替换:

复数翻译

语言文件中定义 .one / .other 后缀区分单复数:

中文通常不需要区分单复数,但框架保留此能力以支持英文等多语言场景。

动态消息注册

Helper 函数速查

函数 说明
__($key, $params) 推荐用法:获取翻译(参数数组)
trans($key, $params, $value) 翻译(支持旧式 {value} 替换)
trans_choice($key, $count, $params) 复数翻译

HTTP 网络请求

框架提供 Requests(全功能)和 Curl(精简兼容)两种 HTTP 客户端,后者内部复用前者。

基本请求

Response 对象

所有请求方法返回 zap\net\Response 对象:

JSON 请求

自定义请求头

请求选项

文件上传

并发请求

全局配置

Curl 精简版(向后兼容,返回字符串)

错误处理


助手 (Helpers)

框架内置分页和 URL 生成助手,可在控制器和视图中直接使用。

分页器 (Pagination)

面向 API 和内页渲染的分页组件,支持数组元数据输出和 HTML 分页条生成。

基本使用

读取分页信息

URL 生成

API / JSON 元数据

HTML 渲染

链式配置

自定义渲染

URL 助手 (UrlHelper)

生成应用 URL,支持命名路由、控制器动作和安全连接。

基本使用

命名路由

控制器动作

URL 格式化

当前路由信息

激活状态检测

安全连接


数据库

配置

Query Builder(全参数化查询,防 SQL 注入)

基础 CRUD

DB Facade CRUD(表名+数据,自动参数化绑定)

WHERE 条件

聚合函数

JOIN

GROUP BY / HAVING / DISTINCT

排序

分页

大数据集

UNION

调试

DB Facade 原始 SQL 执行

直接 ZPDO 操作

Model(ActiveRecord 风格)

查找

实例操作

时间戳

序列化

事务

查询日志

多数据库连接


视图

Zap 提供轻量级原生 PHP 模板引擎,同时支持 Twig。具有布局继承、块系统、部分包含、HTML 转义等特性。

渲染视图

布局 & 块

部分包含

模板中的安全工具

全局共享数据

模板路径

内联模板

Twig 引擎

使用 .twig 扩展名自动切换为 Twig 渲染器:

错误模板

框架内置错误页面,位于 src/resources/views/errors/:

静态方法速查

方法 说明
View::make($name, $data) 创建 View 实例
View::render($name, $data, $return) 渲染并输出/返回
View::exists($name) 检查模板是否存在
View::first(...$names) 返回第一个存在的模板名
View::renderString($str, $data) 渲染内联 PHP 字符串
View::share($key, $value) 全局共享数据
View::paths($path) 获取/添加搜索路径
View::addPath($path, $append) 添加搜索路径
View::clearPaths() 清空搜索路径
View::registerExtension($ext) 注册自定义扩展名
View::autoIncludePath($bool) 是否修改 include_path(默认关闭)

配置

配置按需懒加载,同一文件只会被加载一次。


日志

Monolog 为可选依赖。未安装时,框架使用内置 SimpleLogger 将日志写入文件或 error_log。


缓存


Session & Flash 消息


Hooks 系统

WordPress 风格的过滤器和动作系统:


中间件


控制台命令

入口文件 console

创建命令

运行命令

命令配置 API

Input API

Output API

颜色样式

当终端支持颜色时,以下标签自动转为 ANSI 彩色输出(不支持时自动去除标签):

标签 效果 颜色
<info>...</info> 信息 绿色
<success>...</success> 成功 绿色
<error>...</error> 错误 红色
<warning>...</warning> 警告 黄色
<comment>...</comment> 注释 黄色
<debug>...</debug> 调试 灰色
<red>...</red> 红色 红色
<green>...</green> 绿色 绿色
<yellow>...</yellow> 黄色 黄色
<blue>...</blue> 蓝色 蓝色
<magenta>...</magenta> 品红 品红
<cyan>...</cyan> 青色 青色
<white>...</white> 白色 白色
<gray>...</gray> 灰色 灰色

设置环境变量 NO_COLOR=1 可禁用彩色输出。

注册命令目录

命令命名规则

自定义默认命令

--version / -V 为内置命令,直接输出版本号,无需注册。


Facades

URL Facade 速查

方法 说明 示例
Url::base($url?) 获取/设置基础 URL Url::base('https://example.com')
Url::home() 首页 URL Url::home()
Url::full() 完整请求 URL(含协议主机路径) Url::full()
Url::previous() 上一页 Referer Url::previous()
Url::current() 当前请求 URI 路径 Url::current()
Url::route($name, $params, $absolute) 命名路由 URL Url::route('profile', ['id' => 1])
Url::action($action, $query, $path) 控制器动作 URL Url::action('UserController@show', [], ['id'=>5])
Url::to($format, $params, $query) 格式化 URL Url::to('/user/{id}/edit', ['id'=>10])
Url::isActive($action, $class?) 路由激活状态检测 Url::isActive('/admin*', 'nav-active')
Url::secure($path) 生成 HTTPS URL Url::secure('/admin')
Url::controller() 当前控制器名 Url::controller()
Url::method() 当前方法名 Url::method()
Url::getRouteData($name?) 路由数据 Url::getRouteData('profile')

辅助函数


HTML 构建器

流式链式调用,自动转义属性值防止 XSS。


照片处理 (Image)

基于 PHP GD 扩展的图片处理组件,支持链式调用、格式转换、滤镜、水印和 EXIF 自动旋转。

需要 PHP GD 扩展。JPEG/PNG/GIF 为 GD 内置支持,WebP 需要 GD 编译时启用。

基本使用

缩放 & 裁剪

旋转 & 翻转

滤镜

水印 & 叠加

文字

格式转换

输出 & 保存

复制 & 资源管理

元数据

完整示例:用户头像处理


文件上传组件 (FileUpload)

提供文件上传处理、验证和保存功能,支持单文件与多文件上传,内置类型检查、大小限制和自动重命名。

基本使用

多文件上传

自定义文件名

MIME 类型验证

UploadedFile 对象

错误码说明

错误码 常量 说明
0 UPLOAD_ERR_OK 上传成功
1 UPLOAD_ERR_INI_SIZE 超过 php.ini upload_max_filesize
2 UPLOAD_ERR_FORM_SIZE 超过表单 MAX_FILE_SIZE
3 UPLOAD_ERR_PARTIAL 文件仅部分上传
4 UPLOAD_ERR_NO_FILE 没有文件被上传
6 UPLOAD_ERR_NO_TMP_DIR 缺少临时文件夹
7 UPLOAD_ERR_CANT_WRITE 文件写入磁盘失败
8 UPLOAD_ERR_EXTENSION 文件上传被扩展停止

链式配置

所有配置方法均支持链式调用:

完整示例:用户头像上传

配置方法速查

方法 说明
setAllowedTypes(array) 设置允许的扩展名,如 ['jpg', 'png']
setAllowedMimes(array) 设置允许的 MIME 类型,如 ['image/jpeg']
setMaxSize(int) 设置最大文件大小(字节),0 = 不限制
setAutoRename(bool) 设置是否自动重命名(默认 true)
setNameCallback(callable) 设置文件名生成回调
upload(key, dir, name?) 上传单个文件,返回 UploadedFile
uploadMultiple(key, dir, name?) 上传多个文件,返回 UploadedFile[]
getFile() 获取最近上传的第一个文件
getFiles() 获取最近上传的所有文件

加密

默认使用 AES-256-CBC 算法。


错误处理

框架内置错误处理器,根据 config/config.php 中的 debug 配置切换行为:


URL Rewrite

Apache

Nginx


License

MIT


All versions of zap-php-framework with dependencies

PHP Build Version
Package Version
Requires php Version >=7.4.0
ext-pdo Version *
ext-curl Version *
ext-mbstring Version *
ext-json Version *
ext-openssl Version *
ext-dom Version *
ext-simplexml Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package zapj/zap-php-framework contains the following files

Loading the files please wait ...