zoukankan      html  css  js  c++  java
  • 如何使用ThinkPHP5 ,自动生成目录?

    具体步骤:

     A.在build.php中按照实际需求修改定义模块的内容;

     B.修改Public/index.php,在代码中加入:

    // 读取自动生成定义文件
    $build = include '/../build.php';
    // 运行自动生成
    	hinkBuild::run($build,'test',true);

     C.运行localhost/项目名称/public/index.php  

    成功!

    1.首先需要定义一个用于自动生成的规则定义文件,通常命名为build.php

    默认的框架的根目录下面自带了一个build.php示例参考文件,内容如下:

    return [
        // 生成运行时目录
        '__file__' => ['common.php'],
    
        // 定义index模块的自动生成
        'index'    => [
            '__file__'   => ['common.php'],
            '__dir__'    => ['behavior', 'controller', 'model', 'view'],
            'controller' => ['Index', 'Test', 'UserType'],
            'model'      => [],
            'view'       => ['index/index'],
        ],
        // 。。。 其他更多的模块定义
    ];

    可以给每个模块定义需要自动生成的文件和目录,以及MVC类。

    • __dir__ 表示生成目录(支持多级目录)
    • __file__ 表示生成文件(不定义默认会生成 config.php 文件)
    • controller 表示生成controller类
    • model表示生成model类
    • view表示生成html文件(支持子目录)

    自动生成以APP_PATH为起始目录,__dir__ 和 __file__ 表示需要自动创建目录和文件,其他的则表示为模块自动生成。

    模块的自动生成则以 APP_PATH.'模块名/' 为起始目录。

    并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面。

    我们还可以在APP_PATH目录下面自动生成其它的文件和目录,或者增加多个模块的自动生成,例如:

    return [
        '__file__'  => ['hello.php','test.php'],
        // 定义index模块的自动生成
        'index'   => [
            '__file__'   => ['tags.php', 'user.php', 'hello.php'],
            '__dir__'    => ['behavior', 'controller', 'model', 'view'],
            'controller' => ['Index', 'Test', 'UserType'],
            'model'      => [],
            'view'       => ['index/index'],
        ],    
        // 定义test模块的自动生成
        'test'=>[
            '__dir__'   =>  ['behavior','controller','model','widget'],
            'controller'=>  ['Index','Test','UserType'],
            'model'     =>   ['User','UserType'],
            'view'      =>  ['index/index','index/test'],
        ],
     ];

     

  • 相关阅读:
    硬件加速 Hardware Accelerated [MD]
    Redis 常见面试题(2020最新版)
    1秒时限情况下算法复杂度要求
    linux ikatago-server
    Linux踢出其他正在SSH登陆用户
    多个Git帐号的SSH key切换(不同网站的gitlab&github)
    RTL8201 替换适配国产JL11网卡
    网卡PHY 移植注意事项
    django shell执行命令来批量更新model 数据
    git 设置和取消socks5 代理
  • 原文地址:https://www.cnblogs.com/crystaltu/p/6590433.html
Copyright © 2011-2022 走看看