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,则需要从workspaceContainer 运行这些命令,您可以通过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 ValetLaragon等其他选项 ,甚至可以直接在您的机器上运行。

抬头!
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 IPHostDBRedis 你的.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。 (另外不要忘记将rootDocumentRoot设置为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调用:
    要拨打电话,您可以使用PostmanHTTPIE或您喜欢的任何其他工具。
    让我们http://api.apiato.develop/v1/registercURL测试(用户注册)端点:
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 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!