Apiato 应用程序-入门-安装
A)Apiato应用程序安装
Apiato可以使用Composer自动安装(推荐)或手动安装(使用Git或直接下载):
1)代码设置
1.A)通过Composer自动进行
1)克隆仓库,安装依赖项并设置项目:
选项1:最新稳定版(7.4):
composer create-project apiato/apiato my-api
选项2:当前LTS “长期支持”稳定版本(7.2):
composer create-project apiato/apiato my-api ~7.2
选项3:正在进行的开发分支“dev master” (不稳定): 这为您提供了即将发布的版本的功能。但是,您需要继续将项目与上游主分支同步,并在发生更改时运行composer update。
composer create-project apiato/apiato my-api dev-master
2)编辑.env
变量以与您的环境匹配(设置数据库凭据,应用URL,...)。
3)继续2)数据库设置如下。
1.B)手动
您可以直接从存储库下载代码作为.ZIP
文件或使用Git
(推荐)克隆存储库:
1)使用Git
以下方法克隆存储库
git clone https://github.com/apiato/apiato.git
2)安装所有依赖包(包括Containers依赖):
composer install
3)创建.env文件并复制其中的内容.env.example。
cp .env.example .env
检查所有变量并编辑您想要的任何内容。
4)生成随机密钥 APP_KEY
php artisan key:generate
5).git
从根目录中删除文件夹并初始化自己的文件夹git init
。
2)数据库设置
1)迁移数据库:
运行migration artisan命令:
php artisan migrate
2)使用artisan命令为数据库设定种子:
php artisan db:seed
3)可选。默认情况下,Apiato为“超级用户”播种,默认admin
角色(角色没有设置权限)。
要授予该admin
角色访问系统中所有种子权限的权限,请运行以下命令
php artisan apiato:permissions:toRole admin
随时。
注意:如果您使用的是Laradock,则需要从workspace
Container 运行这些命令,您可以通过docker-compose exec workspace bash
从Laradock文件夹运行来输入该容器。
3)OAuth 2.0设置
1)创建加密密钥以生成安全访问令牌,并创建将用于生成访问令牌的“个人访问”和“密码授予”客户端:
php artisan passport:install
4)文档设置
如果您打算使用ApiDoc JS,那么继续这个设置,否则跳过这个并使用您喜欢的任何内容:
1)使用NPM或您喜欢的依赖项管理器安装ApiDocJs:
-g
在没有的情况下在项目中全局安装或本地安装-g
npm install apidoc -g
或者npm install
在检查package.json
根目录上的文件后,通过在项目的根目录上运行来安装它。
2)运行 php artisan apiato:docs
场景后面apiato:docs
正在执行这样的命令
apidoc -c app/Containers/Documentation/ApiDocJs/public -f public.php -i app -o public/api/documentation
访问API Docs Generator了解更多详情。
5)测试设置
1)打开phpunit.xml
并确保您的域的环境正确。
2)运行测试
vendor/bin/phpunit
B)开发环境设置
您可以在自己喜欢的环境中运行Apiato。下面你将看到如何在Vagrant(使用Laravel Homestead)或 Docker(使用Laradock)之上运行它 。
我们将看到如何使用这两种工具,您可以选择一种,或者您可以使用Larvel Valet,Laragon等其他选项 ,甚至可以直接在您的机器上运行。
抬头!
ICANN现已正式批准.dev
为通用顶级域名(gTLD)。因此,不建议.dev
在本地开发设置中再使用域名!此处的文档已更改为使用.develop
而不是.dev
,您可以更改为.localhost
或.test
适合您的需要。
B.1)使用Docker(使用Laradock)
Laradock是Docker PHP开发环境。它有助于在Docker上运行PHP应用程序。
1)安装Laradock。
2)导航到laradock
目录:
cd laradock
该目录包含一个docker-compose.yml
文件。(来自LaraDock项目)。
2.1)如果您还没有这样做,请重命名env-example
为.env
。
cp env-example .env
3)运行Docker容器:
docker-compose up -d nginx mysql redis beanstalkd
4)请确保您设置Docker IP
为Host
为DB
和Redis
你的.env
文件。
5)将域添加到Hosts文件:
5.1)在本地计算机上打开hosts文件/etc/hosts
。
我们将apiato.develop作为本地域使用(如果需要,您可以更改它)。
5.2)将域及其子域映射到127.0.0.1:
127.0.0.1 apiato.develop
127.0.0.1 api.apiato.develop
127.0.0.1 admin.apiato.develop
如果您正在使用NGINX或Apache,请确保服务器配置文件中的server_name(如果是NGINX)或ServerName(如果是Apache)设置为以下内容apiato.develop api.apiato.develop admin.apiato.develop
。
(另外不要忘记将root或DocumentRoot设置为apiato内的公共目录apiato/public)。
B.2)使用Vagrant(与Laravel Homestead合作)
1)配置Homestead:
1.1)打开Homestead配置文件:
homestead edit
1.2)将api.apiato.develop域映射到项目公共目录 - 示例:
sites:
- map: api.apiato.develop
to: /{full-path-to}/apiato/public
1.3)您也可以映射像其他领域apiato.develop和admin.apiato.develop其他网站的应用程序:
- map: apiato.develop
to: /{full-path-to}/clients/web/user
- map: admin.apiato.develop
to: /{full-path-to}/clients/web/admin
注意:在上面的示例中,这些/{full-path-to}/clients/web/***
应用程序是独立的应用程序,它们位于自己的存储库中,位于不同的文件夹中,然后是Apiato文件夹。如果您的管理员,用户或其他类型的应用程序位于Apiato中,则必须将它们全部指向Apiato项目文件夹/{full-path-to}/apiato/public
。那么在这种情况下你会有这样的事情:
- map: api.apiato.develop
to: /{full-path-to}/apiato/public
- map: apiato.develop
to: /{full-path-to}/apiato/public
- map: admin.apiato.develop
to: /{full-path-to}/apiato/public
2)将域添加到Hosts文件:
2.1)在本地计算机上打开hosts文件/etc/hosts
。
我们将apiato.develop作为本地域使用(如果需要,您可以更改它)。
2.2)将域及其子域映射到Vagrant IP地址:
192.168.10.10 apiato.develop
192.168.10.10 api.apiato.develop
192.168.10.10 admin.apiato.develop
如果您正在使用NGINX或Apache,请确保服务器配置文件中的server_name(如果是NGINX)或ServerName(如果是Apache)设置为以下内容apiato.develop api.apiato.develop admin.apiato.develop
。 (另外不要忘记将root或DocumentRoot设置为apiato内的公共目录apiato/public)。
2.3)运行虚拟机:
homestead up --provision
如果你看到No input file specified子域名!
尝试运行此命令homestead halt && homestead up --provision。
B.3)使用其他东西
如果您不使用虚拟化解决方案,则可以直接在计算机上设置环境。检查 软件的要求列表。
C)使用
现在让我们看看它的实际效果
1.A 打开Web浏览器并访问:
http://apiato.develop
您应该Apiato在中间看到一个HTML页面。http://admin.apiato.develop
您应该看到HTML登录页面。
1.B. 打开您的HTTP客户端并致电:http://api.apiato.develop/
您应该看到消息的JSON响应:"Welcome to apiato."
,http://api.apiato.develop/v1
您应该看到消息的JSON响应:"Welcome to apiato (API V1)."
,
2)对API进行一些HTTP调用:
要拨打电话,您可以使用Postman,HTTPIE或您喜欢的任何其他工具。
让我们http://api.apiato.develop/v1/register
用cURL测试(用户注册)端点:
curl -X POST -H "Accept: application/json" -H "Cache-Control: no-cache" -F "email=mahmoud@zalt.me" -F "password=so-secret" -F "name=Mahmoud Zalt" "http://api.apiato.develop/v1/register"
你应该得到这样的回应:
Access-Control-Allow-Origin → ...
Cache-Control → ...
Connection → keep-alive
Content-Language → en
Content-Type → application/json
Date → Wed, 11 Apr 2000 22:55:88 GMT
Server → nginx
Transfer-Encoding → chunked
Vary → Origin
X-Powered-By → PHP/7.7.7
X-RateLimit-Limit → 30
X-RateLimit-Remaining → 29
{
"data": {
"object": "User",
"id": 77,
"name": "Mahmoud Zalt",
"email": "apiato@mail.com",
"confirmed": null,
"nickname": "Mega",
"gender": "male",
"birth": null,
"social_auth_provider": null,
"social_id": null,
"social_avatar": {
"avatar": null,
"original": null
},
"created_at": {
"date": "2017-04-05 16:17:26.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"updated_at": {
"date": "2017-04-05 16:17:26.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"roles": {
"data": []
}
}
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: