项目目录说明

    下载框架项目推荐目录骨架,执行(建议),可看到如下结构:


    proj后加上一串加密串目的是为了防止当其路径存放在站点目录下时恶意用户通过工具猜测到项目目录,获取到模板文件及log文件,很多采用开源php框架的站点就常常被发现这个问题,当然最好是将projxxxxx目录部署到站点根目录的上一级,即站点根目录配置到projxxx/public目录.

    开始开发前前先修改这个目录名、修改完将index.php中CML_APP_PATH相应修改即可

    下面展开对projxxxxxxxxx目录做详细说明:

    Application目录为整个项目的应用存放目录,假定我们有一个项目,该项目下有webadminapi三个应用,则目录下就有 webadminapi三个应用目录,这边提供默认的web应用目录。

    web

    目录为当前项目下的其中一个应用。一个项目下可能有多个应用。每个应用目录都包含了上线所需的所有配置、控制器、模型、视图、静态文件等,迁移的时候直接把应用目录copy走就好了。下线的时候要只要整个应用目录移除。避免了传统的我们上线/下线一个应用得跑到config/controller/model/static/view下分别发布/删除文件
    • web/Controller 为应用控制器存放的路径我们在其下面看到了DefaultController.php文件以下为文件的内容

    use Cml\Controller;

    class DefaultController extends Controller
    {
    public function index()
    {
    echo '欢迎使用cml框架,应用初始化成功';
    }

    }

    关于命名空间及其它参考
    • web/Lang可选 为web应用语言包存放目录具体请参考 语言包章节

    • web/Model 可选 为web应用模型文件存放目录 具体请参考

    • web/Plugin 可选 为web应用插件存放目录 具体请参考 插件章节

    • web/Service 可选 为web应用服务存放目录

    • web/View 可选 这web应用存放模板文件目录


    cli

    proxxx/Config/cli 为通过命令行运行的时候加载的配置文件存放目录

    development

    为开发环境加载的配置文件存放目录

    product为正式环境加载的配置文件存放目录

    proxxx/Config/product 为正式环境加载的配置文件存放目录

    cli/development/product 这三个目录下都会默认生成一个normal.php的配置文件,该文件为主配置文件即框架会自动加载,具体请查看 配置文件章节

    common.php

    common.php 为公用配置文件,也就是无论是cli还是product或者是development的环境都会自动加载的配置文件

    plugin.php

    route.php

    route.php 为路由配置,也是cli/product/development共用 关于路由的使用请参看 路由章节

    Store目录为运行时目录,该目录下存放了系统运行时的一些临时文件,下面做详细说明

    Cache

    该目录该目录下存放了模板渲染后的缓存及系统缓存使用文件缓存时生成的缓存文件

    Data

    框架会对数据库的表字段结构缓存在此目录下,所以线上环节如果有修改了主键名,请清空该目录

    Logs

    系统在开发环境会把警告以下的错误直接显示在控制台,致命错误/异常直接显示在页面上方便开发人员排查。如果是线上环境会将警告及以上的信息记录在此目录下的emergency.log中(底层是调用\Cml\Log::emergency)。按日期分目录存放(如20160801的日志则存放在 Runtime/Logs/2016/08/01/emergency.log中),方便排查,同时使用 \Cml\Log::xxx`相关方法记录的日志会分类存放在该目录下。具体可参考日志

    public目录 (可选)