jack797/bitrix-symfony-adapter

bitrix-symfony-adapter

安装: 5

依赖: 0

建议者: 0

安全: 0

星标: 0

分叉: 0

类型:项目

v1.0.4 2023-10-12 06:50 UTC

This package is not auto-updated.

Last update: 2024-09-26 11:04:31 UTC


README

该项目基于 symfony/skeleton: 5.4 构建,包中已包含以下内容:

  • symfony/console
  • serializer
  • validator
  • translation
  • paramConverter 用于处理 json
  • exception_listener
  • logger
  • Bitrix 清理缓存命令

安装

建议在 /local/php_interface 下进行安装。

$ cd local/php_interface
$ composer create-project jack797/bitrix-symfony-adapter application

之后需要配置应用程序。为了做到这一点,请转到创建的应用程序。

$ cd application/

默认情况下,应用程序在 web 文件夹中创建 api 入口点(api 文件夹)。可以将创建的 api 文件夹移动到 Bitrix 的根目录。请检查 bin/console 中是否正确设置了 DOCUMENT_ROOT。

$_SERVER['DOCUMENT_ROOT'] = $DOCUMENT_ROOT = dirname(__DIR__, 4);

将 app/bootstrap.php 文件连接到 init.php

include_once ($_SERVER["DOCUMENT_ROOT"]. '/local/php_interface/application/config/bootstrap.php');

根据 app/.env.local.php.dist 创建 app/.env.local.php 并配置变量。

<?php
// Тип среды. Поддерживаемые значения: dev, stage, prod
putenv('APP_ENV=dev');
// путь до проекта, по умолчанию настроен на /local/php_interface/application
// если он отличается, то надо объявить переменную и переопределить
//putenv('PROJECT_DIR=/local/php_interface/application');

为了检查功能,可以运行命令并检查 symfony 版本。

$ php bin/console -V 

为了检查 API,有一个已安装的 HomeController 控制器。该命令将输出可用的方法列表。

$ php bin/console debug:router 

为了检查 API,有一个已安装的 request web/home.http 用于测试 API。PhpStorm 可以与其配合使用。如果一切正常,将返回响应,也可以检查字段验证是否正常工作。

项目结构

  • app - 连接到 Bitrix 的 symfony 主要文件
    • .env.local.php.dist - 用于创建 .env.local.php 的模板 - 用于重写主要设置
    • .env - 主要设置
    • AppKernel.php - 创建 symfony 应用程序的主要文件
    • bootstrap.php - 连接 vendor 和 env
    • bundles.php - 连接包
  • bin - 用于控制台应用程序的文件夹(console, migrate)
    • console - symfony/console
  • config - 应用程序配置文件夹
  • src(App) - 项目代码
  • translations - 用于翻译,目前设置为 locale ru,默认将使用主要翻译
  • vendor - 包
  • web - 辅助文件,在安装 Bitrix 后可以删除
    • api - 包含 API 入口点的文件夹,可以复制到 Bitrix 的根目录
      • index.php - API 的入口点
    • home.http - 用于检查应用程序工作的文件,可以删除
  • composer.json - composer 包
  • composer.lock - composer 锁定文件
  • symfony.lock - symfony 锁定文件