本书未发布

33. 创建应用

未匹配的标注

简介

在本节里,我们介绍如何使用 Homestead 来创建 ThinkBBS 这个项目,并完成统一代码风格和 Git 仓库创建。

做好准备

由于我们接下来的开发都会在 Homestead 上进行,因此,在开始本章教程之前,请保证你的 Homestead 虚拟机已成功开启并登录。使用下面命令来启动和登录 Homestead :

> cd ~/Homestead && vagrant up
> vagrant ssh

在虚拟机中进入Code文件夹(注意:Code 文件夹是我们按照 开发环境搭建 配置的共享文件夹):

$ cd ~/Code

注意:本书中因为虚拟机的存在,我们会有两个运行命令行的环境,一个是 宿主机,另一个是 Homestead 虚拟机。我们会在命令的前面使用『命令行提示符』来区分宿主机和 Homestead 。请记住以 > 开头的命令是运行在主机里,$ 开头的命令是运行在 Homestead 虚拟机里。详见 写作约定 - 命令行提示符

Composer 加速

在创建项目之前,我们先在虚拟机中运行以下命令来实现 Composer 安装加速

$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

创建 ThinkBBS 应用

下面让我们来使用 Composer 创建一个名为 ThinkBBS 的应用,后面我们将基于这个应用做更多的功能完善:

$ cd ~/Code
$ composer create-project topthink/think ThinkBBS --prefer-dist "5.1.*"

项目创建完后进行项目根目录使用下面这行命令可以查看创建项目使用的 thinkphp 版本

$ cd ~/Code/ThinkBBS/
$ php think version
v5.1.38 LTS

创建应用

注:版本更迭,再正常不过,安装界面的版本无需跟上面一致。在 ThinkPHP 官方发布的的 ThinkPHP5.1完全开发手册 里创建项目时并没有指定使用的 ThinkPHP 版本(参数--prefer-dist), 但因为如果不指定版本时 composer 默认使用包的最新正式版本,为了避免 ThinkPHP 6.0 正式发布后大家创建项目使用的是 6.0 版本,我们在这里建议大家在创建项目时最好使用 --prefer-dist "5.1.*" 指定 ThinkPHP 版本。

修改 hosts

使用 Homestead 开发时,我们在每个项目创建完成的第一步是设置项目的 Homestead 配置,让应用能在 Homestead 的开发环境上跑起来。

为了方便记忆,一般我们都会将 IP 映射为域名,我们能够通过设置 hosts 文件来指定 IP 与域名之间的映射关系,由于我们在 Homestead 上默认使用 192.168.10.10 来作为虚拟机的 IP 的地址,因此我们需要在系统的 hosts 文件中将域名指向该 IP 上。

Mac 下打开 hosts 文件:

> subl /etc/hosts

Windows 下打开 hosts 文件:

subl C:/Windows/System32/Drivers/etc/hosts

Windows 下,如果你没有集成 subl 命令的话, 请使用编辑器直接打开文件,Hosts 文件路径是 C:\Windows\System32\Drivers\etc\hosts ,参考 如何修改windows系统的host文件

文件成功打开后,在 hosts 文件最后面新增下面一行以完成设置:

192.168.10.10   bbs.test

新增站点

如果你安装了 Sublime Text,可通过运行下面命令打开 Homestead.yaml 文件:

> subl ~/Homestead/Homestead.yaml

在 Homestead.yaml 文件中新增 ThinkBBS 应用的 sitesdatabases 的相关设置:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.test
      to: /home/vagrant/Code/Laravel/public
    - map: bbs.test # <--- 这里
      to: /home/vagrant/Code/ThinkBBS/public # <--- 这里

databases:
    - homestead
    - think_bbs # <--- 这里

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

我们主要设置了 sitesdatabases 两项。 sites 会将域名 bbs.test 映射到虚拟机的 /home/vagrant/Code/ThinkBBS/public 目录,而 databases 则为新创建的项目指定数据库名。

重启虚拟机

在我们每次对 Homestead.yaml 文件进行了更改之后,都需要运行下面命令来使其更改生效:

> cd ~/Homestead && vagrant provision && vagrant reload

命令说明:

  • vagrant provision 是命令 Vagrant 重新加载 Homestead.yaml 配置;
  • vagrant reload 是重启虚拟机使更改生效。

访问应用

现在让我们在 Chrome 浏览器中打开 bbs.test 你应该能看到如下界面:

创建应用

Git 代码版本控制

为了在接下来更好的追踪项目代码的更改,我们还需要将新建的 ThinkPHP 项目纳入到 Git 版本管理中:

$ cd ~/Code/ThinkBBS
$ git init
$ git add -A
$ git commit -m "初始化"

我们前面已讨论过关于使用 GitHub 的种种好处,而现在是我们开始正式应用它的时候了。熟悉一个东西最快的方法就是不断训练,不断重复,因此本教程接下来项目构建的代码都将统一托管到 GitHub 上,以便让你对 GitHub 的使用更加熟悉。现在,我们需要在 GitHub 上新建一个名为 thinkbbs 的项目 点击创建新项目,并将代码推送上去:

注意请把下面的 替换为你的用户名。

$ git remote add origin git@github.com:<username>/thinkbbs.git
$ git push -u origin master

统一代码风格

为了保证我们的代码风格一致,以避免引起不必要的歧义,请大家按照 开发环境布置 教程安装 EditorConfig 插件。现在我们还需要在 ThinkPHP 应用的根目录创建 .editorconfig 文件。

$ touch .editorconfig

新创建的 .editorconfig 文件配置信息如下:

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.yml]
indent_size = 2

[*.{js,html,blade.php,css,scss}]
indent_style = space
indent_size = 2

接着让我们将该文件加入到版本控制中:

$ git add -A
$ git commit -m "统一代码风格"

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~