tokimikichika/find 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tokimikichika/find

最新稳定版本:v0.7.7

Composer 安装命令:

composer require tokimikichika/find

包简介

Text analysis library for counting words, characters, sentences and paragraph

README 文档

README

Tokimikichika/find — текстовый анализатор (PHP + Slim, Vue, Docker)

Мини‑библиотека и сервис для анализа текста: считает слова, символы, предложения и параграфы, средние длины и топ слов. Бэкенд на PHP (Slim 4, PHP‑FPM), фронтенд на Vue (Vite), контейнеризация через Docker Compose.

Структура

backend/            # PHP (Slim) приложение и библиотека
  public/index.php  # Входная точка Slim (PSR-7)
  src/              # Классы анализа текста и контроллеры
  composer.json     # Зависимости PHP
frontend/           # Vue (Vite) фронтенд
  src/              # Компоненты
  vite.config.js    # Прокси /api в dev-режиме
docker/
  nginx.conf        # Конфиг Nginx для prod
docker-compose.yml  # 

Быстрый старт (Docker)

  1. Собрать и запустить:
docker compose up -d --build
  1. Открыть фронтенд: http://localhost:6123

Фронт раздаётся Nginx, запросы /api проксируются в PHP‑FPM на backend/public/index.php.

Локальная разработка (без Docker)

  • Backend

    • Установка зависимостей:
      cd backend
      composer install
    • Запуск Slim через встроенный сервер PHP (документ‑руут public):
      php -S localhost:8080 -t public
    • Проверка API:
      curl -s -X POST http://localhost:8080/api/v1/analyze/text \
        -H "Content-Type: application/json" \
        -d '{"text":"Привет мир! Hello world."}'
  • Frontend

    • Dev‑сервер Vite (прокси на /apihttp://localhost:8080):
      cd frontend
      npm ci
      npm run dev
    • Открыть URL Vite (http://localhost:6173).

Тестирование (PHPUnit)

cd backend
composer test-unit
# отчёт покрытия
composer test-coverage

API

  • POST /api/v1/analyze/text
    • Тело: { "text": "строка" }
    • Успех (пример):
      {
        "source": "text",
        "words": 6,
        "characters": 28,
        "sentences": 2,
        "paragraphs": 1,
        "avg_word_length": 4.2,
        "avg_sentence_length": 3.0,
        "top_words": [{ "word": "hello", "count": 1 }]
      }
    • Ошибка 400: { "error": "Text is required" }

Продакшен‑сборка фронтенда

Сборка выполняется в Dockerfile фронта (npm run builddist/), далее Nginx раздаёт статику и проксирует /api в php‑fpm.

Лицензия: MIT

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-12