# macos
小白用户推荐使用下载xampp的普通版本,简单快捷高效。有经验的用户推荐使用安装xampp的虚拟机版本。
>[info] 本教程将在普通模式下讲解
## 普通模式
### 下载composer
官方推荐使用curl的方式下载comcoser,所以在继续操作以前,需要确认自己的计算机已安装了curl。
打开shell并下载composer:
```bash
panjiedeMac-Pro:~ panjie$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...
Composer (version 2.0.8) successfully installed to: /Users/panjie/composer.phar
Use it: php composer.phar
```
该操作依赖于网络,在网络不太理想的情况下会发生错误,比如:`Failed to decode zlib stream
`,解决的方法也很简单:多试几次。
移动composer:
```bash
panjiedeMac-Pro:~ panjie$ mv composer.phar /usr/local/bin/composer
```
设置国内源,加速下载:
```bash
panjiedeMac-Pro:~ panjie$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
```
>[warning] 如果你在安装xampp前已经安装过其它版本的php,则无需以下操作。
composer若想成功运行还需要php的支持,我们使用**快捷方式**的方法将php放到`/usr/local/bin`文件夹中。
```bash
panjiedeMac-Pro:~ panjie$ ln -s /Applications/XAMPP/bin/php /usr/local/bin/php
```
### 下载TP6
xampp中的apache有个叫`文档根目录`的东西,要成功的运行TP6则需要将其下载到 apache的`文档根目录`中。在当前xampp中其apache的`文档根目录`被设置为`/Applications/XAMPP/htdocs`,接下来我们进入此根目录并将TP6下载到此目录下:
首先进行权限的相关设定**(很重要)**,然后进入xampp的htdoc文件夹后,使Composer下载安装TP6.
执行命令如下:
```bash
sudo chmod -R 777 /Applications/XAMPP/htdocs
cd /Applications/XAMPP/htdocs
composer create-project topthink/think=6.0.6 tp6
```
执行示例如下:
```bash
# 设置权限
panjiedeMac-Pro:~ panjie$ sudo chmod -R 777 /Applications/XAMPP/htdocs
# 进入绑定了http服务的htdocs文件夹
panjiedeMac-Pro:~ panjie$ cd /Applications/XAMPP/htdocs
# 使用composer下载tp6
panjiedeMac-Pro:htdocs panjie$ composer create-project topthink/think=6.0.6 tp6
Creating a "topthink/think=6.0.6" project at "./tp6"
Installing topthink/think (v6.0.6)
- Downloading topthink/think (v6.0.6)
......
Use the `composer fund` command to find out more!
```
### 修改权限
```bash
panjiedeMac-Pro:~ panjie$ sudo chmod -R 777 /Applications/XAMPP/htdocs/tp6
```
### Hello ThinkPHP
打开xampp,启动apache服务后,在浏览器中打开:[http://localhost/tp6/public/index.php](http://localhost/tp6/public/index.php)
![](https://img.kancloud.cn/6c/1a/6c1a7604eca0c7c60efaede9199d55a4_630x433.png)
万事开头难,恭喜你成功的迈出了第一步。
## 虚拟机模式
![](https://img.kancloud.cn/c1/fb/c1fb28c1d427473789200137c53d19b7_506x459.png)
先后启动xampp以及其apache服务后,点击Open Terminal,将得到一个可以操作虚拟机的shell。
![](https://img.kancloud.cn/c2/50/c250fb9a14e16a7a48cb1d7f8ff41671_1141x361.png)
在该shell下运行的一切命令都是针对虚拟机的。我们当然可以在该shell下运行一些命令从而完成虚拟机中composer的安装。
![](https://img.kancloud.cn/c1/fb/c1fb28c1d427473789200137c53d19b7_506x459.png)
先后启动xampp以及其apache服务后,点击Open Terminal,将得到一个可以操作虚拟机的shell。
![](https://img.kancloud.cn/c2/50/c250fb9a14e16a7a48cb1d7f8ff41671_1141x361.png)
>[info] todo: 小版本号为6.0.5,应该为6.0.6
### 下载Composer
在该shell下运行的一切命令都是针对虚拟机的。我们当然可以在该shell下运行一些命令从而完成虚拟机中composer的安装。
在shell中输入命令 `curl -sS https://getcomposer.org/installer | php`后按回车:
![](https://img.kancloud.cn/28/0f/280f592e7796795ad8a7b8591b6ae0c8_1029x251.png)
上述命令将为我们下载tp6所需的`Composer`。静心等待出现所上界面,下载完成。
![](https://img.kancloud.cn/8b/ea/8bea383d9e49953b70a8a5560dd226ae_847x70.png)
接下来执行`mv composer.phar /usr/local/bin/composer`,该命令的作用是将下载的文件移动到`/usr/local/bin`文件夹,并重命名为`composer`。以后我们在shell中输入`composer`时,实际上执行就是这个文件。
### 下载TP6
#### 网络加速
由于众所周知的原因,在不进行加速的情况下,composer通常很难正常的运行。我们可以在shell中使用以下命令`composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/`以解决由于网络原因造成的composer下载失败问题。
![](https://img.kancloud.cn/84/18/84181345ae909835e439e0dce2c667b1_1133x154.png)
出现该提示后输入`yes`,然后按回车。
#### 下载
xampp中的apache有个叫`文档根目录`的东西,要成功的运行TP6则需要将其下载到apache的`文档根目录`中。在当前虚拟机中其apache的`文档根目录`被设置为`/opt/lampp/htdocs`,接下来我们进入此根目录并将TP6下载到此目录下:
1. 进入apache根目录:输入`cd /opt/lampp/htdocs`后回车.
2. 使用Composer下载安装TP6的6.0.6版本至此目录,并重新命名为`tp6`: 输入`composer create-project topthink/think=6.0.6 tp6`回车。
>[success] 截止至当前教程撰写时,TP6的最新版本为 6.0.6。在学习过程中,不要太纠结这个小版本号,教程中我们主要是交流一种思想。本教程学习完毕后,相信你完全有能力借助官方文档使用最新版本的TP6来开发自己的应用。
此时将下载`ThinkPHP的6.0.6版本`至当前的`tp6`文件夹。下载过程中打印的日志部分如下:
```shell
root@debian:/opt/lampp/htdocs# composer create-project topthink/think=6.0.6 tp6
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Creating a "topthink/think=6.0.6" project at "./tp6"
Installing topthink/think (v6.0.6)
...
Updating dependencies
Lock file operations: 15 installs, 0 updates, 0 removals
- Locking league/flysystem (1.1.3)
....
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 15 installs, 0 updates, 0 removals
- Downloading psr/cache (1.0.1)
- Downloading league/mime-type-detection (1.5.1)
....
12 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
> @php think service:discover
Succeed!
> @php think vendor:publish
Succeed!
6 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
```
>[info] 我们在此并没有使用官方提供的`php think run`的运行方式。
#### Hello ThinkPHP
![](https://img.kancloud.cn/e6/b8/e6b87e27ad9a0fa2be260915df1881ee_466x264.png)
点击Go to Application将自动打开浏览器。
![](https://img.kancloud.cn/ea/73/ea7395f4177e4b7b915970b1a480857e_1256x441.png)
比如我此时打开的地址为:`http://192.168.64.2/dashboard/`,则将`dashboard`替换为`tp6/public/index.php`,即:`http://192.168.64.2/tp6/public/index.php`。
![](https://img.kancloud.cn/86/95/869594e7da3f9cdcfe9038356234e959_614x428.png)
在浏览器中访问`http://192.168.64.2/tp6/public/index.php`出现如上界面,TP6安装成功!
>[warning] 注意:你打的地址可能并不以192.168.64.2打头,那么此时你不能照抄教程中的地址。而将192.168.64.2换成你的。
### 发生了什么
composer是一款管理PHP软件依赖工具(Composer is a tool for dependency management in PHP.),相当于我们电脑上运行的`软件管家`。在没有软件管家以前,一个新的系统我们需要手动的安装各种软件,负责任的说这很麻烦、很费心。自从有了软件管家,安装软件变成了一件非常轻构的事件。
> 吐嘈百度:虽然我们可爱的小超同学已经入职百度有10个年头了,但还是不得不吐嘈一下。往往在下载一些软件时,百度总会把一些牛马不相关的垃圾软件推送给用户。这电脑越用越慢,百度绝对起了很大的作用。
同样的, PHP下也有很多的软件(包),tp6就是其中的一个。composer就是PHP下的软件管家,我们可以通过composer来快速的完成tp6的下载安装。
本节中我们使用了curl命令来下载到了一个composer,然后将其移动到了特定的位置,以使其能够在虚拟的任意位置输入`composer`时都不会报`命令未找到`的异常。
目录`/opt/lampp/htdocs`则是apache这个商铺的`货架`。想让顾客能够查看到,则需要将商品上线到`/opt/lampp/htdocs`这个`货架`上。上货后apache提供根据货品位置、名称来访问货口的规则,所以最终我们通过`http://192.168.64.2/tp6/public/`来访问到了特定的商品,该商品即为tp6展现给我们的欢迎信息。
### 修改权限
由于虚拟机liunx的权限限制,我们在编写代码前首先需要对文件夹权限进行修改。
![](https://img.kancloud.cn/c1/fb/c1fb28c1d427473789200137c53d19b7_506x459.png)
打开shell后输入`chmod 777 -R /opt/lampp/htdocs/tp6/`后回车。
![](https://img.kancloud.cn/18/74/1874d9d14c60723f3f1344bce16c582c_771x76.png)
权限修改完毕。
- 序言
- 第一章 Hello World
- 1.1 运行环境
- 1.1.1 windows
- 1.1.2 macos
- 1.1.3 ubuntu
- 1.2 Hello ThinkPHP
- 1.2.1 windows
- 1.2.2 macos
- 1.2.3 ubuntu
- 2.3 Hello World
- 第二章 教师管理
- 2.1 数据库初始化
- 2.2 CRUD之 R 读取数据
- 1 数据流
- 2.2.2 连接数据库
- 2.2.3 直接读取数据之DB
- 2.2.4 间接读取数据之模型
- 2.2.5 显示数据之原始文案
- 2.2.6 单引号与双引号
- 2.2.7 显示数据之视图
- 2.2.8 模板语法
- 2.2.9 使用bootstrap美化界面
- 2.3 CRUD之 C 增加数据
- 2.3.1 MCA默认路由