Laravel系列之CMS系统学习 — 前提碎片、配置
2018-12-02 06:16:02来源:博客园 阅读 ()
一、Homestead准备
上一篇文章已经对它的配置进行了说明,下面对Homestead.yaml进行说明
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.
二、创建项目(以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文件,如下图(改成自己的数据库)
注意哟,此时创建出来的数据库是没有表的,可以执行php artisan migrate(也就是数据迁移,这里不介绍),就会根据dataBases下的各个文件来执行创建数据表了
五、模块化思想
这部分自行百度吧,截至目前我的个人理解是:将代码进行拆分,各司其职,互不干扰,但又可以协同合作
5.1 最最最重要的模块 - Admin
这个模块会有用户的角色和权限管理
别小看这么轻描淡写的一句话,学习的时候还是费了一些工夫的~
六、避免重复造轮子
我不处于一个学习阶段,所以很多功能实现需要依赖很流行的库,或其作者仍旧在维护的库,或经过测试后稳定的库来实现我想要的
所以针对 5.1 的功能 我选择了 后盾人 - 向军大叔 所写的 laravel-module 来完成这个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
目录中。
使用
-
根据需要复制语言包到
resources/lang
目录中。 -
修改
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)
执行php artisan make:seeder XXX就可以创建(名称一般为模型名 + Seeder,比如UserSeeder)
在DatabaseSeeder.php中将UserSeeder进行注册
执行php artisan migrate:refresh --seed进行数据迁移填充
至此,前台告一段落,后期会有补充~
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:tp5 查询单个字段的值
下一篇:PHP匿名函数和闭包
- laravel实现批量更新多条记录的方法示例 2020-02-19
- Laravel中七个非常有用但很少人知道的Carbon方法 2020-02-15
- Laravel如何使用数据库事务及捕获事务失败后的异常详解 2020-02-08
- Laravel 中 “规范” 的开发短信验证码发送功能 2020-02-08
- Laravel中获取路由参数Route Parameters的五种方法示例 2020-02-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash