一、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. DataGridView进度条列 C# WinForm

    先看看效果,如果感兴趣,继续往下看…… 效果如下图所示: DataGridView里没有Pragress列,但有Image列,有了它我们可以自己绘图来实现进度条.其实实现起来并不困难. 首先在实体类增 ...

  2. Hibernate系列4-----之删除

    1.和它的增改查兄弟不同,多了个until包定义了HibernateUntil类,让我们来一起看看吧 public class HibernateUntil { private static Conf ...

  3. IDEA学习中的参考资料

    下载安装破解:https://www.cnblogs.com/wang1024/p/7485758.html FIntelliJ-IDEA13基础教程: http://static.runoob.co ...

  4. CentOS 6.5下安装Tomcat --专业增强版 非yum

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  5. SublimeText插件cssrem : px转换为rem

    步骤: 下载插件: https://github.com/flashlizi/cssrem 安装插件: 打开:Sublime Text 点击: Preferences 选择: Browse Packa ...

  6. 在线图片转base64

    function ImgToBase64(url, callback, outputFormat) { // outputFormat 用于指定输出格式的,遵循 MIME 标准 var canvas ...

  7. 如何将Twitter的内容导入到SAP CRM和C4C

    Twitter的内容导入SAP CRM Interaction Center呼叫中心 具体步骤查看我的博客Twitter(also Facebook) is official integrated i ...

  8. QT学习之QString的arg方法

    在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(只是有点类似). 在QT5的帮助文档中,可以看出以下几点: 使用arg(str1, str2, str3)这种方法进行替 ...

  9. 1.1 NBU基本概念

    1.1 NBU基本概念 1) Policy(备份策略) 备份策略定义一台或几台服务器的备份方法.它包括哪些服务器需要备份.备份哪些目录或文件.在什么时间备份.采用什么方式进行备份等.配置NBU主要指定 ...

  10. LayoutParams布局

    AbsoluteLayout.LayoutParams可以重新设置坐标,然后调用setLayoutParamsLinearLayout.LayoutParams可以调用setMargins();来移动 ...