laravel 5.5入门系列——2

向laravel 5进军2


    • 创建第一个laravel项目

    • 文件结构用途

    • 正式学laravel前的最后知识补充

    • Git和Github

    • Github是什么

    • 什么是Git

    • 初始化配置Git

    • Git的常用命令

    • 将项目托管到Github

    • 向laravel 5进军2


创建第一个laravel项目

首先连接虚拟机: 
打开git bash,连接ssh:vagrant up vagrant ssh 
创建项目:composer create-project laravel/laravel Laravel --prefer-dist "5.5.*" 
这里的composer作用我就理解成个包管理插件了,类似py里面安装的package manager可以用pip命令一样。(希望大佬指正) 

创建laravel项目


然后在win中打开映射的文件夹Code,看看文件结构


laravel文件结构



文件结构用途

文件夹名称用途
app应用程序的业务逻辑代码存放文件夹
app/Console存放自定义 Artisian 命令文件
app/Http/Controllers存放控制器文件
app/Http/Middleware存放「中间件」文件
bootstrap框架启动与自动加载设置相关的文件
composer.json应用依赖的扩展包
composer.lock扩展包列表,确保这个应用的副本使用相同版本的扩展包
config应用程序的配置文件
database数据库操作相关文件(数据库迁移和数据填充)
node_modules存放 NPM 依赖模块
package.json应用所需的 NPM 包配置文件
phpunit.xml测试工具 PHPUnit 的配置文件
public前端控制器和资源相关文件(图片、JavaScript、CSS)
readme.md项目介绍说明文件
resources应用资源
resources/assets未编译的应用资源文件(图片、JavaScript、CSS)
resources/lang多语言文件
resources/views视图文件
routes/api.php用于定义 API 类型的路由
routes/channels.php事件转播注册信息
routes/console.php用于定义 Artisan 命令
routes/web.php用于定义 Web 类型的路由(重点,大部分情况下本书会用到)
server.php使用 PHP 内置服务器时的 URL 重写(类似于 Apache 的 “mod_rewrite” )
storage编译后的视图、基于会话、文件缓存和其它框架生成的文件
storage/app目录可用于存储应用程序使用的任何文件
storage/framework目录被用于保存框架生成的文件及缓存
storage/logs应用程序的日志文件
tests应用测试相关文件
vendor Composer依赖模块
webpack.mix.jsLaravel 的前端工作流配置文件
yarn.lock Yarn依赖版本锁定文件
.gitignore被 Git 所忽略的文件
.env环境变量配置文件

又多又长基本看不懂吧,没关系,需要用的时候一个个学就行了 
win下打开 
(做完一遍回来看了一下:基本能看懂啦~加油!)


正式学laravel前的最后知识补充

首先,如果你是直接看的这一篇blog或者跳着跳着看到了这里,然后觉得东西太多或者看不怎么懂。。我的建议是这样,因为web学习曲线确实十分陡峭,开始肝laravel需要储备好一些知识:html,css代码要能看懂,最好还知道点bootstrap,js代码能稍微看一看,php的知识要知道基本语法,面向对象能写,学一些内置函数,了解正则表达式(这些东西都在前面的php总结有写)然后网上搜一点资源看一看http协议入门啥的,感觉基本差不多了。因为学习曲线陡峭,所以刚开始肯定会遇到各种各样的不懂得东西,原则大概是尽量看,看不懂能用也行,多做几遍慢慢也就了然于心。虽然我已经尽量记录了每一个步骤,但是由于大家环境稍有差异,尽量要能用搜索引擎解决自己遇到的问题。

言归正传,下面介绍Git和Github,可以说是现代程序员必备技能了


Git和Github

需要掌握的基本知识有: 
- 什么是 Git 
- 为 Git 做初始化配置 
- Git 的基本使用 
- 什么是 GitHub 
- 如何添加 SSH Key 到 GitHub 上 
- 如何新建 GitHub 项目 
- 如何提交代码到 GitHub


什么是Git

详细的不讲了,可以看看Git的教程。推荐廖雪峰老师Git教程详细学学也挺快。

Git是一个超强的分布式版本控制系统,最强,没有之一。要当优秀的程序员这个技能真心不能少,不理解的话去看看以上提供教程的简介就get了,我保证是这样。


初始化配置Git


初始化配置


因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址.这里的–global是全局配置,即这台机器上的所有Git仓库全都用的这个参数。push.default simple是把push模式默认为simple,如果使用git push没有指定分支那就默认simple而不是报错。


Git的常用命令

git init //初始化一个git仓库git add -A //将项目添加到git仓库git status //查看状态git commit -m "content" //提交+说明git log //提交日志git checkout -b balabala //创建一个balabala分支git merge balabala //融合balabala分支git pull //拉仓库下来git push //上传到远程仓库123456789

Github是什么?

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

将项目托管到Github

注册完github的账号,登陆进去点击自己的头像可以看到settings,有个ssh密钥管理。本地生成密钥文件id_rsa和id_rsa.pub后,将id_sra.pub的内容放到自己Github账号下ssh密钥管理,将内容复制到上面即可

cd ~
cat ~/.ssh/id_rsa.pub12

测试一下ssh -T -v git@github.com第一次连接会提示输入yes和no,输入yes否则是no。

添加完成之后,可在主机上移步想托管的项目文件根目录。用命令:

$ git remote add origin git@github.com:your_username/hello_laravel.git$ git push -u origin master12

项目托管成功(只做到了在主机条件下ssh连接后git push,在Homestead里只能用https上传项目,也不是很懂咋回事)


下面是https上传的方法: 
在Homestead中来到项目根目录下,使用命令:

git remote add origin https://username:password@github.com/username/testing.gitgit push -u origin master