版本 4.0.0-beta.2
发布日期:2019 年 4 月 4 日
亮点
大量修复和改进,尤其是针对 Model 和测试类
Model 现在需要主键
生成的 API 文档可在 https://codeigniter4.github.io/api/ 访问
验证规则得到增强
.htaccess 加强
新消息
Database.noPrimaryKey、forFindColumnHaveMultipleColumns、Database.forEmptyInputGiven
应用变更
更新了 app/Config/Events
添加了 app/Controllers/BaseController
添加了测试文件夹用于单元测试
添加了 phpunit.xml.dist 用于单元测试配置
变更的文件
变更文件的列表如下,带有 PR 编号:
.htaccess #1900
- app/
- Config/
Events #1856
- Controllers/
BaseController #1847
Home #1847
- contributing/
README.rst #1846
styleguide #1872
contributing.md #1846
phpdoc.dist.xml #1872
- system/
- Autoloader/
FileLocator #1860
- Cache/Handlers/
FileHandler #1895
MemcachedHandler #1895
PredisHandler #1895
RedisHandler #1863, #1895
WincacheHandler #1895
- CLI/
CLI #1891, #1910
- Commands/
Server/Serve #1893
Utilities/Routes #1859
- Config/
BaseConfig #1811
Routes #1847, #1850
- Database/
BaseBuilder $1776, #1902
BaseConnection #1899
Forge #1844, #1899
MigrationRunner #1860, #1865
MySQLi/Connection #1896
MySQLi/Forge #1899
Postgre/Builder #1902
Postgre/Forge #1899
Query #1805, #1771
SQLite3/Builder #1902
SQLite3/Forge #1899
- Debug/
Toolbar/Collectors/History #1869
Toolbar #1897
- Events/
Events #1867
- Exceptions/
ModelException #1829
PageNotFoundException #1844
- Files/
File #1809, #1854
- Helpers/
date_helper #d08b68
form_helper #1803
html_helper #1803
number_helper #d08b68, #1803
security_helper #d08b68
text_helper #d08b68, #1803
url_helper #d08b68, #1803
xml_helper #1803
- Honeypot/
Honeypot #1894
- HTTP/
Header #1769
IncomingRequest #1831
- Language/en/
Database #1829, #1861, #1902
- Router/
RouteCollection #1769
Router #1839, #1882
- Session/
Session #1769
- Test/
ControllerTester #1769, #1848, #1855
DOMParser #1848
- Validation/
FormatRules #1762, #1863
Rules #1791, #1814, #1818, #1862
Validation #1769
Views/list #1828
- View/
Filters #1769
Parser #1769
View #1769, #1827
CodeIgniter #1769, #1804, #1590
Common #1802, #895ae0
ComposerScripts #1804
Controller #1769, #1850
Entity #1769, #1804
Model #1793, #1769, #1804, #1808, #1812, #1813, #1817, #1829, #1746, #1861
- tests/system/
- Cache/
- Handlers/
FileHandlerTest #1796, #1895
MemcachedHandlerTest #1895
RedisHandlerTest #1895
CacheFactoryTest #1796
- CLI/
CLITest #1910
- Config/
BaseConfigTest #1811
ConfigTest #1811
- Database/
Builder/EmptyTest #1902
Builder/SelectTest #1902
Live/ModelTest #1817, #1829, #1861
Live/WhereTest #1906
- Events/
EventsTest #1867
- HTTP/
ContentSecurityPolicyTest #1848
- Router/
RouteCollectionTest #1822, #1912, #1913
- Test/
ControllerTesterTest #1848, #1855
DOMParserTest #1848
- Validation/
FormatRulesTest #1762
RulesTest #1791
- View/
ViewTest #1827, #1836
ControllerTest #1850
- user_guide_src/
- cli/
cli_commands #1777
cli_library #1892, #1910
- concepts/
services #1811
- database/
examples #1794
- dbmgmt/
forge #1844, #1899
migration #1860, #1865
- extending/
basecontroller #1847
core_classes #1847
- general/
common_functions #1802, #1895
- helpers/
number_helper #d08b68
url_helper #1803
- incoming/
routing #1908
- libraries/
caching #1895
files #1790, #1854
pagination #1823
sessions #1843
validation #1814, #1828, #1862
- models/
models #1817, #1820, #1829, #1746, #1861
- outgoing/
view_layouts #1827
- testing/
controllers #1848
合并的 PR
#1913 更多覆盖重写的 RouteCollection 测试。关闭 #1692
#1912 额外的 RouteCollectionTests
#1910 为 CLI 库添加了 print 方法,以便在同一行上多次打印
#1908 在用户指南中添加过滤器参数
#1906 与 #1775 相关的子查询测试用例
#1902 BaseBuilder 修正
#1900 为更好的安全性和缓存更新 .htaccess
#1899 数据库 Forge 修正
#1897 针对 #1779 的工具栏修复
#1896 Mysql 连接使用 SSL 证书的问题 (#1219)
#1894 修正拼写错误
#1893 用 remove escapeshellarg() 修复 spark serve
#1892 在用户指南中添加 CLI 背景颜色列表
#1891 允许 CLI::strlen 为空参数
#1886 修复问题 #1880,修复了一些拼写错误和更新了代码风格
#1882 与 #1541 相关的路由器更改
#1873-1889 文档:移动命名空间声明和添加缺失的类 docblocks
#1872 文档:修复 phpdoc 配置
#1871 不匹配的缓存库 get() 返回 null
#1869 History::SetFiles 检查 #1778
#1863 按模块进行拼写更改
#1861 新的 Find Column 方法 与 #1619 相关
#1860 Migrationrunner 使用自动加载程序
#1867 事件现在应该可以与任何可调用项一起使用了。修复 #1835
#1865 解决定义中的 MigrationRunner 问题
#1862 required_with 和 required_without 定义更改
#1859 在路由列表中忽略回调
#1858 DB 模块中的拼写更正
#1856 在 pre_system 事件上确保 ob_get_level() > 0 时 ob_end_flush()
#1855 修复:ControllerTester::execute。修复 #1834
#1854 File::move 现在会为重定位的文件返回新的文件实例。修复 #1782
#1851 用根 CI4 版本替换旧的 CI3 .gitignore
#1850 安全可路由的控制器方法
#1848 测试:修复和测试 Test/ControllerTest,已测试
#1847 默认将 Controller 扩展到 BaseController
#1846 修复贡献链接
#1844 Model 修复
#1843 替换 CI3 $this->input 引用
#1842 异常 ‘forPageNotFound’ 缺少默认值
#1839 不要在 to 路由中将斜杠替换为反斜杠
#1836 测试:改进 ViewView 覆盖率
#1831 修复一些 PHPDoc 注释错误
#1829 改进:Model 现在需要主键。这部分是为了保持代码…
#1828 修复:从验证视图中删除引导样式。
#1827 修复:向视图库添加 include 方法来渲染视图片段… 视图。
#1823 文档:在 Pagination 类中删除遗留的 Bootstrap 引用
#1822 测试:增强 RouteCollection 覆盖率
#1820 修复:在 model.rst 中正确的 sphinx 错误
#1819 改进:使用 phpDocumentor 添加 apibot 用于 API 文档
#1818 改进:在 exact_length 规则中改进代码
#1817 改进:引入 Model setValidationMessage 函数
#895ae0 修复:每当使用旧命令时都启动会话
#1814 增强:extended exact_length[1,3,5]
#1813 修复:Model::save 对于早期 PR 的修复
#1812 测试:改进 Filters 覆盖率
#1811 测试:改进 Config 模块覆盖率
#1809 修复文件移动失败。修复 #1785
#1808 修复:修复 save 方法的返回值
#1805 文档:Query 类更改
#1804 文档:一些基本功能更改
#1803 文档:一些辅助函数更改
#1802 文档:通用函数更正
#1796 测试:改进 Cache 覆盖率
#1794 替换不存在的 “getAffectedRows”
#1793 设置 Model->chunk 返回类型
#1791 修复:在 ValidationRules 中删除 is_numeric 测试
#d08b68 在缺少 UserAgent 的 ControllerTester 中修复
#1790 根据问题 #1781 中提到的修正文档中的拼写错误
#1777 向示例添加 CLI 命名空间
#1776 修复:仅替换字段名称中的最后一个操作符
#1771 修复:matchSimpleBinds 中的拼写错误
#1769 方法和拼写更正
#1762 修复:decimal 规则。它不应该接受整数吗?
#1746 改进:更新 Model,选择性更新 created_at/updated_at 字段。
#1590 改进:增强 404Override