一、Homestead准备

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

 ---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox authorize: ~/.ssh/id_rsa.pub # 没有pub的是私钥,有pub的公钥
keys:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub # map:本机需要同步的目录
# to:同步到Homestad虚拟主机中的哪个目录
folders:
- map: ~/code
to: /home/vagrant/code
type: nfs # map: 虚拟域名
# to:访问虚拟域名的目录
sites:
- map: homestead.test
to: /home/vagrant/code/public
- map: partTimeCat.com
to: /home/vagrant/code/partTimeCat/public # 执行vagrant up --provision 后生成的数据库
databases:
- homestead
- laravel-cms
- partTimeCat # ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp # blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar # zray:
# If you've already freely registered Z-Ray, you can place the token here.
# - email: foo@bar.com
# token: foo
# Don't forget to ensure that you have 'zray: "true"' for your site.

Homestead.yaml

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

composer create-project --prefer-dist laravel/laravel partTimeCat 5.6.21

三、虚拟域名配置

无论是Mac还是Windows都需要配置hosts文件

192.168.10.10 partTimeCat.com 以我个人为例 要修改的哈~

注意:在进行域名访问的时候最后加上一个/(比如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啦~

切换中文:

  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 文件

 {
"Login": "登录",
"Logout":"退出",
"E-Mail Address": "邮箱",
"Register":"注册",
"Password":"密码",
"Confirm Password":"确认密码",
"Name":"帐号",
"Remember Me":"记住我",
"Forgot Your Password?":"找回密码",
"Reset Password":"重置密码",
"Send Password Reset Link":"发送重置邮件",
"Reset Password Notification":"重置密码通知",
"You are receiving this email because we received a password reset request for your account.":"您收到这封邮件是因为我们收到您的帐户密码重置请求。",
"If you did not request a password reset, no further action is required.":"如果没有要求重新设置密码,则不需要进一步的操作。"
}

注意:在模板中就可以使用 {{__('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)

UserFactory.php

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

UserSeeder.php

在DatabaseSeeder.php中将UserSeeder进行注册

DataBaseSeeder.php

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

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

Laravel系列 Web的更多相关文章

  1. Spring基础系列-Web开发

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9996902.html SpringBoot基础系列-web开发 概述 web开发就是集成 ...

  2. 2016 版 Laravel 系列入门教程

    2016 版 Laravel 系列入门教程 (1) - (5) http://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-ch ...

  3. Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接

      Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接: 推荐给你高品质的实战课程 https://laravel-china.org/courses?rf=158 ...

  4. 2016 版 Laravel 系列入门教程(一)【最适合中国人的 Laravel 教程】

    本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本文基于 Laravel 5.2 版本,无奈 5 ...

  5. Laravel 系列入门教程(一)【最适合中国人的 Laravel 教程】

    热烈庆祝 Laravel 5.5 LTS 发布! 实际上 Laravel 上一个 LTS 选择 5.1 是非常不明智的,因为 5.2 增加了许许多多优秀的特性.现在好了,大家都用最新的长期支持版本 5 ...

  6. Laravel系列 目录结构

    Where Is The Models Directory? app directory by default 其中 app:,core code of your application, almos ...

  7. 2016 版 Laravel 系列入门教程(五)【最适合中国人的 Laravel 教程】

    本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本文是本系列教程的完结篇,我们将一起给 Arti ...

  8. 2016 版 Laravel 系列入门教程(四)【最适合中国人的 Laravel 教程】

    本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本篇文章中,我将跟大家一起实现 Article ...

  9. 2016 版 Laravel 系列入门教程(二)【最适合中国人的 Laravel 教程】

    本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本篇文章中,我将跟宝宝们一起学习 Laravel ...

随机推荐

  1. SQLSERVER 自增列,值突然增大1000

    SQLSERVER 自增列,值突然增大1000https://blog.csdn.net/lichxi1002/article/details/40074247  

  2. ToDictionary写法

    把List集合转化成Dictionary public ActionResult Dimo() { Dictionary<string, Object> param = new Dicti ...

  3. HTML的行内元素与块级元素的区别?

    块级元素:独占一行,其宽度自动填满父元素的宽度,可以容纳行内元素和其他块级元素,可以设置margin和padding值. 行内元素:不会独占一行,与其他行内元素排成一行,直到其父元素拍不下,才会从新一 ...

  4. StackTrack for debug

    System.Diagnostics.Debug.WriteLine("Serial port. {0},{1}", this.GetType().FullName, new Sy ...

  5. Form 头行附件查询

    查询Form的头行附件: SELECT  st.short_text order_short_text, description order_attach_desc, pk1_value order_ ...

  6. Java 笔记 —— java 和 javac

    Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...

  7. python模块详解 sys shutil

    sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sy ...

  8. 古老的pike

    快速略读了一下源码,记了一些东西. 先看看mapping mapping其实就是C++中的multimap,但是支持更多. array values(mapping).这个方法可以返回所有mappin ...

  9. OpenGL学习 Our First OpenGL Program

    This shows you how to create the main window with the book’s application framework and how to render ...

  10. 如何获得C4C里某个code字段对应的描述信息

    通过我这篇文章介绍的方法使用C4C OData服务去取服务订单数据(Sales Order): 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据 https://www.jiansh ...