hazicms/generator 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hazicms/generator

Composer 安装命令:

composer require hazicms/generator

包简介

Generator for HaziCms.

README 文档

README

  1. Add this package to your composer.json:

     "require": {
         "pingpong/generators": "2.0.*@dev",
         "pingpong/modules": "2.0.x-dev",
         "hazicms/generator": "1.0.x"
     }
    
  2. Run composer update

     composer update
    
  3. Add the ServiceProviders to the providers array in config/app.php.

     'Laracasts\Flash\FlashServiceProvider',
     'Mitul\Generator\GeneratorServiceProvider',
     'Pingpong\Modules\ModulesServiceProvider',
     'Pingpong\Modules\Providers\BootstrapServiceProvider',
     'HaziCms\Generator\Generator\GeneratorServiceProvider',
     'Collective\Html\HtmlServiceProvider',
     'Intervention\Image\ImageServiceProvider',
    

    Also for convenience, add these facades in alias array in config/app.php.

     'Module'=> 'Pingpong\Modules\Facades\Module',
     'Form' => 'Collective\Html\FormFacade',
     'Html' => 'Collective\Html\HtmlFacade',
     'Flash' => 'Laracasts\Flash\Flash',
     'Image' => 'Intervention\Image\Facades\Image'
    
  4. Publish config files for generators, modules and images:

     php artisan vendor:publish --provider="HaziCms\Generator\Generator\GeneratorServiceProvider"
    
     php artisan vendor:publish
    
     php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
    
  5. Modify modules.php file to your needs.On Cms, change 'namespace' => 'HaziCms\Modules', and 'modules' => app_path('Modules').

  6. Modify generator.php file to your needs.

  7. Add ADMIN-LTE dashboard template: cd public && bower update && cd ..

  8. Add bower dependencies (at least CKEditor): cd vendor/hazicms/generator/ && bower update && cd ..

  9. Fire artisan command to generate module with model.

     php artisan hazicms:generator ModuleName ModelName
    

    e.g.

     php artisan hazicms:generator Network Project
     php artisan hazicms:generator Blog Post
    
  10. Enter the fields with options

    fieldName:fieldType[,htmlAtribute1 ,htmlAtribute2]:[fieldData]:[defaultOption]

    Examples:

    Select: group:select,'id' => 'mySelect', 'class' => 'red':['admin' => 'admin','user' => 'user']:user
    Select (data from model): role_id:select,'id' => 'mySelect', 'class' => 'red'  //to run well, need the fathers model created. Role for this example
    Text: title:text,'size' => 255
    Hidden: user_id:hidden,'id'=> 'user_id' // if the name ends with '_id', we suppose that the value is the model id. // Else value is null
    Float: price:float,'min' => 1, 'max' => 10
    Textarea: body:textarea,'placeholder' => 'Body content' (make ```bower install``` inside generator folder)
    Radiobutton: sex:radio,'id' => 'sex', 'class' => 'red':['male' => 'ale','female' => 'fem']:fem
    Checkbutton: data:check,'id' => 'data', 'class' => 'red':['clean_the_room' => 'clean','go_to_your_home' => 'home']:home (*)
    Number: assistance:number,'id' => 'assistance', 'class' => 'red'
    Date: birthday:date,'id' => 'date', 'class' => 'red' (make ```bower install``` inside generator folder)
    

    There are some basic field examples on field_example_data file.

(*) Need to uncomment 3 lines on the modules controller to run. Laravelcollective/form has a bug with checkboxes. Until this been solved, this trick is needed! :-( If you see "preg_replace(): Parameter mismatch, pattern is a string while replacement is an array" error, you need to read the last sentece. :-)

  1. (optional) If you want, you can add auth middleware to module routes. Route::group(['prefix' => 'admin', 'middleware' => 'auth') ...

  2. Go to http://domain.com/admin/[Plural's ModelName] :)

Use ROXY fileman[0] as a filebrowser for CKEditor

  1. Download fileman for PHP, unzip on public folder and give permissions.

  2. Add on: /public/theme/ckeditor/config.js

     var roxyFileman = '/fileman/index.html';
     config.filebrowserBrowseUrl = roxyFileman;
     config.filebrowserImageBrowseUrl = roxyFileman+'?type=image';
     config.removeDialogTabs = 'link:upload;image:upload';
    
  3. On public/fileman/conf.json change INTEGRATION to "ckeditor".

[0] http://www.roxyfileman.com/CKEditor-file-browser

Use outsite of HaziCms namespace

  1. php artisan app:name your_namespace.

  2. Set on config/generator.php file, namespace variable to your_namespace.

Credits

This module generator is created by Aitor Ibañez.

This package is based on laravel-api-generator.

Bugs & Forks are welcomed :)

hazicms/generator 适用场景与选型建议

hazicms/generator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 49 次下载、GitHub Stars 达 5, 最近一次更新时间为 2015 年 05 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「generator」 「api」 「cms」 「migration」 「model」 「crud」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 hazicms/generator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 hazicms/generator 我们能提供哪些服务?
定制开发 / 二次开发

基于 hazicms/generator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 49
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 34
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2015-05-06