1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaobai1993-fast-think

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Фаст-Тхинк: краткое описание

Фаст-Тхинк — это фреймворк, основанный на ThinkPHP и предназначенный для быстрой и эффективной разработки бизнес-приложений. Он включает в себя настраиваемые команды (command), конструктор запросов и генератор документации. Для начала работы достаточно одной инструкции MySQL для создания таблицы, а код и комментарии генерируются автоматически по нажатию клавиши. Интерфейсная документация создаётся в реальном времени.

Фаст-Тхинк: подробное описание

  • Потребность в разработке: автор работал с ThinkPHP, но со временем код стал сложным для поддержки. Поэтому возникла необходимость в создании нового фреймворка, который сделает разработку более эффективной, быстрой и снизит затраты на обслуживание кода.

  • Архитектура фреймворка:

    • Module: модули, которые соответствуют различным бизнес-функциям, например, book для книг. Контроллеры и административные функции находятся в backend, а API-функции — в api.
    • Service: содержит бизнес-логику, ссылается на модель и может вызывать другие сервисы. Сервисы в backend отвечают за backend-функции, а сервисы в api наследуют backend-сервисы и могут содержать общие методы.
    • Model: представляет собой уникальную модель данных без бизнес-логики, только с методами для работы с ORM, получения и изменения данных, динамическими свойствами и переопределением методов модели.
    • Controller: предоставляет API-интерфейсы, не вызывает модели напрямую, только сервисы.
    • Validate: валидаторы, избегайте создания экземпляров соответствующих классов, используйте метод gocheck для автоматической проверки.
    • Logic: хранит контекст между бизнес-процессами, например, создание таблицы данных на основе информации от клиента. Избегайте использования массивов и словарей для передачи параметров, лучше использовать классы параметров для конкретных сценариев.
    • Enum: перечисления для определения значений, можно использовать BaseEnum для создания объектов enum на основе значений.
  • Изменения в коде ThinkPHP:

    1. В файле ThinkPHP/library/think/model/Relation.php добавлены два метода для определения условий соединения таблиц:
      • getForeignKey() для получения внешнего ключа;
      • getLocalKey() для получения локального ключа.
    2. В файле ThinkPHP/library/think/model/relation/BelongsToMany.php закомментирован метод baseQuery(), чтобы избежать проблем при поиске по многим ко многим.
  • Функциональное тестирование:

    • Загрузите проект на локальный компьютер и запустите его с помощью nginx. Добавьте конфигурацию в nginx для обработки запросов:
location / { 
   if (!-e $request_filename) {
   		rewrite  ^(.*)$  /index.php?s=/$1  last;
    }
}
* Импортируйте SQL-запросы из файла init.sql в тестовую базу данных и настройте соединение с базой данных в файле config/database.php.
* Используйте команду `php think auto_code book` для генерации кода для модели book.
* Для добавления фильтров в список страниц измените метод `buildQuerySet` в сервисе.
* Если необходимо связать данные или выполнить поиск, используйте класс `TpQuerySet`.
* Чтобы получить информацию о книге, включая автора и издательство, определите связи в модели BookModel и добавьте соответствующие методы с суффиксом Data.
* В методе lists сервиса используйте методы `setField` и `setWith` класса `TpQuerySet` для настройки фильтров.
* При необходимости поиска по связанным таблицам используйте метод `getQueryKeyByField`.
* После настройки проекта выполните запрос к API для получения списка книг с использованием параметров запроса.
* Документация генерируется автоматически на основе комментариев в коде.

В конце автор подчёркивает, что теперь можно забыть о написании документации вручную, так как она будет генерироваться автоматически на основе кода.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Fast-think — это модель, основанная на thinkphp, предназначенная для быстрой и эффективной разработки бизнес-приложений. Она включает в себя пользовательские команды command, конструктор запросов, генератор документации и т. д. Требуется всего одна инструкция MySQL для создания таблицы, при этом код и комментарии создаются автоматически нажати... Развернуть Свернуть
BSD-3-Clause-Clear
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xiaobai1993-fast-think.git
git@api.gitlife.ru:oschina-mirror/xiaobai1993-fast-think.git
oschina-mirror
xiaobai1993-fast-think
xiaobai1993-fast-think
master