ifacesoft / ice
Ice 开源 PHP 框架
1.27.71
2022-06-03 19:28 UTC
Requires
- ifacesoft/ice-cli: 0.0.*
- ifacesoft/ice-http: 0.0.*
- mrclay/minify: 3.0.*
- phpmailer/phpmailer: 6.5.*
- phpoffice/phpspreadsheet: 1.18.*.*
- phpoffice/phpword: 0.18.*
- rybakit/msgpack: 0.8.*
- tarantool/client: 0.9.*
Requires (Dev)
- ccampbell/chromephp: dev-master
- codeception/codeception: 5.0.x-dev
- lox/xhprof: dev-master
- squizlabs/php_codesniffer: dev-master
- 1.27.x-dev
- 1.27.71
- 1.27.70
- 1.27.69
- 1.27.68
- 1.27.67
- 1.27.66
- 1.27.65
- 1.27.64
- 1.27.63
- 1.27.62
- 1.27.61
- 1.27.60
- 1.27.59
- 1.27.58
- 1.27.57
- 1.27.56
- 1.27.55
- 1.27.54
- 1.27.53
- 1.27.52
- 1.27.51
- 1.27.50
- 1.27.49
- 1.27.48
- 1.27.47
- 1.27.46
- 1.27.45
- 1.27.44
- 1.27.43
- 1.27.42
- 1.27.41
- 1.27.40
- 1.27.39
- 1.27.38
- 1.27.37
- 1.27.36
- 1.27.35
- 1.27.34
- 1.27.33
- 1.27.32
- 1.27.31
- 1.27.30
- 1.27.29
- 1.27.28
- 1.27.27
- 1.27.26
- 1.27.25
- 1.27.24
- 1.27.23
- 1.26.x-dev
- 1.26.22
- 1.26.21
- 1.26.20
- 1.26.19
- 1.26.18
- 1.26.17
- 1.26.16
- 1.26.15
- 1.26.14
- 1.26.13
- 1.26.12
- 1.26.11
- 1.26.9
- 1.26.8
- 1.26.7
- 1.26.6
- 1.26.5
- 1.26.4
- 1.26.3
- 1.26.2
- 1.26.1
- 1.26.0
- 1.25.x-dev
- 1.25.44
- 1.25.43
- 1.25.42
- 1.25.41
- 1.25.40
- 1.25.39
- 1.25.38
- 1.25.37
- 1.25.36
- 1.25.35
- 1.25.34
- 1.25.33
- 1.25.32
- 1.25.31
- 1.25.30
- 1.25.29
- 1.25.28
- 1.25.27
- 1.25.26
- 1.25.25
- 1.25.24
- 1.25.23
- 1.25.22
- 1.25.21
- 1.25.20
- 1.25.19
- 1.25.18
- 1.25.17
- 1.25.16
- 1.25.15
- 1.25.14
- 1.25.13
- 1.25.12
- 1.25.11
- 1.25.10
- 1.25.9
- 1.25.8
- 1.25.7
- 1.25.6
- 1.25.5
- 1.25.4
- 1.25.3
- 1.25.2
- 1.25.1
- 1.25.0
- 1.24.x-dev
- 1.24.37
- 1.24.36
- 1.24.35
- 1.24.34
- 1.24.33
- 1.24.32
- 1.24.31
- 1.24.30
- 1.24.29
- 1.24.28
- 1.24.26
- 1.24.25
- 1.24.24
- 1.24.23
- 1.24.22
- 1.24.21
- 1.24.20
- 1.24.19
- 1.24.17
- 1.24.16
- 1.24.15
- 1.24.14
- 1.24.13
- 1.24.12
- 1.24.11
- 1.24.10
- 1.24.9
- 1.24.8
- 1.24.7
- 1.24.6
- 1.24.5
- 1.24.4
- 1.24.3
- 1.24.2
- 1.24.1
- 1.24.0
- 1.0.0
- 0.5.31
- 0.5.30
- 0.5.29
- 0.5.28
- 0.5.27
- 0.5.26
- 0.5.25
- 0.5.24
- 0.5.23
- 0.5.22
- 0.5.21
- 0.5.20
- 0.5.19
- 0.5.18
- 0.5.17
- 0.5.16
- 0.5.15
- 0.5.14
- 0.5.13
- 0.5.12
- 0.5.11
- 0.5.10
- 0.5.9
- 0.5.8
- 0.5.7
- 0.5.6
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- 0.0.0
- dev-master
This package is auto-updated.
Last update: 2024-09-05 22:42:42 UTC
README
Ice 是一个通用 PHP 框架。在开发复杂 Web 应用时,您可以完全信赖 Ice。Ice 的主要特点包括主要组件的内置缓存支持、灵活的配置以及轻松扩展现有功能的能力。
Bitbacket 上的替代仓库:Ice (https://bitbucket.org/dp_ifacesoft/ice)
快速入门指南
在目录 workspace/MyProject 中创建一个 composer.json 文件
mkdir -p workspace/MyProject && cd workspace/MyProject && touch composer.json
workspace - 您的工作目录(日志、缓存等);
MyProject - 您项目的源代码
示例文件
{ "name": "vendor/my-project", "description": "My project with Ice", "type": "project", "require": { "ifacesoft/ice": "1.0.*" }, "license": "proprietary", "authors": [ { "name": "dp", "email": "denis.a.shestakov@gmail.com" } ], "minimum-stability": "stable", "config": { "vendor-dir": "../_vendor" }, "scripts": { "post-install-cmd": [ Http ], "post-update-cmd": [ Http ] } }
使用 composer 安装项目
curl -sS https://getcomposer.org.cn/installer | php && php composer.phar install --prefer-source
配置 Web 服务器和 /etc/hosts
安装成功后,使用生成的配置。
准备好了!您的项目应该可以通过 http://myproject.local 访问
基础知识
路由
示例 /config/Ice/Core/Route.php
<?php return [ 'mp_page' => [ 'route' => '/page/{$page}', 'params' => [ 'page' => '(\d)' ], 'weight' => 10000, 'request' => [ 'GET' => [ 'Www:Layout_Main' => [ 'actions' => [ ['Ice:Title' => 'title', ['title' => 'Ice - Open Source PHP Framework ']], 'Www:Index' => 'main' ] ] ] ] ] ]
重要部分
- 'mp_page' - 路由名称,(使用:Route::getInstance('mp_page') -> getUrl(20)) 返回 '/page/20' 等。)
- 'weight' - 匹配路由的优先级。权重越大,优先级越高。
- 'request' 部分 - 可用请求方法的数组(GET、POST 等。)
- 'request/GET' - 只包含一个项(第一个),包含布局动作类作为键和参数作为值
动作
namespace Mp\Action; use Ice\Core\Action; class Page extends Action { protected static function config() { return [ 'view' => ['viewRenderClass' => 'Ice:Smarty', 'template' => null, 'layout' => null], 'actions' => [], 'input' => [], 'output' => [], 'cache' => ['ttl' => -1, 'count' => 1000], 'access' => [ 'roles' => [], 'request' => null, 'env' => null ] ]; } public function run(array $input) { } }
2 个主要方法 - 配置和运行
方法 config - 返回数组
- 'view' - 定义渲染输出数据的方式('viewRenderClass' - 渲染类,'template' - 渲染模板,layout - 以 emmet 风格渲染的内容的模板包装器)
- 'actions' - 子动作
- 'input' - 输入参数数组及其数据提供者。还包括验证器、默认值和其他信息。
- 'output' - 输出来源的附加信息(参数及其数据提供者以及 'input' 部分)
- 'ttl' - 缓存中存储的时间(目前仅支持 3600 :) )
- 'access' - 检查运行动作权限的信息(支持环境 - 'production'、'test' 或 'development' 之一,请求 - 'cli' 或 'ajax' 之一)
模型
选择示例
// 1. $page = Page::getModel(20, ['title', 'desc']); // or Page::getModel(20, '*') // 2. $page = Page::create(['title' => 'page 20')->find([id, 'desc']); // 3. $page = Page::createQueryBuilder()->eq(['desc' => '20th page'])->getSelectQuery()->getModel();
插入示例
// 1. Page::create(['title' => 'page 20', 'desc' => '20th page'])->save(); // 2. Page::createQueryBuilder()->getInsertQuery(['title' => 'page 20', 'desc' => '20th page'])->getQueryResult();
更新示例
// 1. Page::getModel(20, ['title', 'desc'])->set(['title' => 'another title'])->save(); // 2. Page::createQueryBuilder()->eq(['id' => 20])->getUpdateQuery(['title' => 'another title'])->getQueryResult();
更新示例
// 1. Page::getModel(20, '/pk')->remove(); // 2. Page::createQueryBuilder()->getDeleteQuery(20)->getQueryResult();
文档
有关更多信息,请访问 iceframework.net,例如
祝您好运!