当前 laravel 界,比较好的一款开源CMS,ModStartCMS,大家围观下吧!

Posted Alan0088

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当前 laravel 界,比较好的一款开源CMS,ModStartCMS,大家围观下吧!相关的知识,希望对你有一定的参考价值。

更新说明

1.2.0

  • 增加README.md说明文档
  • 新增:JS库增加 MS.api.defaultCallback
  • 修复:上传组件大文件上传分片问题

说明

ModStartCMS  是一款基于 Laravel+LayUI 开发的快速后台开发框架。

如果因网络原因无法下载,可通过 下边方式 下载ModStartCMS: 基于Laravel的模块化CMS,模块市场丰富,系统极速开发不二之选https://gitee.com/modstart/ModStartCMS

特性

  • 简洁优雅、灵活可扩展
  • 后台RBAC权限管理
  • Ajax页面无刷新
  • 组件按需加载静态资源
  • 内置丰富的表格常用功能
  • 内置文件上传,无需繁琐的开发
  • 模块市场,只需在管理页面点击鼠标即可完成插件的安装、更新和卸载等操作

技术栈

交流

  • QQ群:467107293
  • 模块开发者QQ群:361233906

加入我们

如果您对这个项目感兴趣,非常欢迎加入项目开发团队,参与这个项目的功能维护与开发。

欢迎任何形式的贡献(包括但不限于以下):

  • 贡献代码
  • 完善文档
  • 撰写教程
  • 完善注释
  • ...

安装

环境要求

安装步骤

  1. 配置 apache/nginx 服务器,请将网站的根目录配置到 <网站目录>/public
  2. 访问 http://www.xxx.com/install.php
  3. 使用安装引导向导进行安装

Nginx参考配置

server {
    listen       80;
    server_name  xx.com;x
    charset utf-8;
    index index.php index.html;
    root /var/www/html/xxx.com/public;
    autoindex off;
    location ^~ /.git {
        deny all;
    }
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \\.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  PHP_VALUE  "open_basedir=/var/www/html/xxx.com/:/tmp/:/var/tmp/";
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ \\.(gif|jpg|jpeg|png|bmp|ico|css|js)$ {
       expires max;
    }
    location ~* \\.(eot|ttf|woff|woff2)$ {
        add_header Access-Control-Allow-Origin '*';
    }
}
 

Apache参考配置

<VirtualHost *:80>
      ServerName xxx.com
      DocumentRoot d:/wwwroot/xxx.com/public
</VirtualHost>

集成环境

  • 宝塔一键安装教程:待完善
  • PHPStudy意见安装教程:待完善

环境预检

为方便系统环境快速配置,我们提供了服务器端安装环境预检程序。使用方式如下:

  1. 通过连接下载文件 https://modstart.com/env_check.zip ,解压出 env_check.php 文件。
  2. 将 env_check.php 文件上传到服务器空间,配置通过访问 http://www.xxx.com/env_check.php 来查看安装环境是否配置成功,如果环境预检成功,可以看到如下提示。

升级指南

在升级前,请备份好系统的源代码、数据等信息,按照如下步骤进行操作。

  1. 获取最新的 ModStart 源代码包
  2. 全量覆盖所有的源代码
  3. 使用命令行进入到系统的根路径,运行 php artisan migrate,重新构建 public/asset 目录和所有基础服务代码;
  4. 使用命令行进入到系统的根路径,运行 php artisan modstart:module-install-all,重新构建 public/vendor 目录和所有扩展包代码。

快速开始

在日常开发中,最常见的即是增删改查代码,使用ModStart开发此类功能,会变得非常简单。

下面将会给大家介绍 ModStart 的使用方法,以及一个增删改查页面的基本构成。通过学习下面的内容将可以帮助大家快速理解这个系统的基本使用方法。

创建数据表

在Laravel的迁移目录创建数据库迁移文件

class CreateNews extends Migration
{
    public function up()
    {
            Schema::create('news', function (Blueprint $table) {
                $table->increments('id');
                $table->timestamps();
                $table->string('title', 200)->nullable()->comment('');
                $table->string('cover', 200)->nullable()->comment('');
                $table->string('summary', 200)->nullable()->comment('');
                $table->text('content')->nullable()->comment('');
            });
        }
    }
    public function down()
    {
    }
}

创建控制器

增加路由控制器代码,同时按照

class NewsController extends Controller
{
    use HasAdminQuickCRUD;
    protected function crud(AdminCRUDBuilder $builder)
    {
        $builder
            ->init('news')
            ->field(function ($builder) {
                $builder->id('id','ID');
                $builder->text('title', '名称');
                $builder->image('cover', '封面');
                $builder->textarea('summary', '摘要');
                $builder->richHtml('content', '内容');
                $builder->display('created_at', '创建时间');
                $builder->display('updated_at', '更新时间');
            })
            ->gridFilter(function (GridFilter $filter) {
                $filter->eq('id', 'ID');
                $filter->like('title', '标题');
            })
            ->title('新闻管理');
    }
}

增加路由和导航

在 routes.php 增加路由信息

$router->match(['get', 'post'], 'news/news', 'NewsController@index');
$router->match(['get', 'post'], 'news/news/add', 'NewsController@add');
$router->match(['get', 'post'], 'news/news/edit', 'NewsController@edit');
$router->match(['get', 'post'], 'news/news/delete', 'NewsController@delete');
$router->match(['get', 'post'], 'news/news/show', 'NewsController@show');

在 ModuleServiceProvider.php 中注册菜单信息

AdminMenu::register(function () {
  return [
    [
      'title' => '新闻管理',
      'icon' => 'list',
      'sort' => 150,
      'url' => '\\App\\Admin\\Controller\\NewsController@index',
    ]
  ];
});

开发完成

这样一个简单的增删改查页面就开发完成了

开发前必读

开发前的配置

开发环境请打开 debug 模式(即在 .env 文件中设置 APP_DEBUG=true )

公共样式

ModStart 使用了一些基础样式对页面进行布局,既简单又强大,开始开发前需要对此有所了解。

公共样式对编写页面组件非常有帮助,能显著提高开发效率,建议编写组件前先查阅一遍文档。

LICENSE

Apache 2.0

以上是关于当前 laravel 界,比较好的一款开源CMS,ModStartCMS,大家围观下吧!的主要内容,如果未能解决你的问题,请参考以下文章

laravel 框架写的开源的cms系统

Laravel+Layui实现的CMS内容发布系统

基于Laravel9+Vue+ElementUI框架的CMS内容发布系统

国外比较好的几个的Php开源建站平台小结

laravel 框架 开源的cms推荐

基于PHP语言Laravel9+Layui实现的CMS内容发布系统