承接 akat03/scaffoldplus 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

akat03/scaffoldplus

Composer 安装命令:

composer require akat03/scaffoldplus

包简介

Scaffold , CRUD Package for Laravel

README 文档

README


● Installation

1. Install package via Composer

composer require akat03/scaffoldplus

2. edit .env file

change database settings in .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=test
DB_PASSWORD=xxxxxxxxxxxx

change APP_URL in .env

APP_URL=https://your-server.com

3. clear Laravel and Composer cache

php artisan cache:clear; php artisan config:clear; php artisan route:clear; php artisan view:clear; composer dump-autoload

4. show scaffolding command

php artisan

show some commands like below

 scaffoldplus
  scaffoldplus:create   Create Migration, Model, Controller, and YAML(json)
  scaffoldplus:publish  Publish /assets/js/ , /assets/css/ files

● Execute scaffold command

*1. Copy /assets/ directory to your public directory

php artisan scaffoldplus:publish

*2. Create lang/ja dir

composer require askdkc/breezejp --dev
php artisan breezejp

*3. Create Shell Script

vi scaffold_posts.sh

scaffold_posts.sh

s_controller_name="Post"
s_model_name="posts"
s_migration_name="posts"

# =========================================== change this
# name:string:comment('title name'),
# content_name:text:comment('content name'),
# img_file:text:nullable:comment('image file'),
# sort_no:integer:unsigned:default(0):comment('sort number'),
# =========================================== change this


# =========================================== don't change
# s1=$( set_schema | perl -pe 's/\n/,/g'  | perl -pe 's/\s+:/:/g' | perl -pe 's/,$//g' | perl -pe 's/--schema=,/--schema=/g' )
# echo $s1
# Execute Backup
mkdir -p ./___bak/database/migrations/
mkdir -p ./___bak/app/Http/Controllers/
mkdir -p ./___bak/resources/views/
mv ./database/migrations/*create_${s_migration_name}_table.php ./___bak/database/migrations/
mv ./app/Http/Controllers/${s_controller_name}Controller.php  ./___bak/app/Http/Controllers/___`date "+%Y%m%d_%H%M%S"`___${s_controller_name}Controller.php
mv ./resources/views/${s_model_name}/  ./___bak/resources/views/___`date "+%Y%m%d_%H%M%S"`___${s_model_name}/
# =========================================== don't change


# Execute Scaffolding Plus
# =========================================== change this
php artisan scaffoldplus:create ${s_controller_name} --extends="layout" --crud_format="yaml" --no-interaction --schema="name:string:comment('title name'),content_name:text:comment('content name'),img_file:text:nullable:comment('image file'),sort_no:integer:unsigned:default(0):comment('sort number')"
# =========================================== change this


# Move to admin directory
# =========================================== change this
# mv  ./resources/views/${s_model_name}/  ./resources/views/admin/${s_model_name}/
# mv  ./app/Http/Controllers/${s_controller_name}Controller.php  ./app/Http/Controllers/Admin/${s_controller_name}Controller.php
# =========================================== change this

*4. Execute Shell Script

sh scaffold_posts.sh

*5. Execute Migration

php artisan migrate

*6. Add Routes

routes/web.php

use App\Http\Controllers\PostController;

Route::get("posts/dl_delete_submit", [PostController::class,'dl_delete_submit'])->name("posts.dl_delete_submit"); // multiple delete
Route::post("posts/sort_exec_ajax", [PostController::class,'sort_exec_ajax'])->name("posts.sort_exec_ajax"); // sort exec
Route::get("posts/sort", [PostController::class,'sort'])->name("posts.sort"); // sort view
Route::delete("posts/destroy_ajax", [PostController::class,'destroy_ajax'])->name("posts.destroy_ajax"); // ajax delete
Route::get("posts/index_ajax", [PostController::class,'index_ajax'])->name("posts.index_ajax"); // ajax index
Route::get("posts/search", [PostController::class,'search'])->name("posts.search");

Route::resource("posts", PostController::class);

*7. Edit yaml

app/Post.yml

vi app/Post.yml 

add view_add_param_php , input_css_style into sort_no

    sort_no:
        name: sort_no
        view_list_title: 'sort number'
        comment: 'sort number'
        default: null
        view_list_flag: 1
        view_show_flag: 1
        view_add_flag: 1
        view_edit_flag: 1
        view_delete_flag: 1
        editable_flag: 1
        input_type: text
        input_css_style: "width:60px;"	
        view_add_param_php: $p = \App\Post::orderBy('sort_no','DESC')->first(); if($p){return $p->sort_no+1;}else{return 1;}

change img_file , like below

    img_file:
        name: img_file
        view_list_title: 'image file'
        comment: 'image file'
        default: null
        view_list_flag: 1
        view_show_flag: 1
        view_add_flag: 1
        view_edit_flag: 1
        view_delete_flag: 1
        editable_flag: 1
        input_css_style: ''
        input_type          : component_file
        file_store_disk     : public
        file_store_dir      : img_file
        file_store_base_name: img_file_{id}_01
        view_list_php: echo "<img width='128' src='" . $post->_onefile_url('img_file') . "'>";

*8. Create storage link

php artisan storage:link

*9. Access your laravel app

access http://localhost/posts


● Thanks to

laralib/l5scaffold: Scaffold generator for Laravel 5.x

akat03/scaffoldplus 适用场景与选型建议

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

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 445
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-02-05