# 版本 4.0.0-alpha.4

发布日期：2018 年 12 月 15 日

CodeIgniter4 的下一个内测版本

## 亮点

- 重构以保持一致:application 文件夹重命名为 app;

    BASEPATH 常量重命名为 SYSTEMPATH

- 调试工具栏获得自己的配置、历史收集器

- 大量纠正和增强

## 变更的文件

变更文件的列表如下,带有 PR 编号:

- admin/

    - docbot #1573

    - framework/composer.json #1555

    - release #1573

    - release-deploy #1573

    - starter/composer.json #1573, #1600

- app/
    - Config/

        - App #1571

        - Autoload #1579

        - ContentSecurityPolicy #1581

        - Events #1571, #1595

        - Paths #1579

        - Routes #1579

        - Services #1579

        - Toolbar #1571, #1579

    - Filters/

        - Toolbar #1571

    - Views/

        - errors/* #1579

- public/

    - index #1579

- system/
    - Autoloader/

        - Autoloader #1562

        - FileLocator #1562, #1579

    - CLI/

        - CommandRunner #1562

    - Config/

        - AutoloadConfig #1555, #1579

        - BaseConfig #1562

        - Services #1571, #1562

    - Database/

        - BaseBuilder #a0fc68

        - MigrationRunner #1585

        - MySQLi/Connection #1561, #8f205a

    - Debug/

        - Collectors/* #1571, #1589, #1579

        - Exceptions #1579

        - Toolbar #1571

        - Views/toolbar.tpl #1571

        - Views/toolbarloader.js #1594

    - Helpers/

        - form_helper #1548

        - url_helper #1588

    - HTTP/

        - ContentSecurityPolicy #1581

        - DownloadResponse

    - I18n/

        - Time #1603

    - Language/

        - Language #1587, #1562, #1610

        - en/

            - CLI #1562

            - HTTP #d7dfc5

    - Log/

        - Handlers/FileHandler #1579

        - Logger #1562, #1579

    - Session/

        - Handlers/DatabaseHandler #1598

    - Test/

        - CIUnitTest #1581, #1593, #1579

        - FeatureResponse #1593

        - FeatureTestCase #1593

    - View/

        - View #1571, #1579

    - bootstrap #1579

    - CodeIgniter #ab8b5b, #1579

    - Common #1569, #1563, #1562, #1601, #1579

    - Entity #4c7bfe, #1575

    - Model #1602, #a0fc68

- tests/
    - Autoloader/

        - AutolaoderTest #1562, #1579

        - FileLocatorTest #1562, #1579

    - Config/

        - ServicesTest #1562

    - Database/

        - Live/ModelTest #1602, #a0fc68

    - Files/

        - FileTest #1579

    - Helpers/

        - FormHelperTest #1548

        - URLHelperTest #1588

    - HTTP/

        - ContentSecurityPolicyTest #1581

        - DownloadResponseTest #1576, #1579

        - IncomingRequestDetectingTest #1576

        - IncomingRequestTest #1576

        - RedirectResponseTest #1562

        - ResponseTest #1576

    - I18n/

        - TimeDifferenceTest #1603

        - TimeTest #1603

    - Language/

        -LanguageTest #1587, #1610

    - Log/

        - FileHandlerTest #1579

    - Router/

        - RouterCollectionTest #1562

        - RouterTest #1562

    - Test/

        - FeatureResponseTest #1593

        - FeatureTestCaseTest #1593

        - TestCaseTest #1593

    - Validation/

        - ValidationTest #1562

    - View/

        - ParserPluginTest #1562

        - ParserTest #1562

        - ViewTest #1562

    - CodeIgniterTest #1562

    - CommonFunctionsTest #1569, #1562

    - EntityTest #4c7bfe, #1575

- user_guide_src/source/
    - cli/

        - cli #1579

        - cli_commands #1579

    - concepts/

        - autoloader #1579

        - mvc #1579

        - services #1579

        - structure #1579

    - database/

        - configuration #1579

    - dbmgt/

        - migration #1579

        - seeds #1579

    - general/

        - common_functions #d7dfc5, #1579

        - configuration #1608

        - errors #1579

    - installation/

        - downloads #1579

    - models/

        - entities #547792, #1575

    - outgoing/

        - localization #1610

        - response #1581, #1579

        - view_parser #1579

    - testing/

        - debugging #1579

        - overview #1593, #1579

    - tutorial/

        - news_section #1586

        - static_pages #1579

- composer.json #1555

- ComposerScripts #1551

- spark #1579

- Vagrantfile.dist #1459

## 合并的 PR

- #1610 测试、修复和增强语言类

- #a0fc68 在插入、更新和查询后清除绑定

- #1608 在用户指南中注明环境配置

- #1606 发布框架脚本清理

- #1603 充实 I18n 测试

- #8f305a 捕获 mysql 连接错误并消毒用户名和密码

- #1602 Model 的 first 和 update 在没有主键的表中不工作

- #1601 在 Common.php 中清理 ConfigServices

- #1600 清理 admin/starter/composer.json

- #1598 将数据库会话的默认 DBGroup 设置为 $defaultGroup

- #1595 通过 pre_system 处理致命错误

- #1594 修复工具栏无效的 css

- #1593 充实 Test 包测试

- #1589 修复工具栏文件加载抛出异常

- #1588 修复 site_url 生成无效 url

- #1587 添加语言回退

- #1586 修复教程中的模型命名空间

- #1585 为 MigrationRunner 方法添加类型提示

- #4c7bfe Entity 的 fill() 现在尊重映射的属性

- #547792 为 Entity 类添加 _get 和 _set 说明

- #1582 修复变更日志索引和通用函数的 UG 缩进

- #1581 ContentSecurityPolicy 测试和增强

- #1579 使用绝对路径

- #1576 Testing13/http

- #1575 添加 ?integer、?double、?string 等转换类型

- #ab8b5b 在测试中默认将 baseURL 设置为 example.com

- #d7dfc5 关于重定向的文档调整

- #1573 吸取的教训

- #1571 工具栏更新

- #1569 用不同编码测试 esc(),忽略仅应用的辅助函数

- #1563 为 csrf_field 添加 id 属性支持

- #1562 集成 Autoloader 和 FileLocator

- #1561 更新 Connection.php

- #1557 移除 use 语句中的 前缀

- #1556 在测试中为 setUp() 函数使用 protected 修饰符而不是 public

- #1555 自动加载清理:从 composer.json 中删除 PsrLog 命名空间

- #1551 在 ComposerScripts 中删除手动定义的 "system/" 目录前缀

- #1548 允许设置空 html 属性

- #1459 添加 Vagrantfile