欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Laravel系列之CMS系统学习 — 前提碎片、配置

程序员文章站 2022-04-14 20:20:51
一、Homestead准备 上一篇文章已经对它的配置进行了说明,下面对Homestead.yaml进行说明 1 2 ip: "192.168.10.10" 3 memory: 2048 4 cpus: 1 5 provider: virtualbox 6 7 authorize: ~/.ssh/id ......

一、homestead准备

  上一篇文章已经对它的配置进行了说明,下面对homestead.yaml进行说明

Laravel系列之CMS系统学习 — 前提碎片、配置
 1 ---
 2 ip: "192.168.10.10"
 3 memory: 2048
 4 cpus: 1
 5 provider: virtualbox
 6 
 7 authorize: ~/.ssh/id_rsa.pub
 8 
 9 # 没有pub的是私钥,有pub的公钥
10 keys:
11      - ~/.ssh/id_rsa
12      - ~/.ssh/id_rsa.pub
13 
14 # map:本机需要同步的目录
15 # to:同步到homestad虚拟主机中的哪个目录
16 folders:
17     - map: ~/code
18       to: /home/vagrant/code
19       type: nfs
20 
21 # map: 虚拟域名
22 # to:访问虚拟域名的目录
23 sites:
24     - map: homestead.test
25       to: /home/vagrant/code/public
26     - map: parttimecat.com
27       to: /home/vagrant/code/parttimecat/public
28 
29 # 执行vagrant up --provision 后生成的数据库
30 databases:
31     - homestead
32     - laravel-cms
33     - parttimecat
34 
35 # ports:
36 #     - send: 50000
37 #       to: 5000
38 #     - send: 7777
39 #       to: 777
40 #       protocol: udp
41 
42 # blackfire:
43 #     - id: foo
44 #       token: bar
45 #       client-id: foo
46 #       client-token: bar
47 
48 # zray:
49 #  if you've already freely registered z-ray, you can place the token here.
50 #     - email: foo@bar.com
51 #       token: foo
52 #  don't forget to ensure that you have 'zray: "true"' for your site.
homestead.yaml

二、创建项目(以laravel 5.6.21 来进行创建)

   1 composer create-project --prefer-dist laravel/laravel parttimecat 5.6.21 

三、虚拟域名配置

  无论是mac还是windows都需要配置hosts文件

  1 192.168.10.10 parttimecat.com 2 以我个人为例 要修改的哈~ 

  注意:在进行域名访问的时候最后加上一个/(比如parttimecat.com/),防止跳到某度去~

四、数据库配置

  账号:homestead 密码:secret

  只有一个区别,当主机名是192.168.10.10的时候,端口是3306;当主机名是127.0.0.1的时候,端口是33060

  记得修改项目中的.env文件,如下图(改成自己的数据库)

  Laravel系列之CMS系统学习 — 前提碎片、配置

  注意哟,此时创建出来的数据库是没有表的,可以执行php artisan migrate(也就是数据迁移,这里不介绍),就会根据databases下的各个文件来执行创建数据表了

五、模块化思想

  这部分自行百度吧,截至目前我的个人理解是:将代码进行拆分,各司其职,互不干扰,但又可以协同合作

  5.1 最最最重要的模块 - admin

  这个模块会有用户的角色和权限管理

  别小看这么轻描淡写的一句话,学习的时候还是费了一些工夫的~

六、避免重复造*

  我不处于一个学习阶段,所以很多功能实现需要依赖很流行的库,或其作者仍旧在维护的库,或经过测试后稳定的库来实现我想要的

  所以针对 5.1 的功能 我选择了 所写的 来完成这个cms系统(具体如何配置参考)

七、利用laravel特性快速实现前台的登陆、注册

  执行php artisan make:auth命令 会生成一些文件

  --> 根目录下的resources下的auth文件夹、layouts文件夹、home.blade.php文件(也就是view视图)

  --> app/http/controllers下的auth文件夹(也就是controller控制器)

  --> 根目录下的routes/web.php(也就是route路由)

  访问parttime.com/home会发现有了英文版的login和register啦~

  切换中文:

 1 composer require caouecs/laravel-lang:~3.0 

    注意:包含大多数语言,语言包位于vendor/caouecs/larvel-lang/src 目录中。

      使用

  1. 根据需要复制语言包到 resources/lang 目录中。

  2. 修改 config/app.php 配置文件

    'locale' => 'zh-cn',

    json语言包

      在 resources/lang 目录下定义 zh-cn.json 文件

 1 { 
 2     "login": "登录", 
 3     "logout":"退出", 
 4     "e-mail address": "邮箱", 
 5     "register":"注册", 
 6     "password":"密码", 
 7     "confirm password":"确认密码", 
 8     "name":"帐号",
 9      "remember me":"记住我", 
10     "forgot your password?":"找回密码", 
11     "reset password":"重置密码", 
12     "send password reset link":"发送重置邮件", 
13     "reset password notification":"重置密码通知", 
14     "you are receiving this email because we received a password reset request for your account.":"您收到这封邮件是因为我们收到您的帐户密码重置请求。", 
15     "if you did not request a password reset, no further action is required.":"如果没有要求重新设置密码,则不需要进一步的操作。"
16  }

    注意:在模板中就可以使用 {{__('xxx')}} 调用了,laravel 默认的模板大量使用了 json 语言包

八、webpack编译环境

  报错:域名访问错误 提示the mix mainfest... 就说明这玩意儿没配置好~

  原因:在blade模板文件中js文件的加载方式是mix()函数

  解决思路:

    1. 执行npm install(或者cnpm i   这个是淘宝镜像)

    2. 执行npm run watch(之后,在public文件夹下会产生一个mix-mainfest.json文件)

    3. 这个json文件就是来解析mix()函数的,搞定~

    4. 初次接触你会发现内容中尽然是一样的,千万别觉得多此一举,这样做的目的是版本控制(意思就是,当你修改了页面代码之后,访问者因为浏览器的静态缓存是你之前的页面样式,当在这个文件中加上版本号的话,就不会出现这种情况)

九、数据填充

  测试总得有数据,laravel的工厂很好的实现了这个需求~

  步骤如下:

    执行php artisan make:factory xxx就可以创建(名称一般为模型名 + factory,比如userfactory)

Laravel系列之CMS系统学习 — 前提碎片、配置userfactory.php

    执行php artisan make:seeder xxx就可以创建(名称一般为模型名 + seeder,比如userseeder)

Laravel系列之CMS系统学习 — 前提碎片、配置userseeder.php

    在databaseseeder.php中将userseeder进行注册

Laravel系列之CMS系统学习 — 前提碎片、配置databaseseeder.php

    执行php artisan migrate:refresh --seed进行数据迁移填充

至此,前台告一段落,后期会有补充~