Laravel框架实战项目Blog

文章分类

  • 后台文章分类列表页模板导的详细步骤
    • 建立数据表blog_category,并添加相应的文章字段
    • 使用php artisan make:model Category命令,创建Category.php模型文件,并编写对应的属性代码
    • Admin文件下使用php artisan make:controller CategoryController命令创建基于CommonControllerCategoryController控制器
    • 在路由文件routes.php中配置文章分类的资源路由,代码如下
    // 文章分类路由
    Route::resource('category', 'CategoryController');
    
    • 使用php artisan route:list命令找到对文章分类进行CRUD的方法,写到CategoryController控制器中,具体方法代码如下
    //get.admin/category  全部分类列表
    public function index()
    {
        $categorys = Category::all();
        return view('admin.category.index')->with('data',$categorys);
    }
    
    //post.admin/category
    public function store()
    {
    
    }
    
    //get.admin/category/create   添加分类
    public function create()
    {
    
    }
    
    //get.admin/category/{category}  显示单个分类信息
    public function show()
    {
    
    }
    
    //delete.admin/category/{category}   删除单个分类
    public function destroy()
    {
    
    }
    
    //put.admin/category/{category}    更新分类
    public function update()
    {
    
    }
    
    //get.admin/category/{category}/edit  编辑分类
    public function edit()
    {
    
    }
    
    • 将视图模板中的list.html拷贝到admin下新建的文件category下,并重新命名为index.blade.php,并利用admin.blade.php重新调整代码结构
  • 基本信息展示的详细步骤
    • index.blade.php中修改导航栏的链接为首页 » 全部分类
    • 根据控制器中传过来的数据调整
      标签的内容和格式,具体代码如下:
    
    
        @foreach($data as $v)
        
        @endforeach
    
    排序 ID 分类名称 标题 查看次数 操作
    {{$v->cate_id}} {{$v->cate_name}} {{$v->cate_title}} {{$v->cate_view}} 修改 删除
  • 后台文章分类页多级分类列表的详细步骤
    • 给数据表blog_category,添加相应的二级分类字段
    • Category.php模型文件中添加如下方法
    /*
     * 获取分类列表数据
     */
    public function tree()
    {
        $categorys = $this->all();
        return $this->getTree($categorys,'cate_name','cate_id','cate_pid');
    }
    
    /*
     * 获取多级分类列表的数据
     */
    public function getTree($data,$field_name,$field_id='id',$field_pid='pid',$pid=0)
    {
        $arr = array();
        foreach ($data as $k=>$v) {
            if ($v->$field_pid == $pid) {
                $data[$k]["_".$field_name] = $data[$k][$field_name];
                $arr[] = $data[$k];
                foreach ($data as $m=>$n) {
                    if ($n->$field_pid == $v->$field_id) {
                        $data[$m]["_".$field_name] = '├─ '.$data[$m][$field_name];
                        $arr[] = $data[$m];
                    }
                }
            }
        }
        return $arr;
    }
    
    • CategoryController.php文件中修改全部分类的方法index,具体代码如下
    //get.admin/category  全部分类列表
    public function index()
    {
        $categorys = (new Category)->tree();
        return view('admin.category.index')->with('data',$categorys);
    }
    
    • 将视图模板下的admin下的category下的index.blade.php中的展示分类名称的行改为
    
        {{$v->_cate_name}}
    
    
  • 后台文章分类页Ajax异步修改分类排序的详细步骤
    • 在路由文件routes.php中配置修改文章分类排序的路由,代码如下
    // 修改文章分类排序路由
    Route::post('cate/changeorder', 'CategoryController@changeOrder');
    
    • CategoryController.php文件中编写修改文章分类排序的方法changeOrder,具体代码如下
    // 修改文章分类排序
    public function changeOrder()
    {
        $input = Input::all();
        $cate = Category::find($input['cate_id']);
        $cate->cate_order = $input['cate_order'];
        $res = $cate->update();
        if ($res) {
            $data = [
                'status' => 0,
                'msg' => '分类排序更新成功!',
            ];
        } else {
            $data = [
                'status' => 1,
                'msg' => '分类排序更新失败,请稍后重试!',
            ];
        }
        return $data;
    }
    
    • layer文件拷贝到resources下的org
    • layer文件下的layer.js引入到视图模板views下的layouts下的公共php文件admin.blade.php中,具体代码如下
    
    
    • 将视图模板下的admin下的category下的index.blade.php中的展示分类排序的行改为
    
        
    
    
    • 在视图模板下的admin下的category下的index.blade.php中添加如下js代码

    * 在`Category.php`模型文件中修改获取分类列表数据的方法(按照排序的升序进行获取数据),具体代码如下objc
    /*
    * 获取分类列表数据
    */
    public function tree()
    {
    $categorys = $this->orderBy('cate_order','asc')->get();
    return $this->getTree($categorys,'cate_name','cate_id','cate_pid');
    }
    ```

    • 后台文章分类添加模板分配的详细步骤
      • 将视图模板中的add.html拷贝到category下并修改名称为add.blade.php,并利用admin.blade.php重新调整代码结构
      • 根据数据库中blog_category表的字段设计页面
        的内容
      • 修改导航栏的链接
      • CategoryController.phpcreate方法中返回add.blade.php视图
    • 后台文章父级分类嵌入的详细步骤
      • 修改CategoryController.phpcreate方法,具体代码如下
      //get.admin/category/create   添加分类
      public function create()
      {
          $data = Category::where('cate_pid',0)->get();
          return view('admin.category.add',compact('data'));
      }
      
      • 编写CategoryController.phpstore方法,具体代码如下
      //post.admin/category   添加分类提交
      public function store()
      {
          $input = Input::all();
          dd($input);
      }
      
      • add.blade.php文件中修改父级分类选项的代码,具体如下
      
      
    • 后台文章分类添加数据Validation验证的详细步骤
      • CategoryController.php文件中的添加分类提交的方法store中,进行后台文章分类添加数据Validation验证,具体代码如下
      //post.admin/category   添加分类提交
      public function store()
      {
          $input = Input::except('_token');
          $rules = [
              'cate_name' => 'required',
          ];
          $message = [
              'cate_name.required' => '分类名称不能为空!',
          ];
      
          // 表单输入验证
          $validator = Validator::make($input,$rules,$message);
      
          if ($validator->passes()) {
              return redirect('admin/category');
          } else {
              return back()->withErrors($validator);
          }
      }
      
      • add.blade.php文件写上验证错误信息提示的代码,具体如下
    • 后台文章分类编辑的详细步骤
      • CategoryController.php文件中编写edit方法,具体代码如下
      //get.admin/category/{category}/edit  编辑分类
      public function edit($cate_id)
      {
          $field = Category::find($cate_id);
          $data = Category::where('cate_pid',0)->get();
          return view('admin.category.edit',compact('field','data'));
      }
      
      • 拷贝add.blade.php到当前文件并修改名称为edit.blade.php,并修改编辑选项的value
      • 修改edit.blade.php文件中的顶级分类代码如下
    
    
    * 修改`category`下的`index.blade.php`中的修改选项的链接为`修改`
    
    • 后台文章分类模拟PUT方法提交表单的象征步骤
      • CategoryController.php文件中编写update方法,具体代码如下
      //put.admin/category/{category}    更新分类
      public function update($cate_id)
      {
          $input = Input::except('_token','_method');
          $re = Category::where('cate_id',$cate_id)->update($input);
          if($re){
              return redirect('admin/category');
          }else{
              return back()->with('errors','分类信息更新失败,请稍后重试!');
          }
      }
      
      • edit.blade.php文件中的
        标签中添加如下代码
      
      {{csrf_field()}}
      
    • 后台文章分类删除及Ajax异步模拟DELETE方法的详细步骤
      • CategoryController.phpdestory方法中添加如下代码
      //delete.admin/category/{category}   删除单个分类
      public function destroy($cate_id)
      {
          $res = Category::where('cate_id',$cate_id)->delete();
      
          // 删除顶级分类时,底下的分类变成顶级分类
          Category::where('cate_pid',$cate_id)->update(['cate_pid'=>0]);
      
          if ($res) {
              $data = [
                  'status' => 0,
                  'msg' => '分类删除成功!',
              ];
          } else {
              $data = [
                  'status' => 1,
                  'msg' => '分类删除失败,请稍后重试!',
              ];
          }
          return $data;
      }
      
      • category下的index.blade.php文件中修改删除的链接为删除,并添加删除分类的JS代码,具体代码如下
      // 删除分类
      function delCate(cate_id) {
          layer.confirm('您确定要删除这个分类吗?', {
              btn:['确定', '取消']
          }, function(){
              $.post("{{url('admin/category')}}/"+cate_id,{'_method':'delete','_token':"{{csrf_token()}}"}, function (data) {
                  if(data.status == 0) {
                      location.href = location.href;
                      layer.msg(data.msg, {icon:6});
                  } else {
                      layer.msg(data.msg, {icon:5});
                  }
              })
          });
      }
      
      • 修改category下的各个文件的页面布局

    文章

    • 数据库文章表的创建及添加文章模板导入的详细步骤
      • 新建数据表blog_article
      • 使用命令php artisan make:controller ArticleController创建文章控制器
      • route.php文件中配置文章的资源路由,具体代码如下
      // 文章资源路由
      Route::resource('article', 'ArticleController');
      
      • ArticleController控制器中添加全部文章列表index方法,具体代码如下
      //get.admin/article  全部文章列表
      public function index()
      {
          echo '全部文章列表';
      }
      
      • resources下的views下的admin下新建文件article,并拷贝category下的add.blade.php到该文件下,做文字显示的修改工作
      • ArticleController控制器中添加文章create方法,具体代码如下
      //get.admin/article  全部文章列表
      //get.admin/article/create   添加文章
      public function create()
      {
          $data = [];
          return view('admin.article.add',compact('data'));
      }
      
    • 后台文章添加及百度编辑器Ueditor嵌入的详细步骤
      • 将下载好的编辑器的文件夹拷贝到resources下的org下,并重新命名为ueditor
      • 修改resources下的views下的admin下的article下的add.blade.php文件中的
        里面的代码,具体代码如下
      分类:
      * 文章标题:
      编辑:
      缩略图:
      关键词:
      描述:
      文章内容:
      • 在数据表blog_article中添加cate_id文章分类字段
      • ArticleController控制器中修改添加文章create方法,具体代码如下
      //get.admin/article/create   添加文章
      public function create()
      {
          $data = (new Category)->tree();
          return view('admin.article.add',compact('data'));
      }
      
    • 后台文章添加缩略图上传之uploadify插件引入的详细步骤
      • 将下载好的uploadify插件的文件夹拷贝到resources下的org
      • 修改resources下的views下的admin下的article下的add.blade.php文件中的缩略图部分的代码,具体代码如下
      缩略图:
          
              
              
              
              
              
              
          
      
    • 后台文章添加缩略图上传之文件存储的详步骤
      • 修改commonController.php中的upload方法,具体代码如下
      //图片上传
      public function upload()
      {
          $file = Input::file('Filedata');
          if ($file -> isValid()) {
              $entension = $file -> getClientOriginalExtension();
              // 上传文件的后缀
              $newName = date('YmdHis').mt_rand(100,999).'.'.$entension;
              // 上传文件的路径
              $path = $file -> move(base_path().'/uploads',$newName);
              $filepath = 'uploads/'.$newName;
              return $filepath;
          }
      }
      
      • 修改resources下的views下的admin下的article下的add.blade.php文件中的缩略图部分的代码,具体代码如下
      
          缩略图:
          
              
              
              
              
              
              
          
      
      
    • 后台文章添加数据及Validation验证的详细步骤
      • 使用命令php artisan make:mode Article创建文章模型
      • 修改文章模型的命名空间并添加相应的属性
      • ArticleController.php文章控制器中添加添加文章提交的方法store,具体代码如下
      //post.admin/article  添加文章提交
      public function store()
      {
          $input = Input::except('_token');
          $input['art_time'] = time();
      
          $rules = [
              'art_title'=>'required',
              'art_content'=>'required',
          ];
      
          $message = [
              'art_title.required'=>'文章名称不能为空!',
              'art_content.required'=>'文章内容不能为空!',
          ];
      
          $validator = Validator::make($input,$rules,$message);
      
          if($validator->passes()){
              $re = Article::create($input);
              if($re){
                  return redirect('admin/article');
              }else{
                  return back()->with('errors','数据填充失败,请稍后重试!');
              }
          }else{
              return back()->withErrors($validator);
          }
      }
      
    • 后台文章页列表展示及分页功能实现的详细步骤
      • ArticleController.php文章控制器中修改全部文章列表的方法index,具体代码如下
      //get.admin/article  全部文章列表
      public function index()
      {
          $data = Article::orderBy('art_id','desc')->paginate(1);
          return view('admin.article.index',compact('data'));
      }
      
      • 将视图模板中的list.html拷贝到article下并重新命名为为index.blade.php,并利用admin.blade.php重新调整代码结构,其中form表单中和样式布局的具体代码如下

      文章列表

      @foreach($data as $v) @endforeach
      ID 标题 点击 编辑 发布时间 操作
      {{$v->art_id}} {{$v->art_title}} {{$v->art_view}} {{$v->art_editor}} {{date('Y-m-d',$v->art_time)}} 修改 删除
      {{$data->links()}}
    • 后台文章编辑的详细步骤
      • ArticleController.php文章控制器中添加编辑文章列表的方法edit,具体代码如下
      //get.admin/article/{article}/edit  编辑文章
      public function edit($art_id)
      {
          $data = (new Category)->tree();
          $field = Article::find($art_id);
          return view('admin.article.edit',compact('data','field'));
      }
      
      • 拷贝视图模板article下的add.blade.php并重新命名为为edit.blade.php,并利用admin.blade.php重新调整代码结构,其中form表单中和样式布局的具体代码如下
      {{csrf_field()}}












              
      分类:
      * 文章标题:
      编辑:
      缩略图:



      关键词:

      描述:

      文章内容:
      ``` * 将视图模板`article`下的`index.blade.php`中修改的链接改为`修改` * 在`ArticleController.php`文章控制器中添加编辑文章列表的方法`update`,具体代码如下 ```objc //put.admin/article/{article} 更新文章 public function update($art_id) { $input = Input::except('_token','_method'); $re = Article::where('art_id',$art_id)->update($input); if($re){ return redirect('admin/article'); }else{ return back()->with('errors','文章更新失败,请稍后重试!'); } } ```
      • 后台文章删除的详细步骤
        • ArticleController.php文章控制器中添加编辑文章列表的方法destroy,具体代码如下
        //delete.admin/article/{article}   删除单个文章
        public function destroy($art_id)
        {
            $re = Article::where('art_id',$art_id)->delete();
            if($re){
                $data = [
                    'status' => 0,
                    'msg' => '文章删除成功!',
                ];
            }else{
                $data = [
                    'status' => 1,
                    'msg' => '文章删除失败,请稍后重试!',
                ];
            }
            return $data;
        }
        
        • 在视图模板article下的index.blade.php添加删除确认的弹框,具体代码如下
        
        ```
        * 将视图模板`article`下的`index.blade.php`中删除的链接改为`删除`
        * 修改视图模板`style`下的`index.blade.php`中左侧列表,具体代码如下
        ```objc
        
        ```
        

        友情链接模块

        • 友情链接模块使用Migrations数据迁移创建数据表的详细步骤
          • 使用命令php artisan make:migration create_links_table创建数据库迁移文件
          • 数据库迁移文件中的代码如下所示
          public function up()
          {
              Schema::create('links', function (Blueprint $table) {
                  $table->engine = 'MyISAM';
                  $table->increments('link_id');
                  $table->string('link_name')->default('')->comment('//名称');
                  $table->string('link_title')->default('')->comment('//标题');
                  $table->string('link_url')->default('')->comment('//链接');
                  $table->integer('link_order')->default('')->comment('//排序');
              });
          }
          
          public function down()
          {
              Schema::drop('links');
          }
          
          • 使用命令php artisan migrate执行创建数据库迁移文件
        • 友情链接模块使用Seeding填充测试数据的详细步骤
          • 使用php artisan make:seeder LinksTableSeeder命令创建种子文件
          • php artisan make:seeder LinksTableSeeder文件中添加如下代码
          public function run()
          {
              $data = [
                  [
                      'link_name' => '后盾网',
                      'link_title' => '国内口碑最好',
                      'link_url' => 'http://www.houdunwang.com',
                      'link_order' => 1,
                  ],
                  [
                      'link_name' => '后盾论坛',
                      'link_title' => '人人做后盾',
                      'link_url' => 'http://bbs.houdunwang.com',
                      'link_order' => 2,
                  ]
          
              ];
              DB::table('links')->insert($data);
          }
          
          • DatabaseSeeder.php中修改代码,具体如下
          public function run()
          {
               $this->call(LinksTableSeeder::class);
          }
          
          • 使用php artisan db:seed命令执行种子文件,填充测试数据
        • 友情链接模块列表页面展示的详细步骤
          • routes.php中配置友情链接的资源路由,具体代码是Route::resource('links', 'LinksController');
          • 使用命令php artisan make:controller LinksController创建友情链接控制器
          • 使用命令php artisan make:mode Links创建友情链接模型
          • LinksController.php文章控制器中添加全部友情链接列表的方法index,具体代码如下
          //get.admin/links  全部友情链接列表
          public function index()
          {
              $data = Links::orderBy('link_order','asc')->get();
              return view('admin.links.index',compact('data'));
          }
          
          • 拷贝resources文件下的views下的category到当前文件并重新命名为links
          • 修改links下的index.blade.php文件中的代码
        • 友情链接模块Ajax异步修改排序的详细步骤
          • routes.php中配置修改友情链接排序的路由,具体代码是Route::post('links/changeorder', 'LinksController@changeOrder');
          • LinksController.php文章控制器中添加修改友情链接排序的方法changeOrder,具体代码如下
          public function changeOrder()
          {
              $input = Input::all();
              $links = Links::find($input['link_id']);
              $links->link_order = $input['link_order'];
              $re = $links->update();
              if($re){
                  $data = [
                      'status' => 0,
                      'msg' => '友情链接排序更新成功!',
                  ];
              }else{
                  $data = [
                      'status' => 1,
                      'msg' => '友情链接排序更新失败,请稍后重试!',
                  ];
              }
              return $data;
          }
          
          • LinksController.php文章控制器中添加修改友情链接排序的方法show,具体代码如下
          //get.admin/category/{category}  显示单个分类信息
          public function show()
          {
          
          }
          
          • 修改links下的index.blade.php文件中的代码
        • 友情链接模块之友情链接添加的详细步骤
          • LinksController.php文章控制器中添加全部友情链接列表的方法create,具体代码如下
          //get.admin/links/create   添加友情链接
          public function create()
          {
              return view('admin.links.add');
          }
          
          • 修改links下的add.blade.php文件中的代码
          • LinksController.php文章控制器中添加全部友情链接列表的方法store,具体代码如下
          //post.admin/links   添加友情链接提交
          public function store()
          {
              $input = Input::except('_token');
              $rules = [
                  'link_name'=>'required',
                  'link_url'=>'required',
              ];
          
              $message = [
                  'link_name.required'=>'友情链接名称不能为空!',
                  'link_url.required'=>'友情链接URL不能为空!',
              ];
          
              $validator = Validator::make($input,$rules,$message);
          
              if($validator->passes()){
                  $re = Links::create($input);
                  if($re){
                      return redirect('admin/links');
                  }else{
                      return back()->with('errors','友情链接失败,请稍后重试!');
                  }
              }else{
                  return back()->withErrors($validator);
              }
          }
          
        • 友情链接模块之友情链接修改的详细步骤
          • LinksController.php友情链接控制器中添加全部友情链接列表的方法edit,具体代码如下
          //get.admin/links/{links}/edit  编辑友情链接
          public function edit($link_id)
          {
              $field = Links::find($link_id);
              return view('admin.links.edit',compact('field'));
          }
          
          • 修改links下的edit.blade.php文件中的代码
          • LinksController.php友情链接控制器中添加全部友情链接列表的方法destroy,具体代码如下
          //delete.admin/links/{links}   删除友情链接
          public function destroy($link_id)
          {
              $re = Links::where('link_id',$link_id)->delete();
              if($re){
                  $data = [
                      'status' => 0,
                      'msg' => '友情链接删除成功!',
                  ];
              }else{
                  $data = [
                      'status' => 1,
                      'msg' => '友情链接删除失败,请稍后重试!',
                  ];
              }
              return $data;
          }
          
          • links下的index.blade.php文件中添加如下的代码
          //删除友情链接
              function delLinks(link_id) {
                  layer.confirm('您确定要删除这个链接吗?', {
                      btn: ['确定','取消'] //按钮
                  }, function(){
                      $.post("{{url('admin/links/')}}/"+link_id,{'_method':'delete','_token':"{{csrf_token()}}"},function (data) {
                          if(data.status==0){
                              location.href = location.href;
                              layer.msg(data.msg, {icon: 6});
                          }else{
                              layer.msg(data.msg, {icon: 5});
                          }
                      });
          

        // layer.msg('的确很重要', {icon: 1});
        }, function(){

                });
            }
        ```
        

        自定义导航模块

        • 在友情链接模块基础上完成自定义导航模块的详细步骤
          • 创建数据表blog_liks
          • 分别在对应的控制器,模型和视图文件下进行拷贝,并做相应的修改

        网站配置模块

        • 数据表创建
          • 创建数据表名为blog_config,并添加相应的数据表字段
        • 添加网站配置项
          • route.php文件中配置网站配置的资源路由
          // 网站配置的资源路由
          Route::resource('config', 'ConfigController');
          
          • 拷贝LinksController.php友情链接控制器到当前文件内并重新命名为ConfigController.php,并修改网站配置控制器中的代码
          • 拷贝Links.php友情链接模型到当前文件内并重新命名为Config.php,并修改网站配置模型中的代码
          • 拷贝resources下的views下的links友情链接到当前文件内并重新命名为config
          • 修改resources下的views下的config文件下的add.blade.php中的代码
        • 网站配置项列表以及异步修改排序
          • 修改resources下的views下的config文件下的index.blade.php中的代码
          • route.php文件中配置网站配置的资源路由
          // 修改网站配置排序路由
          Route::post('config/changeorder', 'ConfigController@changeOrder');
          
        • 网站配置项修改
          • 修改resources下的views下的config文件下的edit.blade.php中的代码
        • 网站配置值分类类型显示
          • 修改ConfigController.php项目配置控制器的全部配置列表方法index,具体代码如下
          //get.admin/config  全部配置项列表
          public function index()
          {
              $data = Config::orderBy('conf_order','asc')->get();
              foreach ($data as $k=>$v){
                  switch ($v->field_type){
                      case 'input':
                          $data[$k]->_html = '';
                          break;
                      case 'textarea':
                          $data[$k]->_html = '';
                          break;
                      case 'radio':
                          //1|开启,0|关闭
                          $arr = explode(',',$v->field_value);
                          $str = '';
                          foreach($arr as $m=>$n){
                              //1|开启
                              $r = explode('|',$n);
                              $c = $v->conf_content==$r[0]?' checked ':'';
                              $str .= ''.$r[1].' ';
                          }
                          $data[$k]->_html = $str;
                          break;
                  }
          
              }
              return view('admin.config.index',compact('data'));
          }
          
          • 修改resources下的views下的config文件下的index.blade.php中的代码,增加配置内容的显示项,在
            标签中添加如下代码
          
              {!! $v->_html !!}
          
          
        • 网站配置值修改
          • 修改resources下的views下的config文件下的index.blade.php中的代码,添加form表单和提交按钮
          • route.php文件中配置网站配置内容路由
          // 修改网站配置内容路由
          Route::post('config/changecontent', 'ConfigController@changeContent');
          
          • ConfigController.php项目配置控制器添加修改网站配置内容的方法changeContent,具体代码如下
          public function changeContent()
          {
              $input = Input::all();
              foreach($input['conf_id'] as $k=>$v){
                  Config::where('conf_id',$v)->update(['conf_content'=>$input['conf_content'][$k]]);
              }
              $this->putFile();
              return back()->with('errors','配置项更新成功!');
          }
          
          • 修改ConfigController.php项目配置控制器中全部配置项列表的方法index,将name="conf_content"改为name="conf_content[]"
          • 修改resources下的views下的config文件下的index.blade.php中的代码,在显示网站配置内容的地方加上如下代码
        • 生成网站配置项文件
          • 修改ConfigController.php项目配置控制器中添加生成配置文件的方法putFile,具体代码如下
          // 生成配置文件
          public function putFile()
          {
              $config = Config::pluck('conf_content','conf_name')->all();
              $path = base_path().'/config/web.php';
              $str = '
          • route.php文件中配置生成配置文路由
          // 生成配置文件的路由
          Route::get('config/putfile', 'ConfigController@putFile');
          
          • ConfigController.php项目配置控制器中的方法changeContentdestroyupdate方法中加上代码$this->putFile();
          • 修改resources下的views下的style文件下的index.blade.php中的代码如下
        • 网站配置

你可能感兴趣的:(Laravel框架实战项目Blog)