fizzday/php-artisan

a mini php artisan with auto create file in your project

dev-master 2017-12-13 11:23 UTC

This package is not auto-updated.

Last update: 2024-11-24 05:49:45 UTC


README

小巧强悍,可配置的自动化创建文件 artisan 命令工具

安装

使用composer

composer require fizzday/php-artisan dev-master

配置

$config = array(
    // 允许的操作
    'allow_type' => array(
        'm', // model
        'c', // controller
        's', // service
//        'v', // view
    ),

    // 文件后缀
    'ext' => '.class.php',

    // 自动生成类方法, 生成多个方法, 则添加方法名到数组中
    'auto_method' => [
        'index',
        'test'
    ],

    // 对应模块配置
    'm' => [
        'dir' => __DIR__ . '/Application/Model/', // 文件目录
        'ext' => '.class.php',    // 文件后缀
        'head' => [   // 头部引入等操作
            "namespace Model;" . PHP_EOL,
            "use Think\\Model;",
        ],
        // 是否继承, 有值则继承该值, 没有则不继承
        'extends' => 'Model',
    ],
    'c' => [
        // 文件目录
        'dir' => __DIR__ . '/Application/Sapi/Controller/',
        // 文件后缀
        'ext' => '.class.php',
        // 头部引入等操作
        'head' => [
            "namespace Sapi\\Controller;"
        ],
        // 是否继承, 有值则继承该值, 没有则不继承
        'extends' => 'BaseController',
    ],
    's' => [
        // 文件目录
        'dir' => __DIR__ . '/Application/Service',
        // 文件后缀
        'ext' => '.class.php',
        // 头部引入等操作
        'head' => [
            "namespace Service;"
        ],
        // 是否继承, 有值则继承该值, 没有则不继承
        'extends' => 'BaseService',
    ],

    // 公共头部文件信息
    'file_info' => [
        '/**',
        ' * Created by artisan command(composer:fizzday/artisan)',
        ' * User: fizzday<fizzday@yeah.net>',
        ' * Home: http://fizzday.net',
        ' * Date: ' . date("Y-m-d"),
        ' * Time: ' . date("H:i:s"),
        ' */'
    ],
);

return $config;

配置说明

  • 可配置文件后缀, 不仅限于php文件
  • 可配置文件创建者共用信息
  • 可配置创建文件的目录
  • 可配置创建文件的头部引用信息
  • 可配置继承关系
  • 可配置自动类中的多个方法

详情可查看配置文件的注释说明, 一目了然

用法示例

创建命令文件artisan

<?php

use Fizzday\Artisan\Migration;

echo 'starting...' . PHP_EOL;

// 创建文件
echo Migration::config($config)->run($argv);

执行命令

php artisan make:m FizzModel

说明(1):

  • php artisan make:m : 创建model文件
  • php artisan make:c : 创建controller文件
  • php artisan make:s : 创建service文件
    说明(2):
  • FizzModel : 要创建的文件名字

执行结果

starting...
FizzModel.class.php created successfully

查看文件FizzModel.php

<?php
/**
 * Created by artisan command(composer:fizzday/artisan)
 * User: fizzday<fizzday@yeah.net>
 * Home: http://fizzday.net
 * Date: 2017-12-07
 * Time: 13:23:50
 */

namespace Model;

use Think\Model;

class FizzModel extends Model
{
    public function index()
    {
        // TODO
    }

    public function test()
    {
        // TODO
    }
}

todo