十、附录

十、附录

一、专有名词索引

说明

此文章为本书涉及到的专有名词进行索引。目的在于知识的重温。

前言

PHP

PHP 全称是 PHP: Hypertext Preprocessor,译为:『超文本预处理器』。是一门开源服务器脚本语言。PHP 市场占有率最高的服务器端脚本语言,Alexa 世界排名前一千万 的网站中有 82.6% 使用 PHP 构建。

Laravel

Laravel 一款基于 PHP 语言的 Web 开源框架,采用了 MVC 的架构模式,诞生于 2011 年 6 月。目前是最有名的 PHP 框架。

Ruby on Rails

基于 Ruby 语言的 Web 开源框架,Laravel 的 API 设计灵感来自于 Ruby on Rails。

刻意练习

本书需要练习 5 遍,并且每一遍要给自己设置练习目标,最后一遍可以尝试不看教程的情况下编写出 Demo 应用。

MVC

MVC 是三个单词的首字母缩写,它们是 Model(模型)、View(视图)和 Controller(控制器),是一种软件架构设计模式。

  1. 最上面的一层,是直接面向最终用户的『视图层』(View)。它是提供给用户的操作界面,是程序的外壳。

  2. 最底下的一层,是核心的『数据层』(Model),也就是程序需要操作的数据或信息。

  3. 中间的一层,就是『控制层』(Controller),它负责根据用户从『视图层』输入的指令,选取『数据层』中的数据,然后对其进行相应的操作,产生最终结果。

环境部署

Atom

Atom 是由 GitHub 官方在 2014 年 2 月推出的一款开源的跨平台代码编辑器,由于 Atom 的界面优雅、易上手、插件丰富等优点,使得其在发布后受到圈内不少程序员的追捧和赞赏。

Sublime Text

Sublime Text 也是一款跨平台代码编辑器,是非常棒的 Atom 替代品。

命令行

命令行是程序员的好伙伴,如果你立志成为一名优秀的程序员,熟练的命令行操作也是必不可少的。命令行客户端 Mac 下我们使用 iTerm2,Windows 下使用 GitHub 出品的 Git for Windows。

VirtualBox

VirtualBox 号称是最强的免费虚拟机软件,是 Oracle 公司的开源虚拟机软件。本书中我们用来运行 Homestead 虚拟主机。

Vagrant

Vagrant 是用来管理虚拟机的工具,主要功能是确保项目参与人员各自的机器上都能拥有一致的开发环境。

Homestead

Homestead 利用 Vagrantfile 提供的便利,定制了一整套的可配置、可移植和复用的 Laravel 开发环境。Homestead 虚拟机里面包含了 Nginx Web 服务器、PHP 7.0、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时需要用到的各种软件。

Homestead 管理脚本

Homestead 脚本使用 Ruby 和 Shell 脚本编写而成。原理是对 Vagrantfile 文件做定制。将从 ~/Homestead/Homestead.yaml 读取的配置信息,在 provision 时,解析为 Vagrant 命令并进行对虚拟机的配置。Homestead 脚本的作用在于,提供了极其简单易用的接口,使我们只需要通过傻瓜化配置,即可完成复杂的任务。

Homestead Box 虚拟机盒子

homestead.box 虚拟机盒子是提前打包好的 Vagrant Box 虚拟机盒子,里面预装了 Nginx Web 服务器、PHP 7.0、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时所需要用到的各种软件。

Composer

Composer 是一款跨平台的 PHP 依赖管理工具,其创作灵感来源于 Node.js 的 NPM 与 Ruby 的 Bundler。Laravel 使用 Composer 来作为扩展包的管理工具,默认的扩展包依赖在 composer.json 文件里。你可以利用 Composer 结合 其它开源扩展包 来达到快速建站的目的。

Git

Git 是 Linux 的创始人 Linus Torvalds 开源的一款分布式版本控制系统,在现代化的项目开发中,Git 基本上是标配。

GitHub

GitHub 是目前全球最大的代码托管平台,许多非常著名的项目如 Linux、PHP、Swift、Laravel 等都托管在 GitHub 上。

Heroku

Heroku 是一个支持多种编程语言的 PaaS (Platform-as-a-Service)。本书中我们使用 Heroku 来模拟部署上线代码。

Git 分支

Git 允许你把工作从开发主线上分离开来,以免影响开发主线。 Git 主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。

本书我们从第三章开始每章都会为 Git 开始一个新的分支。实际项目开发中使用分支也是一个好习惯。

SSH

SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。在此课程中,我们使用 SSH 免密码登录 Homestead 虚拟机、免密码 Push 代码到 GitHub、免密码部署代码到 Heroku。

构建页面和优化页面

Artisan

Artisan 是 Laravel 提供的 CLI(命令行接口),它提供了非常多实用的命令来帮助我们开发 Laravel 应用。

Bootstrap

在本书的教学过程中我们使用 Bootstrap 来作为演示应用的前端 UI 框架。

NPM

NPM 是 Node.js(一个基于 Google V8 引擎的 JavaScript 运行环境)的包管理和分发工具。Composer 的一些概念也是从 NPM 中借鉴过来的,因此 NPM 也有个类似 composer.json 文件的 package.json 文件,Laravel 默认会为每个新建的项目自动生成该文件。

Yarn

由于 NPM 的安装速度,安全性和稳定性等都饱受开发者的诟病,本书使用 Facebook 在 2016 年的 10 月份开源的 Yarn 来作为 NPM 的替代品。Yarn 最大的特点是安装依赖速度快,还有支持本地缓存。

SASS

Sass 是一种可用于编写 CSS 的语言,是现代化的 CSS 编写方式,借助 Sass 我们可以少写很多 CSS 代码,并使样式代码的编写更加灵活多变。

Laravel Mix

Laravel Mix 一款前端任务自动化管理工具,使用了工作流的模式对制定好的任务依次执行。Mix 提供了简洁流畅的 API,让你能够为你的 Laravel 应用定义 Webpack 编译任务。

Blade

Blade 是 Laravel 所提供的一个简单且强大的模板引擎。Blade 视图文件使用 .blade.php 做为扩展名,通常保存于 resources/views 文件夹内。

路由

特指 Laravel 的路由配置信息,存放在 routes/web.php 中,使用 Route 类方法来配置 HTTP 请求对应处理的控制器。

用户模型

Eloquent ORM

Laravel Eloquent 提供了简洁优雅的 ActiveRecord 实现来跟数据库进行交互。其特点是一个模型类对应关系型数据库中的一个表,模型类的一个实例对应表中的一行记录。是 Laravel 的 MVC 模式中的 M - Model(模型)层。

数据库迁移 Migration

在 Laravel 中,我们使用 数据库迁移 来管理数据库表结构,迁移就像是数据库中的版本控制,它让团队成员之间能够轻松的修改跟共享应用程序的数据库结构,而不用担心并行更新数据结构而造成冲突等问题。所有创建的迁移文件都被统一放在 database/migrations 文件夹里。

SequelPro

Mac 下的数据库管理客户端。

HeidiSQL

Windows 下的数据库管理客户端。

Tinker

Tinker 是一个 REPL (read-eval-print-loop),REPL 指的是一个简单的、可交互式的编程环境,通过执行用户输入的命令,并将执行结果直接打印到命令行界面上来完成整个操作。我们可以通过以下命令进入 Tinker 环境:

$ php artisan tinker

Gravatar

Gravatar 为 “全球通用头像”,当你在 Gravatar 的服务器上放置了自己的头像后,可通过将自己的 Gravatar 登录邮箱进行 MD5 转码,并与 Gravatar 的 URL 进行拼接来获取到自己的 Gravatar 头像。

用户注册

RESTful

RESTful 是一种 Web 程序设计架构,RESTful Web服务实现会使用 HTTP、URI、JSON 等各种标准。

会话管理

会话 Session

由于 HTTP 协议是无状态的,我们无法在两个页面之间保证用户身份的同步,因此我们需要借助会话在浏览器中临时存储用户的身份信息,进而保证在同一浏览器中,用户在不同页面具有相同的登录状态。

jQuery

jQuery 是一套跨浏览器的 JavaScript 函数库。简化 HTML 与 JavaScript 之间的操作。世界上访问量前一百万的网站中有 88.9% 的网站使用了 jQuery。(来自:builtwith.com

用户 CRUD

中间件 Middleware

Laravel 中间件 (Middleware) 是 HTTP 中间件,这是一种程序设计模式,为我们提供了一种非常棒的过滤机制来过滤进入应用的 HTTP 请求,例如,当我们使用 Auth 中间件来验证用户的身份时,如果用户未通过身份验证,则 Auth 中间件会把用户重定向到登录页面。

模型工厂 factory

在定义完成模型对应的『模型工厂』以后,即可使用它来批量生成假数据。

数据填充 Seeder

开发时,我们有时需要使用假数据来调试程序,原始的做法是手工一个个在数据库中创建,或者从队友的机器那导出数据填充到开发机器中。在 Laravel 中,我们有更加现代化,更加便捷的方式来创建数据库测试数据 —— Seeder。

Faker

Laravel 默认为我们集成了 Faker 扩展包,使用该扩展包可以让我们很方便的生成一些假数据。

二、命令行索引

说明

此文章为本书涉及到的命令行指令进行索引。目的在于知识的重温。

基础信息

三种命令行标示

主机:

> 这是命令

虚拟机:

$ 这是命令

虚拟机中的 Tinker 环境:

>>> 这是命令

环境配置

Sublime Text 编辑器打开当前命令行所在的文件夹:

> subl .

你可以使用以下命令来检测 subl 命令是否存在:

> subl --version

导入定制的虚拟机:

> vagrant box add metadata.json

检查 Git 版本:

> git --version

从代码托管商处检出 Homestead 脚本:

> git clone https://git.coding.net/summerblue/homestead.git Homestead

使用特定的 Homestead 版本:

> git checkout v5.4.0

初始化 Homestead :

> bash init.sh

编辑 Homestead 配置文件:

> subl ~/Homestead/Homestead.yaml

检测 SSH 秘钥是否存在:

> ls -al ~/.ssh

生成 SSH 秘钥:

> ssh-keygen -t rsa -C "your_email@example.com"

编辑 hosts 文件:

> subl /etc/hosts

启动 Homestead 虚拟机:

> cd ~/Homestead && vagrant up

SSH 免密码登录虚拟机:

> vagrant ssh

退出虚拟机登录:

$ exit

关闭 Homestead 虚拟机:

> vagrant halt

对 Git 进行用户名和邮箱进行设置:

$ git config --global user.name "Your Name"$ git config --global user.email you@example.com

设置 Git 使用当前分支为默认分支进行 Push:

$ git config --global push.default simple

Git 项目初始化:

$ git init

将项目所有文件纳入到 Git 中:

$ git add -A

检查 Git 状态:

$ git status

保留改动并提交:

$ git commit -m "Initial commit"

显示 Git 提交记录:

$ git log

从代码库里检出代码,放弃当前文件修改:

$ git checkout -f

打印出 SSH 公钥里的内容:

> cat ~/.ssh/id_rsa.pub

添加远程代码库提交地址,并提交代码:

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

将代码推送到 GitHub:

$ git push

命令行登录 Heroku 账号:

$ heroku login

添加 SSH 公钥 ~/.ssh/id_rsa.pub 到 Heroku 上:

$ heroku keys:add

在 Heroku 上创建一个新应用:

$ heroku create

对应用名称进行更改:

$ heroku rename your-app-name

生成 App Key:

$ php artisan key:generate



回复列表



回复操作

正在加载验证码......

请先拖动验证码到相应位置