时间:2021-07-01 10:21:17 帮助过:26人阅读
刚接触 PHP 一段时间,在搭建环境与第一个 Api 项目的运行上面有许多的问题,这里就这这些问题分析一下过程,并且提出相应的解决方案。
一般导师会根据你的安装环境给你框架安装指南,对于纯新手来说,框架的安装也是费劲了脑汁。
Windows 搭建开发环境的第一步 wnmp 的安装也许就遇到了问题,其中有一步是配置:将 php.exe 所在目录添加到环境变量。其中出现了新的名词:”环境变量”。我们可以看一下环境变量的概念:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程(取自百度百科)。也就是说环境变量的添加可以让该应用程序你电脑的各个地方使用。
环境变量的添加可以按照如下步骤:右键我的电脑 > 高级系统设置 > 环境变量 > 选中系统变量中的 Path 变量 > 选择 wnmp 安装目录下的 php.exe 文件即可。
VPN 的选择有很多,但其实一开始的时候用到 VPN 的次数并不是很多,但从长远角度来看,VPN还是很重要的。其中我推荐三个 VPN ,希望对你有帮助:
1. Shadowsocks 这是一个付费的 VPN ,因为是付费的所以稳定性是可以保证的,但是据我了解 Shadowsocks 只能用于网站而不能用于客户端等脱离网站的应用程序。
2. 蓝灯/ lantern 这是一个免费的翻墙软件,十分好用,下载解压后双击一下就会直接访问 Google 等网站,但其不稳定性也是存在的,但是我一般都是用它来翻墙的,觉得十分便捷。你可以直接从百度上下载,资源很多,这边也贴一个我们队长提供给我的托管在 GitHub 上的蓝灯地址。下载地址: lantern
3. 第三个是我们技术小组提供的云梯了,云梯我看各界评价都不错,如果有需要可以找技术小组的相关人员询问账号,这个就看你自己的选择了。
composer 的安装我进行的顺风顺水,但是在默认安装的条件下,我无法找到他的安装目录,如果你有这类疑问,你可以试试我提供的地址,查找一下是否正确:C:\ProgramData\ComposerSetup\bin 。
在初步要实行在浏览器看到 api 项目运行成功几个字真的是要知道很多知识。例如数据库的建立,路由和控制器的修改,配置 nginx 的 conf ,在数据表中添加数据并且修改控制器来显示数据等等。下面就我知道的问题与解决方案来进行罗列。
这步是最最重要的,千万千万不要在 master 分支上面进行操作,会产生不必要的麻烦。具体的操作与原理可以查看站内的 git 的使用: 使用 Git 协作开发项目指南
因为我们安装了 wnmp 所以打开后我们可以直接在右边第三栏: Open MariaDB Shell 直接运行 mysql.exe 来创建我们的数据库。但记住一点,我们的数据库的建立必须是在项目目录下的,也就是说我将 api 项目 clone 到 F:\project\api ,那再我们数据库的建立也要在该目录下。我们可以先切换到 F 盘,然后 cdF:\project\api 。即可,这些自己搜索也可以搜索到,我这边就直接说了。
建立数据库的代码如下(其中 ciji 为你创建的数据库的名称):
建立数据库: create database ciji;使用数据库: use ciji;查看数据库: show ciji;
当成功实现 api 项目运行成功后,我们接下去的任务就是要在 table 中填入数据并且在浏览器中显现出数据。此次我们修改的是根据 users表中的数据填入到 DatabaseSeeder.php 这个文件中,方法可以从我提供的网站上面找到,并且具体介绍了 Seeder 是什么,什么用。 Seeder自动填充测试数据(ps:这里要注意的是你有多少项数据,对应的问好就有多少个)
DB::insert('insert into users(id, mobile,email,password,secret,nickname,avatar_url) values (?, ?,?,?,?,?,?)', ['1', '13587711073', 'a@qq.com', '232411', '0', 'jack', '123']
而因为我们用的路由调用的是 ApitestController 的 test 方法,所以说我们在修改好 Seeder 数据后我们要修改我们 ApitestController 文件中相关的数据,如何修改你可以去参考 Laravel 的官方文档中数据库一项。这边我给出连接与我的代码,当然不要局限于我的方法。 Laravel官方文档
get(); return $users; }}