mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-12 11:15:34 +08:00
Compare commits
61 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3d64c8f06 | ||
|
|
f0cba01bd7 | ||
|
|
ea83ea2cce | ||
|
|
21f310852a | ||
|
|
6173cf2e37 | ||
|
|
4791099a78 | ||
|
|
9d1952f5f8 | ||
|
|
6543574695 | ||
|
|
5b1c771a2d | ||
|
|
29d7d07c8e | ||
|
|
e85e1e57b1 | ||
|
|
90a4c6803e | ||
|
|
ff1b43ad89 | ||
|
|
cdd273808c | ||
|
|
f8bcc359da | ||
|
|
ccc0280d2f | ||
|
|
bd98608d2e | ||
|
|
90b6580e80 | ||
|
|
64899a50c1 | ||
|
|
d12f0bf317 | ||
|
|
422dd81bbf | ||
|
|
3a6c821249 | ||
|
|
a12b5eadf3 | ||
|
|
27c5debcb0 | ||
|
|
594b7f5f82 | ||
|
|
2c28ed9ab8 | ||
|
|
5f3a626557 | ||
|
|
1ebcfa8e7e | ||
|
|
3edab143c3 | ||
|
|
9cd5f24d2f | ||
|
|
34919afb36 | ||
|
|
6282da4972 | ||
|
|
de4748860c | ||
|
|
c7736a7c3e | ||
|
|
3f9493ae7e | ||
|
|
dbda5dc299 | ||
|
|
c9ab695a9e | ||
|
|
bb57efc149 | ||
|
|
76543d5ec0 | ||
|
|
598f568b8c | ||
|
|
fc8c0b540a | ||
|
|
af75fc2f94 | ||
|
|
b94bbbca20 | ||
|
|
784fc1697b | ||
|
|
190eba585b | ||
|
|
f97b87d5e5 | ||
|
|
2c1a158d3e | ||
|
|
90de54c6a3 | ||
|
|
d596c315f2 | ||
|
|
52afaa3fb9 | ||
|
|
47cca37854 | ||
|
|
0fa49171b9 | ||
|
|
ea1d14ba00 | ||
|
|
a01791ddbe | ||
|
|
51a9c5c4e8 | ||
|
|
b1e37943df | ||
|
|
5459d1c5ff | ||
|
|
21373097bb | ||
|
|
f4f7327695 | ||
|
|
36fc2cb4cd | ||
|
|
b7469b9dd4 |
@@ -11,5 +11,5 @@ trim_trailing_whitespace = true
|
|||||||
[*.md]
|
[*.md]
|
||||||
trim_trailing_whitespace = false
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
[*.{yml,yaml, vue}]
|
[*.{yml,yaml}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
21
.gitattributes
vendored
21
.gitattributes
vendored
@@ -1,21 +0,0 @@
|
|||||||
# Exclude build/test files from archive (reduce package size)
|
|
||||||
/.github export-ignore
|
|
||||||
/.phive export-ignore
|
|
||||||
/build export-ignore
|
|
||||||
/docs export-ignore
|
|
||||||
/ext export-ignore
|
|
||||||
/resources export-ignore
|
|
||||||
/tests export-ignore
|
|
||||||
/tests_old export-ignore
|
|
||||||
/.editorconfig export-ignore
|
|
||||||
/.gitattributes export-ignore
|
|
||||||
/.gitignore export-ignore
|
|
||||||
/.php-cs-fixer.php export-ignore
|
|
||||||
/captainhook.json export-ignore
|
|
||||||
/install-runtime.sh export-ignore
|
|
||||||
/package.json export-ignore
|
|
||||||
/phpstan.neon export-ignore
|
|
||||||
/phpunit.xml.dist export-ignore
|
|
||||||
|
|
||||||
# Configure diff output
|
|
||||||
*.php diff=php
|
|
||||||
62
.github/workflows/build-release-artifacts.yml
vendored
62
.github/workflows/build-release-artifacts.yml
vendored
@@ -1,62 +0,0 @@
|
|||||||
name: Build Release Artifacts
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types:
|
|
||||||
- published
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-release-artifacts:
|
|
||||||
name: Build Release Artifacts
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.base_ref }}
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: sunxyw/workflows/setup-environment@main
|
|
||||||
with:
|
|
||||||
php-version: 8.3
|
|
||||||
php-extensions: swoole, posix, json
|
|
||||||
operating-system: ubuntu-latest
|
|
||||||
use-cache: true
|
|
||||||
|
|
||||||
- name: Remove Dev Dependencies
|
|
||||||
run: composer install --no-dev
|
|
||||||
|
|
||||||
- name: Build Phar
|
|
||||||
run: ./zhamao build
|
|
||||||
|
|
||||||
- name: Upload Release Asset
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
with:
|
|
||||||
files: build/zm.phar
|
|
||||||
|
|
||||||
update-changelog:
|
|
||||||
name: Update Changelog
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.base_ref }}
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: sunxyw/workflows/setup-environment@main
|
|
||||||
with:
|
|
||||||
php-version: 8.3
|
|
||||||
php-extensions: swoole, posix, json
|
|
||||||
operating-system: ubuntu-latest
|
|
||||||
use-cache: true
|
|
||||||
|
|
||||||
- name: Update Changelog
|
|
||||||
run: ./zhamao generate:text update-log-md
|
|
||||||
|
|
||||||
- name: Commit Changelog
|
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
with:
|
|
||||||
commit_message: update changelog
|
|
||||||
branch: ${{ github.event.release.target_commitish }}
|
|
||||||
43
.github/workflows/coding-style.yml
vendored
43
.github/workflows/coding-style.yml
vendored
@@ -1,43 +0,0 @@
|
|||||||
name: Code Style
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pre_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
|
||||||
steps:
|
|
||||||
- id: skip_check
|
|
||||||
uses: fkirc/skip-duplicate-actions@v5
|
|
||||||
with:
|
|
||||||
concurrent_skipping: same_content_newer
|
|
||||||
skip_after_successful_duplicate: true
|
|
||||||
paths: '["src/**", "tests/**"]'
|
|
||||||
do_not_skip: '["workflow_dispatch", "schedule"]'
|
|
||||||
|
|
||||||
cs-fix:
|
|
||||||
needs: pre_job
|
|
||||||
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
|
|
||||||
name: Code Style
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 10
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: sunxyw/workflows/setup-environment@main
|
|
||||||
with:
|
|
||||||
php-version: 8.3
|
|
||||||
php-extensions: swoole, posix, json
|
|
||||||
operating-system: ubuntu-latest
|
|
||||||
use-cache: true
|
|
||||||
|
|
||||||
- name: Code Style
|
|
||||||
uses: sunxyw/workflows/coding-style@main
|
|
||||||
86
.github/workflows/increment-build-number.yml
vendored
86
.github/workflows/increment-build-number.yml
vendored
@@ -3,7 +3,7 @@ name: Increment Build Number
|
|||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- master
|
||||||
types:
|
types:
|
||||||
- closed
|
- closed
|
||||||
paths:
|
paths:
|
||||||
@@ -16,56 +16,54 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v2
|
||||||
with:
|
|
||||||
ref: ${{ github.base_ref }}
|
|
||||||
|
|
||||||
- name: Setup PHP
|
- name: Setup PHP
|
||||||
uses: sunxyw/workflows/setup-environment@main
|
uses: "shivammathur/setup-php@v2"
|
||||||
with:
|
with:
|
||||||
php-version: 8.3
|
php-version: '8.1'
|
||||||
php-extensions: swoole, posix, json
|
extensions: swoole, posix, json
|
||||||
operating-system: ubuntu-latest
|
|
||||||
use-cache: true
|
|
||||||
|
|
||||||
- name: Prepare Doxygen
|
- name: Setup problem matchers for PHP
|
||||||
id: prepare-doxygen
|
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
|
||||||
|
|
||||||
|
- name: Get composer cache directory
|
||||||
|
id: composer-cache
|
||||||
|
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||||
|
|
||||||
|
- name: Cache dependencies
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.composer-cache.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
|
||||||
|
restore-keys: ${{ runner.os }}-composer-
|
||||||
|
|
||||||
|
- name: Install Composer Dependencies
|
||||||
|
run: "composer install --prefer-dist --no-progress --optimize-autoloader"
|
||||||
|
|
||||||
|
- name: Generate API Docs
|
||||||
|
id: generate-api-docs
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: bin/prepare-doxygen before
|
run: bin/gendoc
|
||||||
|
|
||||||
- name: Generate Doxygen
|
- name: Commit api docs
|
||||||
if: steps.prepare-doxygen.outcome == 'success'
|
if: steps.generate-api-docs.outcome == 'success'
|
||||||
uses: mattnotmitt/doxygen-action@v1.9.5
|
continue-on-error: true
|
||||||
|
run: |
|
||||||
- name: Finishing Doxygen
|
git config --global user.name 'Github Build Bot'
|
||||||
if: steps.prepare-doxygen.outcome == 'success'
|
git config --global user.email 'noreply@github.com'
|
||||||
run: bin/prepare-doxygen after
|
git add docs
|
||||||
|
git commit -m "update api docs"
|
||||||
- name: Commit API Docs
|
git push
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
with:
|
|
||||||
commit_message: update api docs
|
|
||||||
branch: ${{ github.base_ref }}
|
|
||||||
|
|
||||||
- name: Update Class Aliases Docs
|
|
||||||
run: ./zhamao generate:text class-alias-md
|
|
||||||
if: ${{ github.event.pull_request.merged == true && contains(github.event.pull_request.changed_files, 'src/Globals/global_class_alias.php') }}
|
|
||||||
|
|
||||||
- name: Commit Class Aliases Docs
|
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
with:
|
|
||||||
commit_message: update class aliases docs
|
|
||||||
branch: ${{ github.base_ref }}
|
|
||||||
|
|
||||||
- name: Increment build number
|
- name: Increment build number
|
||||||
id: increment-build-number
|
run: sed -i -r 's/(.*)(\VERSION_ID\s=\s)([0-9]+)(.*)/echo "\1\2$((\3+1))\4"/ge' src/ZM/ConsoleApplication.php
|
||||||
run: |
|
|
||||||
sed -i -r 's/(.*)(\VERSION_ID\s=\s)([0-9]+)(.*)/echo "\1\2$((\3+1))\4"/ge' src/ZM/Framework.php
|
|
||||||
BUILD_ID=$(cat src/ZM/Framework.php | grep "VERSION_ID = " | sed 's/[^0-9]//g')
|
|
||||||
echo "::set-output name=build_id::$BUILD_ID"
|
|
||||||
|
|
||||||
- name: Commit build number
|
- name: Commit build number
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
run: |
|
||||||
with:
|
BUILD_ID=$(cat src/ZM/ConsoleApplication.php | grep "VERSION_ID = " | sed 's/[^0-9]//g')
|
||||||
commit_message: increment build number (build ${{ steps.increment-build-number.outputs.build_id }})
|
git config --global user.name 'Github Build Bot'
|
||||||
branch: ${{ github.base_ref }}
|
git config --global user.email 'noreply@github.com'
|
||||||
|
git add src/ZM/ConsoleApplication.php
|
||||||
|
git commit -m "increment build number (build $BUILD_ID)"
|
||||||
|
git push
|
||||||
|
|||||||
101
.github/workflows/integration-test.yml
vendored
Normal file
101
.github/workflows/integration-test.yml
vendored
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
name: Integration and Style Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- '**/**.php'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
- review_requested
|
||||||
|
paths:
|
||||||
|
- '**/**.php'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
integration:
|
||||||
|
name: Integration Test (PHP ${{ matrix.php-versions }}) (OS ${{ matrix.operating-system }})
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
operating-system: [ "ubuntu-latest", "macos-latest" ]
|
||||||
|
php-versions: [ "7.2", "7.3", "7.4", "8.0", "8.1" ]
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup PHP
|
||||||
|
uses: "shivammathur/setup-php@v2"
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extensions: swoole, posix, json
|
||||||
|
env:
|
||||||
|
SWOOLE_CONFIGURE_OPTS: --enable-openssl
|
||||||
|
|
||||||
|
- name: Setup problem matchers for PHP
|
||||||
|
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
|
||||||
|
|
||||||
|
- name: Validate composer.json
|
||||||
|
run: "composer validate --strict"
|
||||||
|
|
||||||
|
- name: Get composer cache directory
|
||||||
|
id: composer-cache
|
||||||
|
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||||
|
|
||||||
|
- name: Cache dependencies
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.composer-cache.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
|
||||||
|
restore-keys: ${{ runner.os }}-composer-
|
||||||
|
|
||||||
|
- name: Install Composer Dependencies
|
||||||
|
run: "composer install --prefer-dist --no-progress --optimize-autoloader"
|
||||||
|
|
||||||
|
- name: Run Static Analysis
|
||||||
|
run: "composer analyse"
|
||||||
|
|
||||||
|
- name: Run PHPUnit
|
||||||
|
run: "composer test"
|
||||||
|
|
||||||
|
cs-check:
|
||||||
|
name: PHP CS Fixer Check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup PHP 7.2
|
||||||
|
uses: "shivammathur/setup-php@v2"
|
||||||
|
with:
|
||||||
|
php-version: "7.2"
|
||||||
|
extensions: swoole, posix, json
|
||||||
|
|
||||||
|
- name: Setup problem matchers for PHP
|
||||||
|
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
|
||||||
|
|
||||||
|
- name: Validate composer.json
|
||||||
|
run: "composer validate --strict"
|
||||||
|
|
||||||
|
- name: Get composer cache directory
|
||||||
|
id: composer-cache
|
||||||
|
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||||
|
|
||||||
|
- name: Cache dependencies
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.composer-cache.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
|
||||||
|
restore-keys: ${{ runner.os }}-composer-
|
||||||
|
|
||||||
|
- name: Install Composer Dependencies
|
||||||
|
run: "composer install --prefer-dist --no-progress --optimize-autoloader"
|
||||||
|
|
||||||
|
- name: Run PHP CS Fixer Check
|
||||||
|
run: "composer cs-fix -- --dry-run --diff"
|
||||||
43
.github/workflows/static-analysis.yml
vendored
43
.github/workflows/static-analysis.yml
vendored
@@ -1,43 +0,0 @@
|
|||||||
name: Static Analysis
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pre_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
|
||||||
steps:
|
|
||||||
- id: skip_check
|
|
||||||
uses: fkirc/skip-duplicate-actions@v5
|
|
||||||
with:
|
|
||||||
concurrent_skipping: same_content_newer
|
|
||||||
skip_after_successful_duplicate: true
|
|
||||||
paths: '["src/**", "tests/**"]'
|
|
||||||
do_not_skip: '["workflow_dispatch", "schedule"]'
|
|
||||||
|
|
||||||
analyse:
|
|
||||||
needs: pre_job
|
|
||||||
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
|
|
||||||
name: Static Analysis
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 10
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: sunxyw/workflows/setup-environment@main
|
|
||||||
with:
|
|
||||||
php-version: 8.3
|
|
||||||
php-extensions: swoole, posix, json
|
|
||||||
operating-system: ubuntu-latest
|
|
||||||
use-cache: true
|
|
||||||
|
|
||||||
- name: Static Analysis
|
|
||||||
uses: sunxyw/workflows/static-analysis@main
|
|
||||||
55
.github/workflows/test.yml
vendored
55
.github/workflows/test.yml
vendored
@@ -1,55 +0,0 @@
|
|||||||
name: Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
- '*-dev*'
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- reopened
|
|
||||||
- review_requested
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pre_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
|
||||||
steps:
|
|
||||||
- id: skip_check
|
|
||||||
uses: fkirc/skip-duplicate-actions@v5
|
|
||||||
with:
|
|
||||||
concurrent_skipping: same_content_newer
|
|
||||||
skip_after_successful_duplicate: true
|
|
||||||
paths: '["src/**", "tests/**", "bin/phpunit-zm"]'
|
|
||||||
do_not_skip: '["workflow_dispatch", "schedule"]'
|
|
||||||
|
|
||||||
test:
|
|
||||||
needs: pre_job
|
|
||||||
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
operating-system: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
||||||
php-version: [ 8.1, 8.2, 8.3, 8.4 ]
|
|
||||||
name: PHP ${{ matrix.php-version }} Test (${{ matrix.operating-system }})
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
timeout-minutes: 10
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: sunxyw/workflows/setup-environment@main
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php-version }}
|
|
||||||
php-extensions: swoole, posix, json
|
|
||||||
operating-system: ${{ matrix.operating-system }}
|
|
||||||
use-cache: true
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
uses: sunxyw/workflows/test@main
|
|
||||||
16
.github/workflows/vuepress-deploy.yml
vendored
16
.github/workflows/vuepress-deploy.yml
vendored
@@ -2,7 +2,7 @@ name: Docs and Script Auto Deploy
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- master
|
||||||
paths:
|
paths:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'ext/**'
|
- 'ext/**'
|
||||||
@@ -13,7 +13,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout master
|
- name: Checkout master
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Deploy docs to GitHub Pages
|
- name: Deploy docs to GitHub Pages
|
||||||
uses: jenkey2011/vuepress-deploy@master
|
uses: jenkey2011/vuepress-deploy@master
|
||||||
@@ -32,20 +32,12 @@ jobs:
|
|||||||
SOURCE: "deploy/"
|
SOURCE: "deploy/"
|
||||||
REMOTE_HOST: ${{ secrets.ZHAMAO_XIN_HOST }}
|
REMOTE_HOST: ${{ secrets.ZHAMAO_XIN_HOST }}
|
||||||
REMOTE_USER: ${{ secrets.ZHAMAO_XIN_USER }}
|
REMOTE_USER: ${{ secrets.ZHAMAO_XIN_USER }}
|
||||||
TARGET: ${{ secrets.FRAMEWORK_ZHAMAO_XIN_TARGET }}
|
TARGET: ${{ secrets.ZHAMAO_XIN_TARGET }}
|
||||||
- name: deploy script file
|
- name: deploy script file
|
||||||
uses: wlixcc/SFTP-Deploy-Action@v1.2
|
uses: wlixcc/SFTP-Deploy-Action@v1.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.ZHAMAO_XIN_USER }}
|
username: ${{ secrets.ZHAMAO_XIN_USER }}
|
||||||
server: ${{ secrets.ZHAMAO_XIN_HOST }}
|
server: ${{ secrets.ZHAMAO_XIN_HOST }}
|
||||||
ssh_private_key: ${{ secrets.ZHAMAO_XIN_PRIVATE_KEY }}
|
ssh_private_key: ${{ secrets.ZHAMAO_XIN_PRIVATE_KEY }}
|
||||||
local_path: './ext/go.sh'
|
local_path: './ext/go.sh'
|
||||||
remote_path: ${{ secrets.ZHAMAO_XIN_MAIN_TARGET }}
|
remote_path: ${{ secrets.ZHAMAO_XIN_MAIN_TARGET }}
|
||||||
- name: deploy script file
|
|
||||||
uses: wlixcc/SFTP-Deploy-Action@v1.2
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.ZHAMAO_XIN_USER }}
|
|
||||||
server: ${{ secrets.ZHAMAO_XIN_HOST }}
|
|
||||||
ssh_private_key: ${{ secrets.ZHAMAO_XIN_PRIVATE_KEY }}
|
|
||||||
local_path: './ext/v3.sh'
|
|
||||||
remote_path: ${{ secrets.ZHAMAO_XIN_MAIN_TARGET }}
|
|
||||||
|
|||||||
10
.gitignore
vendored
10
.gitignore
vendored
@@ -7,9 +7,7 @@
|
|||||||
/tmp/
|
/tmp/
|
||||||
/temp/
|
/temp/
|
||||||
/site/
|
/site/
|
||||||
/plugins/
|
|
||||||
/doxy/
|
|
||||||
/walle/
|
|
||||||
# 框架审计文件
|
# 框架审计文件
|
||||||
audit.log
|
audit.log
|
||||||
|
|
||||||
@@ -51,7 +49,6 @@ cghooks.lock
|
|||||||
/node_modules/
|
/node_modules/
|
||||||
/docs/.vuepress/dist/
|
/docs/.vuepress/dist/
|
||||||
package-lock.json
|
package-lock.json
|
||||||
pnpm-lock.yaml
|
|
||||||
|
|
||||||
### PHPUnit ###
|
### PHPUnit ###
|
||||||
|
|
||||||
@@ -81,8 +78,3 @@ pnpm-lock.yaml
|
|||||||
|
|
||||||
### ASDF ###
|
### ASDF ###
|
||||||
/.tool-version
|
/.tool-version
|
||||||
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
### PHP CS Fixer ###
|
|
||||||
.php-cs-fixer.cache
|
|
||||||
|
|||||||
@@ -6,75 +6,80 @@ declare(strict_types=1);
|
|||||||
* @since 2.7.0
|
* @since 2.7.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'@PSR12' => true,
|
||||||
|
'@Symfony' => true,
|
||||||
|
'@PhpCsFixer' => true,
|
||||||
|
'array_syntax' => [
|
||||||
|
'syntax' => 'short',
|
||||||
|
],
|
||||||
|
'list_syntax' => [
|
||||||
|
'syntax' => 'short',
|
||||||
|
],
|
||||||
|
'concat_space' => [
|
||||||
|
'spacing' => 'one',
|
||||||
|
],
|
||||||
|
'blank_line_before_statement' => [
|
||||||
|
'statements' => [
|
||||||
|
'declare',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'ordered_imports' => [
|
||||||
|
'imports_order' => [
|
||||||
|
'class',
|
||||||
|
'function',
|
||||||
|
'const',
|
||||||
|
],
|
||||||
|
'sort_algorithm' => 'alpha',
|
||||||
|
],
|
||||||
|
'single_line_comment_style' => [
|
||||||
|
'comment_types' => [
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'yoda_style' => [
|
||||||
|
'always_move_variable' => false,
|
||||||
|
'equal' => false,
|
||||||
|
'identical' => false,
|
||||||
|
],
|
||||||
|
'multiline_whitespace_before_semicolons' => [
|
||||||
|
'strategy' => 'no_multi_line',
|
||||||
|
],
|
||||||
|
'constant_case' => [
|
||||||
|
'case' => 'lower',
|
||||||
|
],
|
||||||
|
'class_attributes_separation' => true,
|
||||||
|
'combine_consecutive_unsets' => true,
|
||||||
|
'declare_strict_types' => true,
|
||||||
|
'linebreak_after_opening_tag' => true,
|
||||||
|
'lowercase_static_reference' => true,
|
||||||
|
'no_useless_else' => true,
|
||||||
|
'no_unused_imports' => true,
|
||||||
|
'not_operator_with_successor_space' => false,
|
||||||
|
'not_operator_with_space' => false,
|
||||||
|
'ordered_class_elements' => true,
|
||||||
|
'php_unit_strict' => false,
|
||||||
|
'phpdoc_separation' => false,
|
||||||
|
'single_quote' => true,
|
||||||
|
'standardize_not_equals' => true,
|
||||||
|
'multiline_comment_opening_closing' => true,
|
||||||
|
'phpdoc_summary' => false,
|
||||||
|
'php_unit_test_class_requires_covers' => false,
|
||||||
|
'global_namespace_import' => false,
|
||||||
|
'phpdoc_order' => false,
|
||||||
|
];
|
||||||
|
|
||||||
|
if (PHP_VERSION_ID > 70400) {
|
||||||
|
$rules['no_useless_concat_operator'] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 'no_useless_concat_operator' => false,
|
||||||
|
|
||||||
return (new PhpCsFixer\Config())
|
return (new PhpCsFixer\Config())
|
||||||
->setRiskyAllowed(true)
|
->setRiskyAllowed(true)
|
||||||
->setRules([
|
->setRules($rules)
|
||||||
'@PSR12' => true,
|
|
||||||
'@Symfony' => true,
|
|
||||||
'@PhpCsFixer' => true,
|
|
||||||
'array_syntax' => [
|
|
||||||
'syntax' => 'short',
|
|
||||||
],
|
|
||||||
'list_syntax' => [
|
|
||||||
'syntax' => 'short',
|
|
||||||
],
|
|
||||||
'concat_space' => [
|
|
||||||
'spacing' => 'one',
|
|
||||||
],
|
|
||||||
'blank_line_before_statement' => [
|
|
||||||
'statements' => [
|
|
||||||
'declare',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'ordered_imports' => [
|
|
||||||
'imports_order' => [
|
|
||||||
'class',
|
|
||||||
'function',
|
|
||||||
'const',
|
|
||||||
],
|
|
||||||
'sort_algorithm' => 'alpha',
|
|
||||||
],
|
|
||||||
'single_line_comment_style' => [
|
|
||||||
'comment_types' => [
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'yoda_style' => [
|
|
||||||
'always_move_variable' => false,
|
|
||||||
'equal' => false,
|
|
||||||
'identical' => false,
|
|
||||||
],
|
|
||||||
'multiline_whitespace_before_semicolons' => [
|
|
||||||
'strategy' => 'no_multi_line',
|
|
||||||
],
|
|
||||||
'constant_case' => [
|
|
||||||
'case' => 'lower',
|
|
||||||
],
|
|
||||||
'class_attributes_separation' => true,
|
|
||||||
'combine_consecutive_unsets' => true,
|
|
||||||
'declare_strict_types' => true,
|
|
||||||
'linebreak_after_opening_tag' => true,
|
|
||||||
'lowercase_static_reference' => true,
|
|
||||||
'no_useless_else' => true,
|
|
||||||
'no_unused_imports' => true,
|
|
||||||
'not_operator_with_successor_space' => false,
|
|
||||||
'not_operator_with_space' => false,
|
|
||||||
'ordered_class_elements' => true,
|
|
||||||
'php_unit_strict' => false,
|
|
||||||
'phpdoc_separation' => false,
|
|
||||||
'single_quote' => true,
|
|
||||||
'standardize_not_equals' => true,
|
|
||||||
'multiline_comment_opening_closing' => true,
|
|
||||||
'phpdoc_summary' => false,
|
|
||||||
'php_unit_test_class_requires_covers' => false,
|
|
||||||
'fully_qualified_strict_types' => false,
|
|
||||||
'new_with_parentheses' => false,
|
|
||||||
'operator_linebreak' => false,
|
|
||||||
'php_unit_data_provider_method_order' => false,
|
|
||||||
])
|
|
||||||
->setFinder(
|
->setFinder(
|
||||||
PhpCsFixer\Finder::create()
|
PhpCsFixer\Finder::create()
|
||||||
->in(__DIR__ . '/src')
|
->in(__DIR__ . '/src')
|
||||||
->in(__DIR__ . '/tests')
|
->in(__DIR__ . '/tests')
|
||||||
->in(__DIR__ . '/config')
|
)
|
||||||
->in(__DIR__ . '/bin')
|
->setUsingCache(false);
|
||||||
);
|
|
||||||
|
|||||||
17
.run/Reload Zhamao Server.run.xml
Normal file
17
.run/Reload Zhamao Server.run.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Reload Zhamao Server" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="./zhamao server:reload && exit" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="false" />
|
||||||
|
<envs />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
17
.run/Run Zhamao Server.run.xml
Normal file
17
.run/Run Zhamao Server.run.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Run Zhamao Server" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="./zhamao server" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="./zhamao" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="server" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="false" />
|
||||||
|
<envs />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
17
.run/Run watcher.run.xml
Normal file
17
.run/Run watcher.run.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Run watcher" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="bin/watcher" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="/bin/zsh" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="false" />
|
||||||
|
<envs />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
17
.run/Stop Zhamao Server.run.xml
Normal file
17
.run/Stop Zhamao Server.run.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Stop Zhamao Server" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="./zhamao server:stop && exit" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="false" />
|
||||||
|
<envs />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
# 炸毛框架贡献指南
|
|
||||||
|
|
||||||
首先很高兴你愿意读这篇文章,因为我们需要更多的开发者来帮助我们开发和维护。
|
|
||||||
|
|
||||||
如果你还没加入我们的 [QQ 群(670821194)][qq-group],我们建议你加入一下,以便和其他开发者实时交流和协作。
|
|
||||||
|
|
||||||
## 测试
|
|
||||||
|
|
||||||
我们目前采用 PHPUnit 作为测试框架,如果你编写了新的功能或改变了现有的行为,我们希望你可以编写相应的测试代码。
|
|
||||||
|
|
||||||
## 提交变更
|
|
||||||
|
|
||||||
请使用 [GitHub Pull Request][new-pr] 提交你的更改,并附上恰当的说明(例如一个简明的列表列出所作的改动)。
|
|
||||||
|
|
||||||
同时,请不要忘记在提交前执行代码格式检查 `composer cs-fix` 和静态分析检查 `composer analyse`
|
|
||||||
。虽然我们的自动化流程会在你推送到仓库后自动运行检查,但我仍然建议你提前在本地运行,以节省可能的修改成本。
|
|
||||||
|
|
||||||
对了,请尽量为你的每个函数、方法加上 PHPDoc 注释。
|
|
||||||
|
|
||||||
## 具体贡献流程
|
|
||||||
|
|
||||||
#### **你发现了个 BUG?**
|
|
||||||
|
|
||||||
- **如果你发现的是安全漏洞,请不要在 GitHub 上回报!** 请直接联系 [@crazywhalecc](https://github.com/crazywhalecc)。
|
|
||||||
|
|
||||||
- **确保该问题还没被其他人回报。** 你可以在 [Issue 列表][issues] 中搜索相关关键词来检查。
|
|
||||||
|
|
||||||
- 如果你没能找到一个已有的 Issue 来描述你遇到的问题,[请新建一个 Issue][new-issue]。请务必包含**标题和清晰的描述**
|
|
||||||
,尽可能多的相关信息,以及一个**代码示例**或者一个**可执行的测试用例**,来描述你遇到的问题。
|
|
||||||
|
|
||||||
- 如果可以的话,请使用相关的 Issue 模板来创建 Issue。
|
|
||||||
|
|
||||||
#### **你修复了个 BUG?**
|
|
||||||
|
|
||||||
- 在 GitHub 上提交一个 Pull Request。
|
|
||||||
|
|
||||||
- 确保 PR 的描述清楚地描述了问题和解决方案。如果有相关的 Issue,请在 PR 描述中包含 Issue 编号。
|
|
||||||
|
|
||||||
#### **你想添加新功能或改变现有功能?**
|
|
||||||
|
|
||||||
- 虽然你可以直接提交 PR,但我们建议你先与我们的开发者讨论你的想法,以避免你的努力白费。你可以在 [QQ 群][qq-group]
|
|
||||||
中与我们的开发者交流,或者在 [GitHub Issue][issues] 中提出你的想法。
|
|
||||||
|
|
||||||
- 如果你的想法被采纳,你可以在 GitHub 上[提交一个 Pull Request][new-pr]。
|
|
||||||
|
|
||||||
#### **你对源码有疑问?**
|
|
||||||
|
|
||||||
- 你可以在 [QQ 群][qq-group] 中与我们的开发者讨论,或者你也可以在 [GitHub Issue][issues] 中提出你的疑问。
|
|
||||||
|
|
||||||
#### **你想为文档做贡献?**
|
|
||||||
|
|
||||||
- 非常欢迎^^
|
|
||||||
|
|
||||||
- 你可以直接[提交一个 Pull Request][new-pr]。
|
|
||||||
|
|
||||||
炸毛框架是由志愿开发者共同维护的项目。我们欢迎你加入我们的开发。
|
|
||||||
|
|
||||||
感谢~ :heart: :heart: :heart:
|
|
||||||
|
|
||||||
炸毛框架开发团队
|
|
||||||
|
|
||||||
[issues]: https://github.com/zhamao-robot/zhamao-framework/issues
|
|
||||||
|
|
||||||
[new-pr]: https://github.com/zhamao-robot/zhamao-framework/pull/new/master
|
|
||||||
|
|
||||||
[new-issue]: https://github.com/zhamao-robot/zhamao-framework/issues/new
|
|
||||||
|
|
||||||
[qq-group]: https://jq.qq.com/?_wv=1027&k=KdIGy0UK
|
|
||||||
2
LICENSE
2
LICENSE
@@ -186,7 +186,7 @@
|
|||||||
same "printed page" as the copyright notice for easier
|
same "printed page" as the copyright notice for easier
|
||||||
identification within third-party archives.
|
identification within third-party archives.
|
||||||
|
|
||||||
Copyright 2022-2023 CrazyBot Developer Team
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
|||||||
88
README.md
88
README.md
@@ -1,15 +1,15 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://cdn.jsdelivr.net/gh/zhamao-robot/zhamao-framework/resources/images/logo_trans.png" width = "150" height = "150" alt="炸毛框架"><br>
|
<img src="https://cdn.jsdelivr.net/gh/zhamao-robot/zhamao-framework/resources/images/logo_trans.png" width = "150" height = "150" alt="炸毛框架"><br>
|
||||||
<h2>炸毛框架</h2>
|
<h2>炸毛框架</h2>
|
||||||
炸毛框架 (zhamao-framework) 是一个高性能的聊天机器人 + Web 服务器开发框架<br><br>
|
炸毛框架 (zhamao-framework) 是一个协程高性能的聊天机器人 + Web 服务器开发框架<br><br>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://onebot.dev/">
|
<a href="https://onebot.dev/">
|
||||||
<img src="https://img.shields.io/badge/OneBot-12-black?style=flat-square" alt="OneBot">
|
<img src="https://img.shields.io/badge/OneBot-11-black?style=flat-square" alt="OneBot">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="https://github.com/zhamao-robot/zhamao-framework/actions">
|
<a href="https://github.com/zhamao-robot/zhamao-framework/actions">
|
||||||
<img src="https://img.shields.io/github/actions/workflow/status/zhamao-robot/zhamao-framework/test.yml?branch=v3-develop&label=Test&style=flat-square" alt="Integration Test">
|
<img src="https://img.shields.io/github/workflow/status/zhamao-robot/zhamao-framework/Integration%20and%20Style%20Test?label=Test&style=flat-square" alt="Integration Test">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="https://packagist.org/packages/zhamao/framework">
|
<a href="https://packagist.org/packages/zhamao/framework">
|
||||||
@@ -24,8 +24,19 @@
|
|||||||
<img src="https://img.shields.io/github/license/zhamao-robot/zhamao-framework?label=License&style=flat-square" alt="开源协议">
|
<img src="https://img.shields.io/github/license/zhamao-robot/zhamao-framework?label=License&style=flat-square" alt="开源协议">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<a href="https://wpa.qq.com/msgrd?v=3&uin=627577391&site=qq&menu=yes">
|
||||||
|
<img src="https://img.shields.io/badge/作者QQ-627577391-orange?style=flat-square" alt="作者QQ">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<a href="https://github.com/zhamao-robot/zhamao-framework/search?q=AnnotationBase">
|
||||||
|
<img src="https://img.shields.io/github/search/zhamao-robot/zhamao-framework/AnnotationBase?label=Annotations&style=flat-square" alt="注解数量">
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="https://github.com/zhamao-robot/zhamao-framework/search?q=TODO">
|
<a href="https://github.com/zhamao-robot/zhamao-framework/search?q=TODO">
|
||||||
<img src="https://img.shields.io/github/search/zhamao-robot/zhamao-framework/TODO?label=TODO%20Counter&style=flat-square" alt="TODO">
|
<img src="https://img.shields.io/github/search/zhamao-robot/zhamao-framework/TODO?label=TODO&style=flat-square" alt="TODO">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -35,38 +46,44 @@
|
|||||||
|
|
||||||
**如果有愿意一起开发框架本身的开发者,请提出 PR 或 Issue 参与开发!如果对框架本身的核心设计有更好的想法,可与作者成立开发组(目前仅 2 人),参与 OneBot V12 生态和框架本身的开发。**
|
**如果有愿意一起开发框架本身的开发者,请提出 PR 或 Issue 参与开发!如果对框架本身的核心设计有更好的想法,可与作者成立开发组(目前仅 2 人),参与 OneBot V12 生态和框架本身的开发。**
|
||||||
|
|
||||||
**相关正在进行的版本任务见 Projects 一栏!**
|
**3.0已进入Alpha阶段**
|
||||||
|
|
||||||
## 简介
|
## 简介
|
||||||
|
|
||||||
炸毛框架使用 PHP 编写,主要面向 API 服务,聊天机器人,包含 Websocket、HTTP
|
炸毛框架使用 PHP 编写,采用 Swoole 扩展为基础,主要面向 API 服务,聊天机器人(OneBot 兼容的 QQ 机器人对接),包含 Websocket、HTTP
|
||||||
等监听和请求库,用户代码采用模块化处理,使用注解可以方便地编写各类功能。
|
等监听和请求库,用户代码采用模块化处理,使用注解可以方便地编写各类功能。
|
||||||
|
|
||||||
框架主要用途为 HTTP 服务器,机器人搭建框架。尤其对于聊天机器人消息处理较为方便和全面,提供了众多会话机制和内部调用机制,可以以各种方式设计你自己的插件。
|
框架主要用途为 HTTP 服务器,机器人搭建框架。尤其对于 QQ 机器人消息处理较为方便和全面,提供了众多会话机制和内部调用机制,可以以各种方式设计你自己的模块。
|
||||||
|
|
||||||
```php
|
```php
|
||||||
#[\BotCommand('你好')]
|
/**
|
||||||
public function hello(\BotContext $ctx) {
|
* @CQCommand("你好")
|
||||||
$ctx->reply("你好,我是炸毛!"); // 简单的命令式回复
|
*/
|
||||||
|
public function hello() {
|
||||||
|
ctx()->reply("你好,我是炸毛!"); // 简单的命令式回复
|
||||||
}
|
}
|
||||||
#[\Route('/index')]
|
/**
|
||||||
|
* @RequestMapping("/index")
|
||||||
|
*/
|
||||||
public function index() {
|
public function index() {
|
||||||
return "<h1>hello!</h1>"; // 快速的 HTTP 服务开发
|
return "<h1>hello!</h1>"; // 快速的 HTTP 服务开发
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> 从 2.7.0 版本开始,框架已支持同时使用 Annotation 和原生 Attribute 注解,供开发者根据需要自由选用。
|
||||||
|
|
||||||
## 开始
|
## 开始
|
||||||
|
|
||||||
框架目前支持 Linux、WSL、macOS、Windows 环境直接运行,其中 Linux、macOS 环境可直接使用下方一键安装脚本。
|
框架目前支持 Linux、WSL、macOS 环境直接运行,上述环境可直接使用下方一键安装脚本。
|
||||||
|
|
||||||
> 如果你想在其他环境安装部署,可使用 Docker 快速部署或手动安装环境后安装框架,详见文档。
|
> 如果你想在其他环境安装部署,可使用 Docker、Cygwin,详见文档。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Linux、macOS 下一键检测 PHP 环境、安装框架
|
# 检测PHP环境、安装框架
|
||||||
bash <(curl -fsSL https://zhamao.xin/v3.sh)
|
bash <(curl -fsSL https://zhamao.xin/go.sh)
|
||||||
|
|
||||||
# 启动框架
|
# 启动框架
|
||||||
cd zhamao-v3
|
cd zhamao-app
|
||||||
./zhamao server
|
./zhamao server
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -75,17 +92,17 @@ cd zhamao-v3
|
|||||||
```bash
|
```bash
|
||||||
# 脚本默认会检测系统的PHP,如果想直接跳过检测,安装独立的PHP版本,则添加此环境变量
|
# 脚本默认会检测系统的PHP,如果想直接跳过检测,安装独立的PHP版本,则添加此环境变量
|
||||||
export ZM_NO_LOCAL_PHP="yes"
|
export ZM_NO_LOCAL_PHP="yes"
|
||||||
# 脚本如果安装独立版本PHP,默认版本为8.1,如果想使用其他版本,则添加此环境变量指定版本
|
# 脚本如果安装独立版本PHP,默认版本为8.0,如果想使用其他版本,则添加此环境变量指定版本
|
||||||
export ZM_DOWN_PHP_VERSION="8.2"
|
export ZM_DOWN_PHP_VERSION="8.1"
|
||||||
# 脚本默认会将框架在当前目录下的 `zhamao-app` 目录进行安装,如果想使用其他目录,则添加此环境变量
|
# 脚本默认会将框架在当前目录下的 `zhamao-app` 目录进行安装,如果想使用其他目录,则添加此环境变量
|
||||||
export ZM_CUSTOM_DIR="my-custom-app"
|
export ZM_CUSTOM_DIR="my-custom-app"
|
||||||
# 脚本默认会对本项目使用阿里云国内加速镜像,如果想使用packagist源,则添加此环境变量
|
# 脚本默认会对本项目使用阿里云国内加速镜像,如果想使用packagist源,则添加此环境变量
|
||||||
export ZM_COMPOSER_PACKAGIST="yes"
|
export ZM_COMPOSER_PACKAGIST="yes"
|
||||||
# 执行完前面的环境变量再执行一键安装脚本,就可以实现自定义参数!
|
# 执行完前面的环境变量再执行一键安装脚本,就可以实现自定义参数!
|
||||||
bash <(curl -fsSL https://zhamao.xin/v3.sh)
|
bash <(curl -fsSL https://zhamao.xin/go.sh)
|
||||||
```
|
```
|
||||||
|
|
||||||
关于其他安装方式,请参阅 [文档](https://framework.zhamao.xin/guide/installation.html) 。
|
关于其他安装方式,请参阅[文档](https://framework.zhamao.xin/guide/installation.html) 。
|
||||||
|
|
||||||
## 文档
|
## 文档
|
||||||
|
|
||||||
@@ -96,20 +113,28 @@ bash <(curl -fsSL https://zhamao.xin/v3.sh)
|
|||||||
## 特点
|
## 特点
|
||||||
|
|
||||||
- 原生支持多个机器人客户端同时连接
|
- 原生支持多个机器人客户端同时连接
|
||||||
|
- 使用 Swoole 多工作进程机制和协程加持,尽可能简单的情况下提升了性能
|
||||||
- 灵活的注解事件绑定机制,可同时使用 Annotation 和原生 Attribute 注解
|
- 灵活的注解事件绑定机制,可同时使用 Annotation 和原生 Attribute 注解
|
||||||
- 完善的插件系统,可编写插件后打包或分发,供他人使用
|
- 易用的上下文,模块内随处可用
|
||||||
- 采用插件化编写,可自由搭配其他 Composer 组件,也可单文件面向过程编写
|
- 采用模块化编写,可自由搭配其他 Composer 组件,也可单文件面向过程编写
|
||||||
- 支持模块打包、热加载,分享模块更方便
|
- 支持模块打包、热加载,分享模块更方便
|
||||||
- 常驻内存,全局缓存变量随处使用,提供多种缓存方案
|
- 常驻内存,全局缓存变量随处使用,提供多种缓存方案
|
||||||
- 自带 MySQL、SQLite、Redis 等数据库连接池
|
- 自带 MySQL、Redis 等数据库连接池等数据库连接方案
|
||||||
- 本身为 HTTP 服务器、WebSocket 服务器,可以构建属于自己的 HTTP API 接口
|
- 本身为 HTTP 服务器、WebSocket 服务器,可以构建属于自己的 HTTP API 接口
|
||||||
- 可选自带 PHP 环境,无需手动编译安装,by [crazywhalecc/static-php-cli](https://github.com/crazywhalecc/static-php-cli)
|
- 静态文件服务器,可将前端合并到一起
|
||||||
|
- 自带 PHP + Swoole 环境,无需手动编译安装,by [crazywhalecc/static-php-cli](https://github.com/crazywhalecc/static-php-cli)
|
||||||
|
|
||||||
|
## 下载源码
|
||||||
|
|
||||||
|
框架源码可直接克隆本仓库进行编辑,如果你在国内,访问 GitHub 和克隆仓库比较慢,可以将 `github.com` 替换为 `fgit.zhamao.me` 进行加速。
|
||||||
|
|
||||||
|
例如:`git clone https://fgit.zhamao.me/zhamao-robot/zhamao-framework.git --depth 1`。
|
||||||
|
|
||||||
## 贡献和捐赠
|
## 贡献和捐赠
|
||||||
|
|
||||||
如果你在使用过程中发现任何问题,可以提交 Issue 或自行 Fork 后修改并提交 Pull Request。
|
如果你在使用过程中发现任何问题,可以提交 Issue 或自行 Fork 后修改并提交 Pull Request。
|
||||||
|
|
||||||
目前项目仅两人维护,耗费精力较大,所以非常欢迎对框架的贡献。
|
目前项目仅一人维护,耗费精力较大,所以非常欢迎对框架的贡献。
|
||||||
|
|
||||||
本项目为作者闲暇时间开发,如果觉得好用,不妨进行捐助~你的捐助会让我更加有动力完善插件,感谢你的支持!
|
本项目为作者闲暇时间开发,如果觉得好用,不妨进行捐助~你的捐助会让我更加有动力完善插件,感谢你的支持!
|
||||||
|
|
||||||
@@ -125,13 +150,14 @@ bash <(curl -fsSL https://zhamao.xin/v3.sh)
|
|||||||
|
|
||||||
框架和 SDK 是 炸毛机器人 项目的核心框架开源部分。炸毛机器人是作者写的一个高性能机器人,曾获全国计算机设计大赛一等奖。
|
框架和 SDK 是 炸毛机器人 项目的核心框架开源部分。炸毛机器人是作者写的一个高性能机器人,曾获全国计算机设计大赛一等奖。
|
||||||
|
|
||||||
作者的炸毛机器人已从2018年初起稳定运行了**七年**,并且持续迭代。
|
作者的炸毛机器人已从2018年初起稳定运行了**五年**,并且持续迭代。
|
||||||
|
|
||||||
可以提交 [Issue](https://github.com/zhamao-robot/zhamao-framework/issues/new/choose) 或 [加群(670821194)](https://jq.qq.com/?_wv=1027&k=YkNI3AIr) 进行疑难解答。
|
欢迎随时在 HTTP-API 插件群里提问,当然更好的话可以加作者 QQ([627577391](http://wpa.qq.com/msgrd?v=3&uin=627577391&site=qq&menu=yes))
|
||||||
|
或提交 [Issue](https://github.com/zhamao-robot/zhamao-framework/issues/new/choose) 进行疑难解答。
|
||||||
|
|
||||||
本项目在更新内容时,请及时关注 GitHub 动态,更新前请将自己的插件或项目代码做好备份。
|
本项目在更新内容时,请及时关注 GitHub 动态,更新前请将自己的模块代码做好备份。
|
||||||
|
|
||||||
项目框架采用 Apache-2.0 协议开源,在分发或重写修改等操作时需遵守协议。项目插件部分(除 `src/Globals`、`src/ZM` 文件夹外的其他文件夹) 在非借鉴框架内代码时可不遵守 Apache-2.0 协议进行分发和修改(声明版权)。
|
项目框架采用 Apache-2.0 协议开源,在分发或重写修改等操作时需遵守协议。项目模块部分(`Module` 文件夹) 在非借鉴框架内代码时可不遵守 Apache-2.0 协议进行分发和修改(声明版权)。
|
||||||
|
|
||||||
**注意**:在你使用 mirai 等 `AGPL-3.0` 协议的机器人软件与框架连接时,使用本框架需要将你编写或修改的部分使用 `AGPL-3.0` 协议重新分发。
|
**注意**:在你使用 mirai 等 `AGPL-3.0` 协议的机器人软件与框架连接时,使用本框架需要将你编写或修改的部分使用 `AGPL-3.0` 协议重新分发。
|
||||||
|
|
||||||
@@ -141,6 +167,6 @@ bash <(curl -fsSL https://zhamao.xin/v3.sh)
|
|||||||
|
|
||||||
<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/PhpStorm.svg" width="300">
|
<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/PhpStorm.svg" width="300">
|
||||||
|
|
||||||
感谢开发者 @sunxyw 中为项目开发规范化提出的一些建议。
|
感谢 [php-libonebot](https://github.com/botuniverse/php-libonebot) 开发者 @sunxyw 中为项目开发规范化提出的一些建议。
|
||||||
|
|
||||||

|
<!--  -->
|
||||||
|
|||||||
401
bin/gendoc
Executable file
401
bin/gendoc
Executable file
@@ -0,0 +1,401 @@
|
|||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 决定是否忽略该类
|
||||||
|
*
|
||||||
|
* @param ReflectionClass $class 准备生成的类的反射类
|
||||||
|
*/
|
||||||
|
function should_ignore_class(ReflectionClass $class): bool
|
||||||
|
{
|
||||||
|
// 注解类
|
||||||
|
if (($doc = $class->getDocComment()) && strpos($doc, '@Annotation') !== false) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (str_ends_with($class->getName(), 'Exception')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (str_contains($class->getName(), '_')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PHP_VERSION_ID < 70400) {
|
||||||
|
echo 'PHP 版本必须为 7.4 或以上';
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_composer_executable(string $composer): bool
|
||||||
|
{
|
||||||
|
passthru($composer . ' --version 2>/dev/null', $exit_code);
|
||||||
|
return $exit_code === 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function find_valid_root(string $current_dir, int $max_loop): string
|
||||||
|
{
|
||||||
|
if ($max_loop <= 0) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
if (!file_exists($current_dir . '/composer.json')) {
|
||||||
|
return find_valid_root(dirname($current_dir), $max_loop - 1);
|
||||||
|
}
|
||||||
|
return $current_dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
$root = find_valid_root(getcwd(), 3);
|
||||||
|
if (empty($root)) {
|
||||||
|
echo '找不到有效的根目录';
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
echo '根目录: ' . $root . PHP_EOL;
|
||||||
|
|
||||||
|
chdir($root);
|
||||||
|
|
||||||
|
if (!is_dir($root . '/src/ZM')) {
|
||||||
|
echo '源码目录不存在';
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
$phpdoc_package_temp_installed = false;
|
||||||
|
if (file_exists($root . '/vendor/jasny/phpdoc-parser/composer.json')) {
|
||||||
|
echo '正在使用现有的 PHPDoc 解析库' . PHP_EOL;
|
||||||
|
} else {
|
||||||
|
echo 'PHPDoc 解析库不存在,正在尝试安装...' . PHP_EOL;
|
||||||
|
echo '本次生成完成后将会自动移除' . PHP_EOL;
|
||||||
|
$composers = [
|
||||||
|
'runtime/composer', 'composer', 'php composer.phar',
|
||||||
|
];
|
||||||
|
foreach ($composers as $composer) {
|
||||||
|
if (check_composer_executable($composer)) {
|
||||||
|
echo '正在使用 ' . $composer . ' 安装 PHPDoc 解析库,请稍候...' . PHP_EOL;
|
||||||
|
passthru("{$composer} require --quiet jasny/phpdoc-parser", $exit_code);
|
||||||
|
if ($exit_code === 0) {
|
||||||
|
$phpdoc_package_temp_installed = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!$phpdoc_package_temp_installed) {
|
||||||
|
echo '安装失败,请手动安装:composer require jasny/phpdoc-parser' . PHP_EOL;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从这里开始是主要生成逻辑
|
||||||
|
|
||||||
|
require_once $root . '/vendor/autoload.php';
|
||||||
|
|
||||||
|
use Jasny\PhpdocParser\PhpdocParser;
|
||||||
|
use Jasny\PhpdocParser\Set\PhpDocumentor;
|
||||||
|
use Jasny\PhpdocParser\Tag\Summery;
|
||||||
|
use ZM\Console\Console;
|
||||||
|
|
||||||
|
$opts = getopt('', ['show-warnings', 'show-debug']);
|
||||||
|
|
||||||
|
if (array_key_exists('show-warnings', $opts)) {
|
||||||
|
$show_warnings = true;
|
||||||
|
} else {
|
||||||
|
$show_warnings = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Console::init(array_key_exists('show-debug', $opts) ? 4 : 2);
|
||||||
|
|
||||||
|
$errors = [];
|
||||||
|
$warnings = [];
|
||||||
|
|
||||||
|
// 获取源码目录的文件遍历器
|
||||||
|
$fs = new \RecursiveDirectoryIterator($root . '/src/ZM', FilesystemIterator::SKIP_DOTS);
|
||||||
|
|
||||||
|
// 初始化文档解析器
|
||||||
|
$parser = new PhpdocParser(PhpDocumentor::tags()->with([
|
||||||
|
new Summery(),
|
||||||
|
]));
|
||||||
|
|
||||||
|
$metas = [];
|
||||||
|
$class_count = 0;
|
||||||
|
$method_count = 0;
|
||||||
|
|
||||||
|
function error(string $message)
|
||||||
|
{
|
||||||
|
global $errors;
|
||||||
|
$errors[] = $message;
|
||||||
|
Console::error($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
function warning(string $message)
|
||||||
|
{
|
||||||
|
global $warnings, $show_warnings;
|
||||||
|
$warnings[] = $message;
|
||||||
|
if ($show_warnings) {
|
||||||
|
Console::warning($message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取类的元数据
|
||||||
|
*
|
||||||
|
* 包括类的注释、方法的注释、参数、返回值等
|
||||||
|
*/
|
||||||
|
function get_class_metas(string $class_name, PhpdocParser $parser): array
|
||||||
|
{
|
||||||
|
// 尝试获取反射类
|
||||||
|
try {
|
||||||
|
$class = new \ReflectionClass($class_name);
|
||||||
|
} catch (\ReflectionException $e) {
|
||||||
|
error('无法获取类 ' . $class_name . ' 的反射类');
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断是否略过该类
|
||||||
|
if (should_ignore_class($class)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$metas = [];
|
||||||
|
|
||||||
|
// 遍历类方法
|
||||||
|
foreach ($class->getMethods() as $method) {
|
||||||
|
if ($method->getDeclaringClass()->getName() !== $class_name) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Console::verbose('正在解析方法:' . $class_name . '::' . $method->getName());
|
||||||
|
|
||||||
|
// 获取方法的注释并解析
|
||||||
|
$doc = $method->getDocComment();
|
||||||
|
if (!$doc) {
|
||||||
|
warning('找不到文档:' . $class_name . '::' . $method->getName());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
$meta = $parser->parse($doc);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
error('解析失败:' . $class_name . '::' . $method->getName() . ',' . $e->getMessage());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 少数情况解析后会带有 */,需要去除
|
||||||
|
array_walk_recursive($meta, static function (&$item) {
|
||||||
|
if (is_string($item)) {
|
||||||
|
$item = trim(str_replace('*/', '', $item));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 对比反射方法获取的参数和注释声明的参数
|
||||||
|
$parameters = $method->getParameters();
|
||||||
|
$params_in_doc = $meta['params'] ?? [];
|
||||||
|
|
||||||
|
foreach ($parameters as $parameter) {
|
||||||
|
$parameter_name = $parameter->getName();
|
||||||
|
// 不存在则添加进参数列表中
|
||||||
|
if (!isset($params_in_doc[$parameter_name])) {
|
||||||
|
$params_in_doc[$parameter_name] = [
|
||||||
|
'type' => $parameter->getType()?->getName(),
|
||||||
|
'description' => '',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 确保所有参数都有对应的类型和描述
|
||||||
|
foreach ($params_in_doc as &$param) {
|
||||||
|
if (!isset($param['type'])) {
|
||||||
|
$param['type'] = 'mixed';
|
||||||
|
}
|
||||||
|
if (!isset($param['description'])) {
|
||||||
|
$param['description'] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 清除引用
|
||||||
|
unset($param);
|
||||||
|
$meta['params'] = $params_in_doc;
|
||||||
|
|
||||||
|
// 设定方法默认返回值
|
||||||
|
if (!isset($meta['return'])) {
|
||||||
|
$meta['return'] = [
|
||||||
|
'type' => $method->getReturnType()?->getName() ?: 'mixed',
|
||||||
|
'description' => '',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设定默认描述
|
||||||
|
if (!isset($meta['return']['description'])) {
|
||||||
|
$meta['return']['description'] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$metas[$method->getName()] = $meta;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $metas;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将方法的元数据转换为 Markdown 格式
|
||||||
|
*
|
||||||
|
* @param string $method 方法名
|
||||||
|
* @param array $meta 元数据
|
||||||
|
*/
|
||||||
|
function convert_meta_to_markdown(string $method, array $meta): string
|
||||||
|
{
|
||||||
|
// 方法名作为标题
|
||||||
|
$markdown = '## ' . $method . "\n\n";
|
||||||
|
|
||||||
|
// 构造方法代码块
|
||||||
|
$markdown .= '```php' . "\n";
|
||||||
|
// TODO: 适配 private 等修饰符
|
||||||
|
$markdown .= 'public function ' . $method . '(';
|
||||||
|
$params = [];
|
||||||
|
// 添加参数
|
||||||
|
foreach ($meta['params'] as $param_name => $param_meta) {
|
||||||
|
$params[] = sprintf('%s $%s', $param_meta['type'] ?? 'mixed', $param_name);
|
||||||
|
}
|
||||||
|
$markdown .= implode(', ', $params) . ')';
|
||||||
|
// 添加返回值
|
||||||
|
$markdown .= ': ' . $meta['return']['type'];
|
||||||
|
$markdown .= "\n```\n\n";
|
||||||
|
|
||||||
|
// 方法描述
|
||||||
|
$markdown .= '### 描述' . "\n\n";
|
||||||
|
$markdown .= ($meta['description'] ?? '作者很懒,什么也没有说') . "\n\n";
|
||||||
|
|
||||||
|
// 参数
|
||||||
|
if (count($meta['params'])) {
|
||||||
|
$markdown .= '### 参数' . "\n\n";
|
||||||
|
$markdown .= '| 名称 | 类型 | 描述 |' . "\n";
|
||||||
|
$markdown .= '| -------- | ---- | ----------- |' . "\n";
|
||||||
|
foreach ($meta['params'] as $param_name => $param_meta) {
|
||||||
|
$markdown .= '| ' . $param_name . ' | ' . $param_meta['type'] . ' | ' . $param_meta['description'] . ' |' . "\n";
|
||||||
|
}
|
||||||
|
$markdown .= "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 返回值
|
||||||
|
$markdown .= '### 返回' . "\n\n";
|
||||||
|
$markdown .= '| 类型 | 描述 |' . "\n";
|
||||||
|
$markdown .= '| ---- | ----------- |' . "\n";
|
||||||
|
$markdown .= '| ' . $meta['return']['type'] . ' | ' . $meta['return']['description'] . ' |' . "\n";
|
||||||
|
|
||||||
|
return $markdown;
|
||||||
|
}
|
||||||
|
|
||||||
|
function generate_sidebar_config(string $title, array $items): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'title' => $title,
|
||||||
|
'collapsable' => true,
|
||||||
|
'children' => $items,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
Console::info('开始生成!');
|
||||||
|
|
||||||
|
// 遍历类并将元数据添加至数组中
|
||||||
|
foreach (new \RecursiveIteratorIterator($fs) as $file) {
|
||||||
|
if (!$file->isFile()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$path = $file->getPathname();
|
||||||
|
|
||||||
|
// 过滤不包含类的文件
|
||||||
|
$tokens = token_get_all(file_get_contents($path));
|
||||||
|
$found = false;
|
||||||
|
foreach ($tokens as $k => $token) {
|
||||||
|
if (!is_array($token)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ($token[0] === T_CLASS && $tokens[$k - 2][0] !== T_NEW) {
|
||||||
|
$found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ($k >= 100) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!$found) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取完整类名
|
||||||
|
$path = ltrim($path, $root . '/');
|
||||||
|
$class = str_replace(['.php', 'src/', '/'], ['', '', '\\'], $path);
|
||||||
|
Console::verbose('正在解析类:' . $class);
|
||||||
|
$meta = get_class_metas($class, $parser);
|
||||||
|
// 忽略不包含任何方法的类
|
||||||
|
if (empty($meta)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$metas[$class] = $meta;
|
||||||
|
++$class_count;
|
||||||
|
$method_count += count($meta);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将元数据转换为 Markdown
|
||||||
|
$markdown = [];
|
||||||
|
foreach ($metas as $class => $class_metas) {
|
||||||
|
$markdown[$class] = [];
|
||||||
|
// 将类名作为页面大标题
|
||||||
|
$markdown[$class]['class'] = '# ' . $class;
|
||||||
|
foreach ($class_metas as $method => $meta) {
|
||||||
|
$markdown[$class][$method] = convert_meta_to_markdown($method, $meta);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成文档
|
||||||
|
$docs = $root . '/docs/api/';
|
||||||
|
foreach ($markdown as $class => $methods) {
|
||||||
|
$file = $docs . str_replace('\\', '/', $class) . '.md';
|
||||||
|
// 确保目录存在
|
||||||
|
if (!file_exists(dirname($file)) && !mkdir($concurrent_directory = dirname($file), 0777, true) && !is_dir($concurrent_directory)) {
|
||||||
|
throw new \RuntimeException(sprintf('无法建立目录 %s', $concurrent_directory));
|
||||||
|
}
|
||||||
|
Console::verbose('正在生成文档:' . $file);
|
||||||
|
$text = implode("\n\n", $methods);
|
||||||
|
file_put_contents($file, $text);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成文档目录
|
||||||
|
$children = array_keys($markdown);
|
||||||
|
$children = str_replace('\\', '/', $children);
|
||||||
|
$class_tree = [];
|
||||||
|
foreach ($children as $child) {
|
||||||
|
$parent = dirname($child);
|
||||||
|
$class_tree[$parent][] = $child;
|
||||||
|
}
|
||||||
|
ksort($class_tree);
|
||||||
|
$config = 'module.exports = [';
|
||||||
|
foreach ($class_tree as $parent => $children) {
|
||||||
|
$encode = json_encode(generate_sidebar_config($parent, $children));
|
||||||
|
$encode = str_replace('\/', '/', $encode);
|
||||||
|
$config .= $encode . ',';
|
||||||
|
}
|
||||||
|
$config = rtrim($config, ',');
|
||||||
|
$config .= ']';
|
||||||
|
|
||||||
|
$file = $root . '/docs/.vuepress/api.js';
|
||||||
|
file_put_contents($file, $config);
|
||||||
|
|
||||||
|
if (count($warnings)) {
|
||||||
|
Console::warning('生成过程中发现 ' . count($warnings) . ' 次警告');
|
||||||
|
if (!$show_warnings) {
|
||||||
|
Console::info('生成器默认忽略了警告,你可以通过 gendoc --show-warnings 来查看警告');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($errors)) {
|
||||||
|
Console::error('生成过程中发现错误:');
|
||||||
|
foreach ($errors as $error) {
|
||||||
|
Console::error($error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Console::success('API 文档生成完毕');
|
||||||
|
Console::success(sprintf('共生成 %d 个类,共 %d 个方法', $class_count, $method_count));
|
||||||
|
|
||||||
|
// 完成生成,进行善后
|
||||||
|
|
||||||
|
if ($phpdoc_package_temp_installed) {
|
||||||
|
echo '正在移除 PHPDoc 解析库,请稍候...' . PHP_EOL;
|
||||||
|
passthru('composer remove --quiet jasny/phpdoc-parser', $exit_code);
|
||||||
|
if ($exit_code !== 0) {
|
||||||
|
echo '移除失败,请手动移除:composer remove jasny/phpdoc-parser' . PHP_EOL;
|
||||||
|
}
|
||||||
|
echo '移除完成';
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
111
bin/phpunit-swoole
Executable file
111
bin/phpunit-swoole
Executable file
@@ -0,0 +1,111 @@
|
|||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
/** For Swoole coroutine tests */
|
||||||
|
|
||||||
|
// 如果改成 true,则会在终端显示所有炸毛框架的 Log
|
||||||
|
const ZM_TEST_LOG_DEBUG = false;
|
||||||
|
|
||||||
|
use PHPUnit\Runner\Version;
|
||||||
|
use PHPUnit\TextUI\TestRunner;
|
||||||
|
use Swoole\Coroutine;
|
||||||
|
use ZM\Annotation\Swoole\OnStart;
|
||||||
|
use ZM\Command\RunServerCommand;
|
||||||
|
use ZM\Console\Console;
|
||||||
|
use ZM\ConsoleApplication;
|
||||||
|
use ZM\Event\EventManager;
|
||||||
|
use ZM\Framework;
|
||||||
|
use ZM\Store\ZMAtomic;
|
||||||
|
use ZM\Utils\ZMUtil;
|
||||||
|
|
||||||
|
$root = dirname(__DIR__);
|
||||||
|
|
||||||
|
Coroutine::set([
|
||||||
|
'log_level' => SWOOLE_LOG_INFO,
|
||||||
|
'trace_flags' => 0,
|
||||||
|
]);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHPUnit.
|
||||||
|
*
|
||||||
|
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (PHP_VERSION_ID <= 70100) {
|
||||||
|
fwrite(
|
||||||
|
STDERR,
|
||||||
|
sprintf(
|
||||||
|
'This version of PHPUnit is supported on PHP 7.1 and above.' . PHP_EOL .
|
||||||
|
'You are using PHP %s (%s).' . PHP_EOL,
|
||||||
|
PHP_VERSION,
|
||||||
|
PHP_BINARY
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ini_get('date.timezone')) {
|
||||||
|
ini_set('date.timezone', 'Asia/Shanghai');
|
||||||
|
}
|
||||||
|
|
||||||
|
require $root . '/vendor/autoload.php';
|
||||||
|
|
||||||
|
const ZM_VERSION_ID = ConsoleApplication::VERSION_ID;
|
||||||
|
const ZM_VERSION = ConsoleApplication::VERSION;
|
||||||
|
|
||||||
|
// 模拟define
|
||||||
|
const ZM_PROCESS_MASTER = 1;
|
||||||
|
const ZM_PROCESS_MANAGER = 2;
|
||||||
|
const ZM_PROCESS_WORKER = 4;
|
||||||
|
const ZM_PROCESS_USER = 8;
|
||||||
|
const ZM_PROCESS_TASKWORKER = 16;
|
||||||
|
|
||||||
|
define('FRAMEWORK_ROOT_DIR', $root);
|
||||||
|
define('WORKING_DIR', $root);
|
||||||
|
const SOURCE_ROOT_DIR = WORKING_DIR;
|
||||||
|
define('LOAD_MODE', is_dir(SOURCE_ROOT_DIR . '/src/ZM') ? 0 : 1);
|
||||||
|
chdir(__DIR__ . '/../');
|
||||||
|
|
||||||
|
$options = array_map(function ($x) {
|
||||||
|
return $x->getDefault();
|
||||||
|
}, RunServerCommand::exportDefinition()->getOptions());
|
||||||
|
$options['disable-safe-exit'] = true;
|
||||||
|
$options['worker-num'] = 1;
|
||||||
|
$options['private-mode'] = true;
|
||||||
|
$options['log-error'] = true;
|
||||||
|
|
||||||
|
spl_autoload_register(static function ($class) {
|
||||||
|
$map = [
|
||||||
|
TestRunner::class => 'vendor/phpunit/phpunit/src/TextUI/TestRunner.php',
|
||||||
|
Version::class => 'vendor/phpunit/phpunit/src/Runner/Version.php',
|
||||||
|
];
|
||||||
|
if (isset($map[$class])) {
|
||||||
|
$source = file_get_contents(SOURCE_ROOT_DIR . '/' . $map[$class]);
|
||||||
|
$source = str_replace(['#StandWith', 'Ukraine', 'declare(strict_types=1);'], '', $source);
|
||||||
|
eval('?>' . $source);
|
||||||
|
}
|
||||||
|
}, true, true);
|
||||||
|
|
||||||
|
Console::setLevel(0);
|
||||||
|
$framework = new Framework($options);
|
||||||
|
$start = new OnStart();
|
||||||
|
$start->method = function () {
|
||||||
|
try {
|
||||||
|
Console::setLevel(ZM_TEST_LOG_DEBUG ? 4 : 0);
|
||||||
|
$retcode = PHPUnit\TextUI\Command::main(false);
|
||||||
|
} finally {
|
||||||
|
Console::setLevel(0);
|
||||||
|
ZMUtil::stop(($retcode ?? 1) !== 0);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
EventManager::addEvent(OnStart::class, $start);
|
||||||
|
|
||||||
|
$framework->start();
|
||||||
|
|
||||||
|
Swoole\Event::wait();
|
||||||
|
if (ZMAtomic::get('stop_signal')->get() === 2) {
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
/** For Swoole coroutine tests */
|
|
||||||
|
|
||||||
// 如果改成 true,则会在终端显示所有炸毛框架的 Log
|
|
||||||
const ZM_TEST_LOG_DEBUG = false;
|
|
||||||
|
|
||||||
use OneBot\Driver\Event\Process\WorkerStartEvent;
|
|
||||||
use PHPUnit\TextUI\Command;
|
|
||||||
use Swoole\Atomic;
|
|
||||||
use Tests\ZMResultPrinter;
|
|
||||||
use ZM\Command\Server\ServerStartCommand;
|
|
||||||
use ZM\Event\EventProvider;
|
|
||||||
use ZM\Framework;
|
|
||||||
use ZM\Logger\ConsoleLogger;
|
|
||||||
use ZM\Store\MockAtomic;
|
|
||||||
|
|
||||||
// 引入自动加载
|
|
||||||
require $_composer_autoload_path ?? dirname(__DIR__) . '/vendor/autoload.php';
|
|
||||||
|
|
||||||
// 声明一个全局的原子计数,用于保存整个进程的退出状态码
|
|
||||||
global $_swoole_atomic;
|
|
||||||
// Windows 没有 Swoole,所以就使用了一个假的原子计数器,反正 Windows 只有单进程
|
|
||||||
$_swoole_atomic = class_exists('\\Swoole\\Atomic') ? new Atomic() : new MockAtomic();
|
|
||||||
|
|
||||||
// 注册 Logger 等级
|
|
||||||
ob_logger_register(new ConsoleLogger(ZM_TEST_LOG_DEBUG ? 'debug' : 'error'));
|
|
||||||
|
|
||||||
// 使用框架自身的 EventProvider
|
|
||||||
global $ob_event_provider;
|
|
||||||
$ob_event_provider = new EventProvider();
|
|
||||||
|
|
||||||
// 注册一个最低级别的 WorkerStart 事件,用于在框架的事件初始化之后开始运行 PHPUnit
|
|
||||||
ob_event_provider()->addEventListener(WorkerStartEvent::getName(), function () {
|
|
||||||
register_shutdown_function(function () {
|
|
||||||
$error = error_get_last();
|
|
||||||
// 下面这段代码的作用就是,不是错误引发的退出时照常退出即可
|
|
||||||
if (($error['type'] ?? 0) != 0) {
|
|
||||||
logger()->emergency(zm_internal_errcode('E00027') . 'Internal fatal error: ' . $error['message'] . ' at ' . $error['file'] . "({$error['line']})");
|
|
||||||
}
|
|
||||||
Framework::getInstance()->stop();
|
|
||||||
});
|
|
||||||
$_SERVER['argv'][] = '--printer';
|
|
||||||
$_SERVER['argv'][] = ZMResultPrinter::class;
|
|
||||||
try {
|
|
||||||
// 不退出,而是返回 code
|
|
||||||
$retcode = Command::main(false);
|
|
||||||
} finally {
|
|
||||||
global $_swoole_atomic;
|
|
||||||
$_swoole_atomic->set($retcode ?? 0);
|
|
||||||
Framework::getInstance()->stop($retcode ?? 0);
|
|
||||||
}
|
|
||||||
}, 1);
|
|
||||||
|
|
||||||
$options = ServerStartCommand::exportOptionArray();
|
|
||||||
$options['driver'] = 'workerman';
|
|
||||||
$options['worker-num'] = 1;
|
|
||||||
$options['private-mode'] = true;
|
|
||||||
|
|
||||||
try {
|
|
||||||
$framework = new Framework();
|
|
||||||
$framework->runtime_preferences = $framework->runtime_preferences
|
|
||||||
->withConfigDir(dirname(__DIR__) . '/config')
|
|
||||||
->withEnvironment('development');
|
|
||||||
$framework->bootstrap();
|
|
||||||
$framework->init()->start();
|
|
||||||
exit($_swoole_atomic->get());
|
|
||||||
} catch (Throwable $e) {
|
|
||||||
echo $e->getMessage() . PHP_EOL;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
php %~dp0phpunit-zm %*
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function find_valid_root(string $current_dir, int $max_loop): string
|
|
||||||
{
|
|
||||||
if ($max_loop <= 0) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
if (!file_exists($current_dir . '/composer.json')) {
|
|
||||||
return find_valid_root(dirname($current_dir), $max_loop - 1);
|
|
||||||
}
|
|
||||||
return $current_dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
$root = find_valid_root(getcwd(), 3);
|
|
||||||
if (empty($root)) {
|
|
||||||
echo '找不到有效的根目录';
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
chdir($root);
|
|
||||||
|
|
||||||
require_once $root . '/vendor/autoload.php';
|
|
||||||
|
|
||||||
// 获取参数,可为 before 或 after
|
|
||||||
$param = $argv[1] ?? 'before';
|
|
||||||
|
|
||||||
if ($param === 'before') {
|
|
||||||
// Doxyfile file source: https://pastebin.com/raw/N8tJ9kWE
|
|
||||||
// Posted by: sunxyw
|
|
||||||
|
|
||||||
// 从剪贴板获取 Doxyfile 内容并保存到临时文件
|
|
||||||
logger()->info('正在获取 Doxyfile 内容');
|
|
||||||
$doxyfile = file_get_contents('https://pastebin.com/raw/N8tJ9kWE');
|
|
||||||
$doxyfile = str_replace('<zm_version>', \ZM\Framework::VERSION, $doxyfile);
|
|
||||||
file_put_contents('Doxyfile', $doxyfile);
|
|
||||||
|
|
||||||
// 应用 Awesome 样式
|
|
||||||
// 来源:https://github.com/jothepro/doxygen-awesome-css.git
|
|
||||||
// 优先使用本地文件
|
|
||||||
logger()->info('正在应用 Awesome 样式');
|
|
||||||
\ZM\Store\FileSystem::createDir('doxy/css');
|
|
||||||
if (
|
|
||||||
file_exists('doxy/css/doxygen-awesome.css') &&
|
|
||||||
(md5_file('doxy/css/doxygen-awesome.css') === '326a1447f9693d1b3876f59de837a7c0')
|
|
||||||
) {
|
|
||||||
logger()->info('本地 Awesome 样式文件已存在,跳过下载');
|
|
||||||
} else {
|
|
||||||
logger()->info('正在下载 Awesome 样式文件');
|
|
||||||
$cmd = [
|
|
||||||
'git clone https://github.com/jothepro/doxygen-awesome-css.git doxy/css',
|
|
||||||
'cd doxy/css',
|
|
||||||
'git checkout v2.1.0',
|
|
||||||
'cd ../..',
|
|
||||||
];
|
|
||||||
$cmd = implode(' && ', $cmd);
|
|
||||||
exec($cmd);
|
|
||||||
}
|
|
||||||
} elseif ($param === 'after') {
|
|
||||||
// 删除临时文件
|
|
||||||
unlink('Doxyfile');
|
|
||||||
|
|
||||||
// 清除旧文档
|
|
||||||
exec('sudo rm -rf docs/.vuepress/public/doxy');
|
|
||||||
|
|
||||||
// 授予目录权限:doxy/html
|
|
||||||
exec('sudo chmod -R 777 doxy/html');
|
|
||||||
|
|
||||||
// 移动新文档到 docs 目录
|
|
||||||
exec('sudo mv doxy/html docs/.vuepress/public/doxy');
|
|
||||||
|
|
||||||
logger()->info('文档生成完成');
|
|
||||||
} else {
|
|
||||||
logger()->error('参数错误');
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
@@ -5,10 +5,7 @@
|
|||||||
# author: crazywhalecc
|
# author: crazywhalecc
|
||||||
# since: 2.5.0
|
# since: 2.5.0
|
||||||
|
|
||||||
if [ "$ZM_CUSTOM_PHP_PATH" != "" ]; then
|
if [ -f "$(pwd)/runtime/php" ]; then
|
||||||
echo "* Using PHP executable: ""$ZM_CUSTOM_PHP_PATH"
|
|
||||||
executable="$ZM_CUSTOM_PHP_PATH"
|
|
||||||
elif [ -f "$(pwd)/runtime/php" ]; then
|
|
||||||
executable="$(pwd)/runtime/php"
|
executable="$(pwd)/runtime/php"
|
||||||
echo "* Framework started with built-in php."
|
echo "* Framework started with built-in php."
|
||||||
else
|
else
|
||||||
@@ -21,6 +18,12 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
result=$(echo "$1" | grep -E "module|build")
|
||||||
|
|
||||||
|
if [ "$result" != "" ]; then
|
||||||
|
executable="$executable -d phar.readonly=off"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -f "$(pwd)/src/entry.php" ]; then
|
if [ -f "$(pwd)/src/entry.php" ]; then
|
||||||
$executable "$(pwd)/src/entry.php" $@
|
$executable "$(pwd)/src/entry.php" $@
|
||||||
elif [ -f "$(pwd)/vendor/zhamao/framework/src/entry.php" ]; then
|
elif [ -f "$(pwd)/vendor/zhamao/framework/src/entry.php" ]; then
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
@echo off
|
|
||||||
@REM Check if ZM_CUSTOM_PHP_PATH is set
|
|
||||||
IF /i "%ZM_CUSTOM_PHP_PATH%" neq "" (
|
|
||||||
@REM Set the path to the custom PHP
|
|
||||||
echo "* Using custom PHP executable: %ZM_CUSTOM_PHP_PATH%"
|
|
||||||
SET executable=%ZM_CUSTOM_PHP_PATH%
|
|
||||||
) ELSE IF exist ./runtime/php.exe (
|
|
||||||
@REM Set the path to the built-in PHP
|
|
||||||
echo "* Using built-in PHP executable"
|
|
||||||
SET executable=.\runtime\php.exe
|
|
||||||
) ELSE (
|
|
||||||
@REM Set the path to the system PHP
|
|
||||||
echo "* Using system PHP executable"
|
|
||||||
SET executable=php
|
|
||||||
)
|
|
||||||
|
|
||||||
IF exist src/entry.php (
|
|
||||||
@REM Run the PHP entry point
|
|
||||||
%executable% src/entry.php %*
|
|
||||||
) ELSE IF exist vendor/zhamao/framework/src/entry.php (
|
|
||||||
@REM Run the PHP entry point
|
|
||||||
%executable% vendor/zhamao/framework/src/entry.php %*
|
|
||||||
) ELSE (
|
|
||||||
@REM No entry point found
|
|
||||||
echo "[ErrCode:E00015] Cannot find zhamao-framework entry file!"
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"pre-push": {
|
|
||||||
"enabled": true,
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"action": "composer analyse"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "composer test"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"pre-commit": {
|
|
||||||
"enabled": true,
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"action": "composer cs-fix -- --config=.php-cs-fixer.php --dry-run --diff {$STAGED_FILES|of-type:php}",
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileStaged\\OfType",
|
|
||||||
"args": ["php"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"post-change": {
|
|
||||||
"enabled": true,
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"action": "composer install",
|
|
||||||
"options": [],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileChanged\\Any",
|
|
||||||
"args": [
|
|
||||||
[
|
|
||||||
"composer.json",
|
|
||||||
"composer.lock"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -13,43 +13,33 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.0 || ^8.1 || ^8.2 || ^8.3 || ^8.4 || ^8.5",
|
"php": "^7.2 || ^7.3 || ^7.4 || ^8.0 || ^8.1",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-tokenizer": "*",
|
"ext-posix": "*",
|
||||||
"doctrine/dbal": "^2.13.1",
|
"doctrine/dbal": "^2.13.1",
|
||||||
"dragonmantank/cron-expression": "^3.3",
|
"dragonmantank/cron-expression": "^3.3",
|
||||||
"jelix/version": "^2.0",
|
"jelix/version": "^2.0",
|
||||||
"koriym/attributes": "^1.0",
|
"koriym/attributes": "^1.0",
|
||||||
"nunomaduro/collision": "^6.3",
|
|
||||||
"onebot/libonebot": "^0.6",
|
|
||||||
"php-di/php-di": "^7",
|
|
||||||
"psr/container": "^2.0",
|
"psr/container": "^2.0",
|
||||||
"psr/simple-cache": "^3.0",
|
"psy/psysh": "^0.11.2",
|
||||||
"psy/psysh": "^0.11.8",
|
"symfony/console": "~6.0 || ~5.0 || ~4.0 || ~3.0",
|
||||||
"symfony/console": "^6.0",
|
|
||||||
"symfony/polyfill-ctype": "^1.19",
|
"symfony/polyfill-ctype": "^1.19",
|
||||||
"symfony/polyfill-mbstring": "^1.19",
|
"symfony/polyfill-mbstring": "^1.19",
|
||||||
"symfony/routing": "~6.0 || ~5.0 || ~4.0",
|
"symfony/polyfill-php80": "^1.16",
|
||||||
"vlucas/phpdotenv": "^5.5"
|
"symfony/routing": "~6.0 || ~5.0 || ~4.0 || ~3.0",
|
||||||
|
"zhamao/config": "^1.0",
|
||||||
|
"zhamao/connection-manager": "^1.0",
|
||||||
|
"zhamao/console": "^1.0",
|
||||||
|
"zhamao/request": "^1.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"captainhook/captainhook": "^5.10",
|
"brainmaestro/composer-git-hooks": "^2.8",
|
||||||
"captainhook/plugin-composer": "^5.3",
|
"friendsofphp/php-cs-fixer": "^3.2 != 3.7.0",
|
||||||
"friendsofphp/php-cs-fixer": "^3.64",
|
|
||||||
"jangregor/phpstan-prophecy": "^1.0",
|
|
||||||
"jetbrains/phpstorm-attributes": "^1.0",
|
"jetbrains/phpstorm-attributes": "^1.0",
|
||||||
"mikey179/vfsstream": "^1.6",
|
"phpstan/phpstan": "^1.1",
|
||||||
"phpspec/prophecy-phpunit": "^2.3",
|
"phpunit/phpunit": "^8.5 || ^9.0",
|
||||||
"phpstan/extension-installer": "^1.1",
|
|
||||||
"phpstan/phpstan": "^1.12",
|
|
||||||
"phpstan/phpstan-deprecation-rules": "^1.0",
|
|
||||||
"phpstan/phpstan-phpunit": "^1.1",
|
|
||||||
"phpunit/phpunit": "^9.0",
|
|
||||||
"roave/security-advisories": "dev-latest",
|
"roave/security-advisories": "dev-latest",
|
||||||
"swoole/ide-helper": "^5.0"
|
"swoole/ide-helper": "^4.5"
|
||||||
},
|
|
||||||
"replace": {
|
|
||||||
"symfony/polyfill-php80": "*"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-ctype": "Use C/C++ extension instead of polyfill will be more efficient",
|
"ext-ctype": "Use C/C++ extension instead of polyfill will be more efficient",
|
||||||
@@ -58,38 +48,47 @@
|
|||||||
"ext-redis": "If you use Redis in framework, you will need this extension",
|
"ext-redis": "If you use Redis in framework, you will need this extension",
|
||||||
"league/climate": "Display columns and status in terminal"
|
"league/climate": "Display columns and status in terminal"
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "stable",
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"ZM\\": "src/ZM"
|
"ZM\\": "src/ZM"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/Globals/global_functions.php",
|
"src/ZM/global_functions.php"
|
||||||
"src/Globals/global_defines_app.php",
|
|
||||||
"src/Globals/global_class_alias.php"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"autoload-dev": {
|
"autoload-dev": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Module\\": "src/Module",
|
"Module\\": "src/Module",
|
||||||
|
"Custom\\": "src/Custom",
|
||||||
"Tests\\": "tests"
|
"Tests\\": "tests"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bin": [
|
"bin": [
|
||||||
"bin/phpunit-zm",
|
"bin/gendoc",
|
||||||
"bin/zhamao",
|
"bin/phpunit-swoole",
|
||||||
"bin/zhamao.bat"
|
"bin/start"
|
||||||
],
|
],
|
||||||
"config": {
|
"config": {
|
||||||
"allow-plugins": {
|
|
||||||
"phpstan/extension-installer": true,
|
|
||||||
"captainhook/plugin-composer": true
|
|
||||||
},
|
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
"sort-packages": true
|
"sort-packages": true,
|
||||||
|
"allow-plugins": {
|
||||||
|
"phpstan/extension-installer": true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
|
"hooks": {
|
||||||
|
"post-merge": "composer install",
|
||||||
|
"pre-commit": [
|
||||||
|
"echo committing as $(git config user.name)",
|
||||||
|
"composer cs-fix -- --diff"
|
||||||
|
],
|
||||||
|
"pre-push": [
|
||||||
|
"composer cs-fix -- --dry-run --diff",
|
||||||
|
"composer analyse"
|
||||||
|
]
|
||||||
|
},
|
||||||
"zm": {
|
"zm": {
|
||||||
"exclude-annotation-path": [
|
"exclude-annotation-path": [
|
||||||
"src/ZM",
|
"src/ZM",
|
||||||
@@ -98,8 +97,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"post-install-cmd": [
|
||||||
|
"[ $COMPOSER_DEV_MODE -eq 0 ] || vendor/bin/cghooks add"
|
||||||
|
],
|
||||||
"analyse": "phpstan analyse --memory-limit 300M",
|
"analyse": "phpstan analyse --memory-limit 300M",
|
||||||
"cs-fix": "PHP_CS_FIXER_IGNORE_ENV=1 php-cs-fixer fix",
|
"cs-fix": "php-cs-fixer fix",
|
||||||
"test": "bin/phpunit-zm --no-coverage"
|
"test": "bin/phpunit-swoole --no-coverage"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Config 配置类的配置文件
|
|
||||||
* 由于 Config 类是第一批被加载的类,因此本文件存在以下限制:
|
|
||||||
* 1. 只能使用 PHP 格式
|
|
||||||
* 2. 无法利用容器及依赖注入
|
|
||||||
* 3. 必须存在于本地,无法使用远程配置(后续版本可能会支持)
|
|
||||||
*/
|
|
||||||
return [
|
|
||||||
'repository' => [
|
|
||||||
\OneBot\Config\Repository::class, // 配置仓库,须实现 \OneBot\Config\RepositoryInterface 接口
|
|
||||||
[], // 传入的参数,依序传入构造函数
|
|
||||||
],
|
|
||||||
'loader' => [
|
|
||||||
\OneBot\Config\Loader\DelegateLoader::class, // 配置加载器,须实现 \OneBot\Config\LoaderInterface 接口
|
|
||||||
[], // 传入的参数,依序传入构造函数
|
|
||||||
],
|
|
||||||
'source' => [
|
|
||||||
'extensions' => ['php', 'yaml', 'yml', 'json', 'toml'], // 配置文件扩展名
|
|
||||||
'paths' => [
|
|
||||||
\ZM\Framework::getInstance()->runtime_preferences->getConfigDir(), // 配置文件所在目录
|
|
||||||
// 可以添加多个配置文件目录
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'trace' => false, // 是否开启配置跟踪器
|
|
||||||
];
|
|
||||||
29
config/console_color.json
Normal file
29
config/console_color.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"default": {
|
||||||
|
"success": "green",
|
||||||
|
"info": "lightblue",
|
||||||
|
"warning": "yellow",
|
||||||
|
"error": "red",
|
||||||
|
"verbose": "blue",
|
||||||
|
"debug": "gray",
|
||||||
|
"trace": "gray"
|
||||||
|
},
|
||||||
|
"white-term": {
|
||||||
|
"success": "green",
|
||||||
|
"info": "",
|
||||||
|
"warning": "yellow",
|
||||||
|
"error": "red",
|
||||||
|
"verbose": "blue",
|
||||||
|
"debug": "gray",
|
||||||
|
"trace": "gray"
|
||||||
|
},
|
||||||
|
"no-color": {
|
||||||
|
"success": "",
|
||||||
|
"info": "",
|
||||||
|
"warning": "",
|
||||||
|
"error": "",
|
||||||
|
"verbose": "",
|
||||||
|
"debug": "",
|
||||||
|
"trace": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use OneBot\Driver\Driver;
|
|
||||||
use OneBot\Driver\Process\ProcessManager;
|
|
||||||
use Psr\Log\LoggerInterface;
|
|
||||||
use ZM\Config\Environment;
|
|
||||||
use ZM\Config\EnvironmentInterface;
|
|
||||||
use ZM\Framework;
|
|
||||||
use ZM\HasRuntimeInfo;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 这里是容器的配置文件,你可以在这里配置容器的绑定和其他一些参数。
|
|
||||||
* 选用的容器是 PHP-DI,你可以在这里查看文档:https://php-di.org/doc/
|
|
||||||
* 我们建议你在使用容器前先阅读以下章节:
|
|
||||||
* - 基本使用方式:https://php-di.org/doc/container.html
|
|
||||||
* - 注册绑定方式:https://php-di.org/doc/php-definitions.html#definition-types
|
|
||||||
* - 最佳使用实践:https://php-di.org/doc/best-practices.html
|
|
||||||
* 同时,你也可以选择查阅我们(炸毛框架)的相关文档,其会包含一些简单的使用方法和示例。
|
|
||||||
* 关于框架在不同事件(或周期中)默认注册的绑定,请参阅我们的文档,或直接查看 {@see \ZM\Container\ContainerRegistrant}
|
|
||||||
*/
|
|
||||||
return [
|
|
||||||
// 这里定义的是全局容器的绑定,不建议在此处直接调用框架、应用内部的类或方法,因为这些类可能还没有被加载或初始化
|
|
||||||
// 你可以使用匿名函数来延迟加载
|
|
||||||
'definitions' => [
|
|
||||||
'worker_id' => fn () => ProcessManager::getProcessId(),
|
|
||||||
Driver::class => fn () => Framework::getInstance()->getDriver(),
|
|
||||||
LoggerInterface::class => fn () => logger(),
|
|
||||||
EnvironmentInterface::class => Environment::class,
|
|
||||||
|
|
||||||
HasRuntimeInfo::class => Framework::class,
|
|
||||||
],
|
|
||||||
|
|
||||||
// 容器的缓存配置,默认情况下,只有在生产环境下才会启用缓存
|
|
||||||
// 启用缓存后可以减少重复反射的开销,在首次解析后直接从缓存中读取
|
|
||||||
// 此功能要求 APCu 扩展,如果你没有安装,将会输出警告并禁用缓存
|
|
||||||
// 请在更新容器配置后手动执行 `apcu_clear_cache()` 来清除缓存
|
|
||||||
// 详细介绍请参阅:https://php-di.org/doc/performances.html#caching
|
|
||||||
'cache' => [
|
|
||||||
// 是否启用缓存,支持 bool、callable
|
|
||||||
'enable' => fn () => Framework::getInstance()->runtime_preferences->environment('production'),
|
|
||||||
'namespace' => 'zm',
|
|
||||||
],
|
|
||||||
];
|
|
||||||
@@ -1,123 +1,154 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/** @noinspection PhpComposerExtensionStubsInspection */
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
/* 启动框架的底层驱动(原生支持 swoole、workerman 两种) */
|
/* bind host */
|
||||||
$config['driver'] = env('DRIVER', 'workerman');
|
$config['host'] = '0.0.0.0';
|
||||||
|
|
||||||
/* 要启动的服务器监听端口及协议 */
|
/* bind port */
|
||||||
$config['servers'] = [
|
$config['port'] = 20001;
|
||||||
[
|
|
||||||
'host' => '0.0.0.0',
|
/* 框架开到公网或外部的HTTP访问链接,通过 DataProvider::getFrameworkLink() 获取 */
|
||||||
'port' => 20001,
|
$config['http_reverse_link'] = 'http://127.0.0.1:' . $config['port'];
|
||||||
'type' => 'websocket',
|
|
||||||
],
|
/* 框架是否启动debug模式,当debug模式为true时,启用热更新(需要安装inotify扩展) */
|
||||||
[
|
$config['debug_mode'] = false;
|
||||||
'host' => '0.0.0.0',
|
|
||||||
'port' => 20002,
|
/* 存放框架内文件数据的目录 */
|
||||||
'type' => 'http',
|
$config['zm_data'] = realpath(WORKING_DIR) . '/zm_data/';
|
||||||
'flag' => 20002,
|
|
||||||
],
|
/* 存放各个模块配置文件的目录 */
|
||||||
|
$config['config_dir'] = $config['zm_data'] . 'config/';
|
||||||
|
|
||||||
|
/* 存放崩溃和运行日志的目录 */
|
||||||
|
$config['crash_dir'] = $config['zm_data'] . 'crash/';
|
||||||
|
|
||||||
|
/* 对应swoole的server->set参数 */
|
||||||
|
$config['swoole'] = [
|
||||||
|
'log_file' => $config['crash_dir'] . 'swoole_error.log',
|
||||||
|
// 'worker_num' => swoole_cpu_num(), //如果你只有一个 OneBot 实例连接到框架并且代码没有复杂的CPU密集计算,则可把这里改为1使用全局变量
|
||||||
|
'dispatch_mode' => 2, // 包分配原则,见 https://wiki.swoole.com/#/server/setting?id=dispatch_mode
|
||||||
|
'max_coroutine' => 300000,
|
||||||
|
'max_wait_time' => 5,
|
||||||
|
// 'task_worker_num' => 4,
|
||||||
|
// 'task_enable_coroutine' => true
|
||||||
];
|
];
|
||||||
|
|
||||||
/* Workerman 驱动相关配置 */
|
/* 一些框架与框架运行时设置的调整 */
|
||||||
$config['workerman_options'] = [
|
|
||||||
'worker_num' => env('WORKER_NUM', 1), // 如果你只有一个 OneBot 实例连接到框架并且代码没有复杂的CPU密集计算,则可把这里改为1使用全局变量
|
|
||||||
];
|
|
||||||
|
|
||||||
/* Swoole 驱动相关配置 */
|
|
||||||
$config['swoole_options'] = [
|
|
||||||
'coroutine_hook_flags' => SWOOLE_HOOK_ALL & (~SWOOLE_HOOK_CURL), // 协程 Hook 内容
|
|
||||||
'swoole_set' => [
|
|
||||||
'worker_num' => env('WORKER_NUM', 1), // 如果你只有一个 OneBot 实例连接到框架并且代码没有复杂的CPU密集计算,则可把这里改为1使用全局变量
|
|
||||||
'dispatch_mode' => 2, // 包分配原则,见 https://wiki.swoole.com/#/server/setting?id=dispatch_mode
|
|
||||||
'max_coroutine' => 300000, // 允许最大的协程数
|
|
||||||
'max_wait_time' => 5, // 安全退出模式下允许等待 Worker 的最长秒数
|
|
||||||
// 'task_worker_num' => 4, // 启动 TaskWorker 进程的数量(默认不启动)
|
|
||||||
// 'task_enable_coroutine' => true // TaskWorker 是否开启协程
|
|
||||||
],
|
|
||||||
'swoole_server_mode' => SWOOLE_PROCESS, // Swoole Server 启动模式,默认为 SWOOLE_PROCESS
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 默认存取炸毛数据的目录(相对目录时,代表WORKING_DIR下的目录,绝对目录按照绝对目录来) */
|
|
||||||
$config['data_dir'] = WORKING_DIR . '/zm_data';
|
|
||||||
|
|
||||||
/* 框架本体运行时的一些可调配置 */
|
|
||||||
$config['runtime'] = [
|
$config['runtime'] = [
|
||||||
|
'swoole_coroutine_hook_flags' => SWOOLE_HOOK_ALL & (~SWOOLE_HOOK_CURL),
|
||||||
|
'swoole_server_mode' => SWOOLE_PROCESS,
|
||||||
|
'middleware_error_policy' => 1,
|
||||||
'reload_delay_time' => 800,
|
'reload_delay_time' => 800,
|
||||||
|
'global_middleware_binding' => [],
|
||||||
|
'save_console_log_file' => false, // 改为目标路径,则将 Console 输出的日志保存到文件
|
||||||
'annotation_reader_ignore' => [ // 设置注解解析器忽略的注解名或命名空间,防止解析到不该解析的
|
'annotation_reader_ignore' => [ // 设置注解解析器忽略的注解名或命名空间,防止解析到不该解析的
|
||||||
'name' => [
|
'name' => [
|
||||||
'mixin',
|
'mixin',
|
||||||
],
|
],
|
||||||
'namespace' => [],
|
'namespace' => [],
|
||||||
],
|
],
|
||||||
'timezone' => env('TIMEZONE', 'Asia/Shanghai'),
|
'inside_table_size' => 65536 // 内部表字符串最大长度(需要2的倍数)
|
||||||
|
// 正常不要低于65536,如果群数量过多可能出现会size不够。若swoole日志出现WARNING TableRow::set_value(): [key=wait_api,field=value]string value is too long可以将该值往大设置。
|
||||||
];
|
];
|
||||||
|
|
||||||
/* 允许加载插件形式 */
|
/* 轻量字符串缓存,默认开启 */
|
||||||
$config['plugin'] = [
|
$config['light_cache'] = [
|
||||||
'enable' => true, // 是否启动插件系统,默认为 true,如果为否则只能使用 src 模式编写用户代码
|
'size' => 512, // 最多允许储存的条数(需要2的倍数)
|
||||||
'load_dir' => 'plugins', // 插件目录,相对目录时,代表WORKING_DIR下的目录,绝对目录按照绝对目录来
|
'max_strlen' => 32768, // 单行字符串最大长度(需要2的倍数)
|
||||||
'composer_plugin_enable' => true, // 是否加载 Composer 依赖的插件,如果为 true 则读取 vendor/composer/installed.json 遍历加载
|
'hash_conflict_proportion' => 0.6, // Hash冲突率(越大越好,但是需要的内存更多)
|
||||||
|
'persistence_path' => $config['zm_data'] . '_cache.json',
|
||||||
|
'auto_save_interval' => 900,
|
||||||
];
|
];
|
||||||
|
|
||||||
/* 内部默认启用的插件 */
|
/* 大容量跨进程变量存储(2.2.0可用) */
|
||||||
$config['native_plugin'] = [
|
$config['worker_cache'] = [
|
||||||
'onebot12' => true, // OneBot v12 协议支持
|
'worker' => 0,
|
||||||
'onebot12-ban-other-ws' => true, // OneBot v12 协议支持,禁止其他 WebSocket 连接
|
'transaction_timeout' => 30000,
|
||||||
'command-manual' => true,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/* 静态文件读取器 */
|
/* MySQL数据库连接信息,host留空则启动时不创建sql连接池 */
|
||||||
$config['file_server'] = [
|
$config['mysql_config'] = [
|
||||||
'enable' => true,
|
'host' => '',
|
||||||
'document_root' => $config['data_dir'] . '/public/',
|
'port' => 3306,
|
||||||
'document_index' => 'index.html',
|
'unix_socket' => null,
|
||||||
'document_code_page' => [
|
'username' => 'root',
|
||||||
'404' => '404.html',
|
'password' => '123456',
|
||||||
'500' => '500.html',
|
'dbname' => '',
|
||||||
|
'charset' => 'utf8mb4',
|
||||||
|
'pool_size' => 64,
|
||||||
|
'options' => [
|
||||||
|
PDO::ATTR_STRINGIFY_FETCHES => false,
|
||||||
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/* MySQL 和 SQLite3 数据库连接配置,框架将自动生成连接池,支持多个连接池 */
|
/* Redis连接信息,host留空则启动时不创建Redis连接池 */
|
||||||
$config['database'] = [
|
$config['redis_config'] = [
|
||||||
'sqlite_db1' => [
|
'host' => '',
|
||||||
'enable' => false,
|
'port' => 6379,
|
||||||
'type' => 'sqlite',
|
'timeout' => 1,
|
||||||
'dbname' => 'a.db',
|
'db_index' => 0,
|
||||||
'pool_size' => 10,
|
'auth' => '',
|
||||||
],
|
];
|
||||||
'default' => [
|
|
||||||
'enable' => false,
|
/* onebot连接约定的token */
|
||||||
'type' => 'mysql',
|
$config['access_token'] = '';
|
||||||
'host' => '127.0.0.1', // 填写数据库服务器地址后才会创建数据库连接
|
|
||||||
'port' => 3306,
|
/* HTTP服务器固定请求头的返回 */
|
||||||
'username' => 'root',
|
$config['http_header'] = [
|
||||||
'password' => 'ZhamaoTEST',
|
'Server' => 'zhamao-framework',
|
||||||
'dbname' => 'zm',
|
'Content-Type' => 'text/html; charset=utf-8',
|
||||||
'charset' => 'utf8mb4',
|
];
|
||||||
'pool_size' => 64,
|
|
||||||
|
/* HTTP服务器在指定状态码下回复的页面(默认) */
|
||||||
|
$config['http_default_code_page'] = [
|
||||||
|
'404' => '404.html',
|
||||||
|
];
|
||||||
|
|
||||||
|
/* zhamao-framework在框架启动时初始化的atomic们 */
|
||||||
|
$config['init_atomics'] = [
|
||||||
|
// 'custom_atomic_name' => 0, //自定义添加的Atomic
|
||||||
|
];
|
||||||
|
|
||||||
|
/* 终端日志显示等级(0-4) */
|
||||||
|
$config['info_level'] = 2;
|
||||||
|
|
||||||
|
/* 上下文接口类 implemented from ContextInterface */
|
||||||
|
$config['context_class'] = \ZM\Context\Context::class;
|
||||||
|
|
||||||
|
/* 静态文件访问 */
|
||||||
|
$config['static_file_server'] = [
|
||||||
|
'status' => false,
|
||||||
|
'document_root' => realpath(__DIR__ . '/../') . '/resources/html',
|
||||||
|
'document_index' => [
|
||||||
|
'index.html',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/* Redis 连接配置,框架将自动生成连接池,支持多个连接池 */
|
/* 机器人解析模块,关闭后无法使用如CQCommand等注解(上面的modules即将废弃) */
|
||||||
$config['redis'] = [
|
$config['onebot'] = [
|
||||||
'default' => [
|
'status' => true,
|
||||||
'enable' => false,
|
'single_bot_mode' => false,
|
||||||
'host' => '127.0.0.1',
|
'message_level' => 99,
|
||||||
'port' => 6379,
|
'message_convert_string' => true,
|
||||||
'index' => 0,
|
'message_command_policy' => 'interrupt',
|
||||||
'auth' => '',
|
|
||||||
'pool_size' => 10,
|
|
||||||
],
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/* KV 数据库的配置 */
|
/* 一个远程简易终端,使用nc直接连接即可,但是不建议开放host为0.0.0.0(远程连接) */
|
||||||
$config['kv'] = [
|
$config['remote_terminal'] = [
|
||||||
'use' => \LightCache::class, // 默认在单进程模式下使用 LightCache,多进程需要使用 ZMRedis
|
'status' => false,
|
||||||
'light_cache_dir' => $config['data_dir'] . '/lc', // 默认的 LightCache 保存持久化数据的位置
|
'host' => '127.0.0.1',
|
||||||
'light_cache_autosave_time' => 600, // LightCache 自动保存时间(秒)
|
'port' => 20002,
|
||||||
'redis_config' => 'default',
|
'token' => '',
|
||||||
|
];
|
||||||
|
|
||||||
|
/* 模块(插件)加载器的相关设置 */
|
||||||
|
$config['module_loader'] = [
|
||||||
|
'enable_hotload' => false,
|
||||||
|
'load_path' => $config['zm_data'] . 'modules',
|
||||||
];
|
];
|
||||||
|
|
||||||
return $config;
|
return $config;
|
||||||
|
|||||||
@@ -1,152 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/** @noinspection PhpComposerExtensionStubsInspection */
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
/* bind host */
|
|
||||||
$config['host'] = '0.0.0.0';
|
|
||||||
|
|
||||||
/* bind port */
|
|
||||||
$config['port'] = 20001;
|
|
||||||
|
|
||||||
/* 框架开到公网或外部的HTTP访问链接,通过 DataProvider::getFrameworkLink() 获取 */
|
|
||||||
$config['http_reverse_link'] = 'http://127.0.0.1:' . $config['port'];
|
|
||||||
|
|
||||||
/* 框架是否启动debug模式,当debug模式为true时,启用热更新(需要安装inotify扩展) */
|
|
||||||
$config['debug_mode'] = false;
|
|
||||||
|
|
||||||
/* 存放框架内文件数据的目录 */
|
|
||||||
$config['zm_data'] = realpath(WORKING_DIR) . '/zm_data/';
|
|
||||||
|
|
||||||
/* 存放各个模块配置文件的目录 */
|
|
||||||
$config['config_dir'] = $config['zm_data'] . 'config/';
|
|
||||||
|
|
||||||
/* 存放崩溃和运行日志的目录 */
|
|
||||||
$config['crash_dir'] = $config['zm_data'] . 'crash/';
|
|
||||||
|
|
||||||
/* 对应swoole的server->set参数 */
|
|
||||||
$config['swoole'] = [
|
|
||||||
'log_file' => $config['crash_dir'] . 'swoole_error.log',
|
|
||||||
// 'worker_num' => swoole_cpu_num(), //如果你只有一个 OneBot 实例连接到框架并且代码没有复杂的CPU密集计算,则可把这里改为1使用全局变量
|
|
||||||
'dispatch_mode' => 2, // 包分配原则,见 https://wiki.swoole.com/#/server/setting?id=dispatch_mode
|
|
||||||
'max_coroutine' => 300000,
|
|
||||||
'max_wait_time' => 5,
|
|
||||||
// 'task_worker_num' => 4,
|
|
||||||
// 'task_enable_coroutine' => true
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 一些框架与框架运行时设置的调整 */
|
|
||||||
$config['runtime'] = [
|
|
||||||
'swoole_coroutine_hook_flags' => SWOOLE_HOOK_ALL & (~SWOOLE_HOOK_CURL),
|
|
||||||
'swoole_server_mode' => SWOOLE_PROCESS,
|
|
||||||
'middleware_error_policy' => 1,
|
|
||||||
'reload_delay_time' => 800,
|
|
||||||
'global_middleware_binding' => [],
|
|
||||||
'save_console_log_file' => false, // 改为目标路径,则将 Console 输出的日志保存到文件
|
|
||||||
'annotation_reader_ignore' => [ // 设置注解解析器忽略的注解名或命名空间,防止解析到不该解析的
|
|
||||||
'name' => [
|
|
||||||
'mixin',
|
|
||||||
],
|
|
||||||
'namespace' => [],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 轻量字符串缓存,默认开启 */
|
|
||||||
$config['light_cache'] = [
|
|
||||||
'size' => 512, // 最多允许储存的条数(需要2的倍数)
|
|
||||||
'max_strlen' => 32768, // 单行字符串最大长度(需要2的倍数)
|
|
||||||
'hash_conflict_proportion' => 0.6, // Hash冲突率(越大越好,但是需要的内存更多)
|
|
||||||
'persistence_path' => $config['zm_data'] . '_cache.json',
|
|
||||||
'auto_save_interval' => 900,
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 大容量跨进程变量存储(2.2.0可用) */
|
|
||||||
$config['worker_cache'] = [
|
|
||||||
'worker' => 0,
|
|
||||||
'transaction_timeout' => 30000,
|
|
||||||
];
|
|
||||||
|
|
||||||
/* MySQL数据库连接信息,host留空则启动时不创建sql连接池 */
|
|
||||||
$config['mysql_config'] = [
|
|
||||||
'host' => '',
|
|
||||||
'port' => 3306,
|
|
||||||
'unix_socket' => null,
|
|
||||||
'username' => 'root',
|
|
||||||
'password' => '123456',
|
|
||||||
'dbname' => '',
|
|
||||||
'charset' => 'utf8mb4',
|
|
||||||
'pool_size' => 64,
|
|
||||||
'options' => [
|
|
||||||
PDO::ATTR_STRINGIFY_FETCHES => false,
|
|
||||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
/* Redis连接信息,host留空则启动时不创建Redis连接池 */
|
|
||||||
$config['redis_config'] = [
|
|
||||||
'host' => '',
|
|
||||||
'port' => 6379,
|
|
||||||
'timeout' => 1,
|
|
||||||
'db_index' => 0,
|
|
||||||
'auth' => '',
|
|
||||||
];
|
|
||||||
|
|
||||||
/* onebot连接约定的token */
|
|
||||||
$config['access_token'] = '';
|
|
||||||
|
|
||||||
/* HTTP服务器固定请求头的返回 */
|
|
||||||
$config['http_header'] = [
|
|
||||||
'Server' => 'zhamao-framework',
|
|
||||||
'Content-Type' => 'text/html; charset=utf-8',
|
|
||||||
];
|
|
||||||
|
|
||||||
/* HTTP服务器在指定状态码下回复的页面(默认) */
|
|
||||||
$config['http_default_code_page'] = [
|
|
||||||
'404' => '404.html',
|
|
||||||
];
|
|
||||||
|
|
||||||
/* zhamao-framework在框架启动时初始化的atomic们 */
|
|
||||||
$config['init_atomics'] = [
|
|
||||||
// 'custom_atomic_name' => 0, //自定义添加的Atomic
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 终端日志显示等级(0-4) */
|
|
||||||
$config['info_level'] = 2;
|
|
||||||
|
|
||||||
/* 上下文接口类 implemented from ContextInterface */
|
|
||||||
$config['context_class'] = \ZM\Context\Context::class;
|
|
||||||
|
|
||||||
/* 静态文件访问 */
|
|
||||||
$config['static_file_server'] = [
|
|
||||||
'status' => false,
|
|
||||||
'document_root' => realpath(__DIR__ . '/../') . '/resources/html',
|
|
||||||
'document_index' => [
|
|
||||||
'index.html',
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 机器人解析模块,关闭后无法使用如CQCommand等注解(上面的modules即将废弃) */
|
|
||||||
$config['onebot'] = [
|
|
||||||
'status' => true,
|
|
||||||
'single_bot_mode' => false,
|
|
||||||
'message_level' => 99,
|
|
||||||
'message_convert_string' => true,
|
|
||||||
'message_command_policy' => 'interrupt',
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 一个远程简易终端,使用nc直接连接即可,但是不建议开放host为0.0.0.0(远程连接) */
|
|
||||||
$config['remote_terminal'] = [
|
|
||||||
'status' => false,
|
|
||||||
'host' => '127.0.0.1',
|
|
||||||
'port' => 20002,
|
|
||||||
'token' => '',
|
|
||||||
];
|
|
||||||
|
|
||||||
/* 模块(插件)加载器的相关设置 */
|
|
||||||
$config['module_loader'] = [
|
|
||||||
'enable_hotload' => false,
|
|
||||||
'load_path' => $config['zm_data'] . 'modules',
|
|
||||||
];
|
|
||||||
|
|
||||||
return $config;
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
version: "3.9"
|
|
||||||
|
|
||||||
services:
|
|
||||||
bot:
|
|
||||||
build:
|
|
||||||
context: docker/zhamao
|
|
||||||
dockerfile: ./Dockerfile
|
|
||||||
container_name: zhamao-bot
|
|
||||||
depends_on:
|
|
||||||
- database-postgres
|
|
||||||
- database-redis
|
|
||||||
networks:
|
|
||||||
- bot-net
|
|
||||||
ports:
|
|
||||||
- "20001-20005:20001-20005/tcp"
|
|
||||||
volumes:
|
|
||||||
- ".:/bot"
|
|
||||||
|
|
||||||
walle-q:
|
|
||||||
build:
|
|
||||||
context: docker/walle-q
|
|
||||||
dockerfile: ./Dockerfile
|
|
||||||
container_name: zhamao-bot-walle-q
|
|
||||||
depends_on:
|
|
||||||
- bot
|
|
||||||
networks:
|
|
||||||
- bot-net
|
|
||||||
volumes:
|
|
||||||
- "./docker/volumes/walle-q-data:/bot"
|
|
||||||
|
|
||||||
database-postgres:
|
|
||||||
container_name: zhamao-bot-db-postgres
|
|
||||||
env_file:
|
|
||||||
- docker/environment.env
|
|
||||||
image: postgres:14.4-alpine
|
|
||||||
networks:
|
|
||||||
- bot-net
|
|
||||||
ports:
|
|
||||||
- "5432:5432/tcp"
|
|
||||||
restart: always
|
|
||||||
volumes:
|
|
||||||
- "./docker/volumes/postgres-data:/var/lib/postgresql/data"
|
|
||||||
- "./docker/volumes/postgres-init:/docker-entrypoint-initdb.d"
|
|
||||||
|
|
||||||
database-redis:
|
|
||||||
command:
|
|
||||||
- redis-server
|
|
||||||
- --requirepass
|
|
||||||
- "$${REDIS_PASSWORD}"
|
|
||||||
container_name: zhamao-bot-db-redis
|
|
||||||
env_file:
|
|
||||||
- docker/environment.env
|
|
||||||
image: redis:7.0-alpine
|
|
||||||
networks:
|
|
||||||
- bot-net
|
|
||||||
ports:
|
|
||||||
- "6379:6379/tcp"
|
|
||||||
restart: always
|
|
||||||
volumes:
|
|
||||||
- "./docker/volumes/redis-data:/data"
|
|
||||||
|
|
||||||
db-admin-adminer:
|
|
||||||
container_name: zhamao-bot-dbadmin-adminer
|
|
||||||
depends_on:
|
|
||||||
database-postgres:
|
|
||||||
condition: service_started
|
|
||||||
database-redis:
|
|
||||||
condition: service_started
|
|
||||||
env_file:
|
|
||||||
- docker/environment.env
|
|
||||||
image: adminer:latest
|
|
||||||
networks:
|
|
||||||
- bot-net
|
|
||||||
ports:
|
|
||||||
- "15432:8080/tcp"
|
|
||||||
profiles:
|
|
||||||
- with-adminer
|
|
||||||
|
|
||||||
db-admin-redis-insight:
|
|
||||||
container_name: zhamao-bot-dbadmin-redis-insight
|
|
||||||
depends_on:
|
|
||||||
database-postgres:
|
|
||||||
condition: service_started
|
|
||||||
database-redis:
|
|
||||||
condition: service_started
|
|
||||||
image: redislabs/redisinsight:latest
|
|
||||||
networks:
|
|
||||||
- bot-net
|
|
||||||
ports:
|
|
||||||
- "16379:8001/tcp"
|
|
||||||
profiles:
|
|
||||||
- with-adminer
|
|
||||||
|
|
||||||
networks:
|
|
||||||
bot-net:
|
|
||||||
name: bot-net
|
|
||||||
2
docker/.gitignore
vendored
2
docker/.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
/volumes
|
|
||||||
environment.env
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
REDIS_PASSWORD={{$REDIS_PASSWORD}}
|
|
||||||
|
|
||||||
POSTGRES_USER={{$DB_ROOT_USER}}
|
|
||||||
POSTGRES_PASSWORD={{$DB_ROOT_PASSWORD}}
|
|
||||||
POSTGRES_APPLICATION_USER={{$DB_USER}}
|
|
||||||
POSTGRES_APPLICATION_USER_PASSWORD={{$DB_PASSWORD}}
|
|
||||||
POSTGRES_APPLICATION_DATABASE={{$DB_NAME}}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
FROM alpine:latest
|
|
||||||
|
|
||||||
MAINTAINER sunxyw <me@sunxyw.xyz>
|
|
||||||
|
|
||||||
RUN apk add --no-cache curl
|
|
||||||
RUN mkdir -p /bot && \
|
|
||||||
curl -fsSL https://github.com/onebot-walle/walle-q/releases/latest/download/walle-q-i686-linux-musl.tar.gz -O && \
|
|
||||||
tar -zxvf walle-q-i686-linux-musl.tar.gz -C /bot && \
|
|
||||||
rm -rf walle-q-i686-linux-musl.tar.gz && \
|
|
||||||
chmod +x /bot/walle-q-i686-linux-musl
|
|
||||||
|
|
||||||
ENV TZ=Asia/Shanghai
|
|
||||||
|
|
||||||
ENTRYPOINT [ "/bot/walle-q-i686-linux-musl" ]
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
FROM phpswoole/swoole:5.0-php8.1
|
|
||||||
|
|
||||||
MAINTAINER sunxyw <me@sunxyw.xyz>
|
|
||||||
|
|
||||||
WORKDIR "/bot"
|
|
||||||
|
|
||||||
ENV TZ=Asia/Shanghai
|
|
||||||
|
|
||||||
EXPOSE 20001-20005
|
|
||||||
|
|
||||||
RUN docker-php-ext-install pcntl
|
|
||||||
|
|
||||||
ENTRYPOINT [ "./zhamao" ]
|
|
||||||
CMD [ "server" ]
|
|
||||||
1
docs/.vuepress/api.js
Normal file
1
docs/.vuepress/api.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
module.exports = [{"title":"ZM","collapsable":true,"children":["ZM/ZMServer"]},{"title":"ZM/API","collapsable":true,"children":["ZM/API/CQ","ZM/API/ZMRobot","ZM/API/TuringAPI","ZM/API/GoCqhttpAPIV11","ZM/API/OneBotV11"]},{"title":"ZM/API/Proxies/Bot","collapsable":true,"children":["ZM/API/Proxies/Bot/AllGroupsProxy","ZM/API/Proxies/Bot/AbstractBotProxy","ZM/API/Proxies/Bot/AllBotsProxy"]},{"title":"ZM/Annotation/Swoole","collapsable":true,"children":["ZM/Annotation/Swoole/OnSwooleEventBase"]},{"title":"ZM/Command","collapsable":true,"children":["ZM/Command/CheckConfigCommand"]},{"title":"ZM/Command/Module","collapsable":true,"children":["ZM/Command/Module/ModulePackCommand","ZM/Command/Module/ModuleListCommand"]},{"title":"ZM/Container","collapsable":true,"children":["ZM/Container/BoundMethod","ZM/Container/WorkerContainer","ZM/Container/Container"]},{"title":"ZM/DB","collapsable":true,"children":["ZM/DB/UpdateBody","ZM/DB/DB","ZM/DB/InsertBody","ZM/DB/DeleteBody","ZM/DB/Table","ZM/DB/SelectBody"]},{"title":"ZM/Event","collapsable":true,"children":["ZM/Event/EventDispatcher","ZM/Event/EventTracer","ZM/Event/EventManager"]},{"title":"ZM/Event/SwooleEvent","collapsable":true,"children":["ZM/Event/SwooleEvent/OnMessage","ZM/Event/SwooleEvent/OnTask"]},{"title":"ZM/Http","collapsable":true,"children":["ZM/Http/Response"]},{"title":"ZM/Module","collapsable":true,"children":["ZM/Module/ModuleUnpacker","ZM/Module/ModuleBase","ZM/Module/ModulePacker"]},{"title":"ZM/MySQL","collapsable":true,"children":["ZM/MySQL/MySQLPool","ZM/MySQL/MySQLWrapper","ZM/MySQL/MySQLStatementWrapper","ZM/MySQL/MySQLQueryBuilder","ZM/MySQL/MySQLConnection","ZM/MySQL/MySQLStatement"]},{"title":"ZM/Store","collapsable":true,"children":["ZM/Store/LightCacheInside","ZM/Store/ZMAtomic","ZM/Store/LightCache"]},{"title":"ZM/Store/Redis","collapsable":true,"children":["ZM/Store/Redis/ZMRedis"]},{"title":"ZM/Utils","collapsable":true,"children":["ZM/Utils/CommandInfoUtil","ZM/Utils/Terminal","ZM/Utils/DataProvider","ZM/Utils/SignalListener","ZM/Utils/CoMessage","ZM/Utils/ReflectionUtil","ZM/Utils/MessageUtil","ZM/Utils/ZMUtil","ZM/Utils/HttpUtil"]},{"title":"ZM/Utils/Manager","collapsable":true,"children":["ZM/Utils/Manager/ModuleManager","ZM/Utils/Manager/WorkerManager","ZM/Utils/Manager/CronManager"]}]
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<div v-for="i in chat" v-bind="i">
|
<div v-for="i in chat" v-bind="i">
|
||||||
<div class="doc-chat-row" v-if="i.type === 0">
|
<div class="doc-chat-row" v-if="i.type === 0">
|
||||||
<div class="doc-chat-box">{{ i.content }}</div>
|
<div class="doc-chat-box">{{ i.content }}</div>
|
||||||
<img class="doc-chat-avatar" src="https://zhamao.xin/images/customer_avatar.png" alt=""/>
|
<img class="doc-chat-avatar" src="https://api.btstu.cn/sjtx/api.php" alt=""/>
|
||||||
</div>
|
</div>
|
||||||
<div class="doc-chat-row doc-chat-row-robot" v-else-if="i.type === 1">
|
<div class="doc-chat-row doc-chat-row-robot" v-else-if="i.type === 1">
|
||||||
<img class="doc-chat-avatar" src="https://docs-v1.zhamao.xin/logo.png" alt=""/>
|
<img class="doc-chat-avatar" src="https://docs-v1.zhamao.xin/logo.png" alt=""/>
|
||||||
@@ -21,13 +21,6 @@
|
|||||||
<img :src="i.content" alt="" />
|
<img :src="i.content" alt="" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="doc-chat-row doc-chat-row-robot" v-else-if="i.type === 4">
|
|
||||||
<img class="doc-chat-avatar" src="https://docs-v1.zhamao.xin/logo.png" alt=""/>
|
|
||||||
<div class="doc-chat-box doc-chat-box-robot">
|
|
||||||
<div class="doc-chat-box-quote">{{ i.quote }}</div>
|
|
||||||
<span v-for="(p,index) in i.content.split('\n')">{{p}}<br v-if="index !== i.content.length - 1"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -92,14 +85,6 @@ export default {
|
|||||||
justify-content: flex-start !important;
|
justify-content: flex-start !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.doc-chat-box-quote {
|
|
||||||
background-color: #cecece;
|
|
||||||
margin: .4rem .2rem;
|
|
||||||
border-radius: .3rem;
|
|
||||||
padding: .4rem .6rem;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-chat-box {
|
.doc-chat-box {
|
||||||
color: #000000de;
|
color: #000000de;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
<template>
|
|
||||||
<a-row>
|
|
||||||
<a-col :span="8" v-for="item in plugin_list" v-bind="item" >
|
|
||||||
<a :href="item.link">
|
|
||||||
<a-card hoverable style="width: 280px; margin: 8px; height: 120px" >
|
|
||||||
<a-card-meta :title="item.name" :description="item.description">
|
|
||||||
<template #avatar>
|
|
||||||
<a-avatar :src="item.avatar == null ? 'https://zhamao.xin/file/hello.jpg' : item.avatar" />
|
|
||||||
</template>
|
|
||||||
</a-card-meta>
|
|
||||||
</a-card>
|
|
||||||
</a>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: "PluginList",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
plugin_list: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.plugin_list = require('./plugin_list');
|
|
||||||
console.log(this.plugin_list);
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
jumpTo(link) {
|
|
||||||
window.location.href = link.link;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.ant-avatar {
|
|
||||||
width: 36px;
|
|
||||||
height: 36px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
module.exports = [
|
|
||||||
{
|
|
||||||
name: 'hitokoto',
|
|
||||||
description: '一言',
|
|
||||||
avatar: null,
|
|
||||||
link: 'https://github.com/awesome-zhamao/hitokoto'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'baidu-translate',
|
|
||||||
description: '翻译插件(百度)',
|
|
||||||
avatar: null,
|
|
||||||
link: 'https://github.com/zhamao-robot/baidu-translate-plugin'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'go-cqhttp-adapter-plugin',
|
|
||||||
description: '框架接入 gocq 的适配器(将 OneBot 11 转为 12)',
|
|
||||||
avatar: 'https://user-images.githubusercontent.com/25968335/120111974-8abef880-c139-11eb-99cd-fa928348b198.png',
|
|
||||||
link: 'https://github.com/zhamao-robot/go-cqhttp-adapter-plugin'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'what2eat',
|
|
||||||
description: '今天吃什么',
|
|
||||||
avatar: null,
|
|
||||||
link: 'https://github.com/FishZe/zhamao_plugin_what2eat'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'plugin-handle',
|
|
||||||
description: '炸毛框架的猜成语插件,仅适配 onebots 实现。',
|
|
||||||
avatar: 'https://opengraph.githubassets.com/0/AeQiQi/plugin-handle',
|
|
||||||
link: 'https://github.com/AeQiQi/plugin-handle'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'crazy-thursday',
|
|
||||||
description: '疯狂星期四',
|
|
||||||
avatar: null,
|
|
||||||
link: 'https://github.com/FishZe/zhamao_plugin_crazy_thursday'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'code-runner',
|
|
||||||
description: '代码运行',
|
|
||||||
avatar: null,
|
|
||||||
link: 'https://github.com/FishZe/zhamao_plugin_code_runner'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'ZMChatGPT',
|
|
||||||
description: '炸毛ChatGPT',
|
|
||||||
avatar: 'https://upload.wikimedia.org/wikipedia/commons/thumb/0/04/ChatGPT_logo.svg/120px-ChatGPT_logo.svg.png',
|
|
||||||
link: 'https://github.com/DreamMiu/zm-chat-gpt'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
|
const apiConfig = require('./api')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
title: '炸毛框架 v3',
|
title: '炸毛框架(v2 旧版)',
|
||||||
description: '一个高性能聊天机器人 + Web 框架',
|
description: '一个高性能聊天机器人 + Web 框架',
|
||||||
theme: 'antdocs',
|
theme: 'antdocs',
|
||||||
markdown: {
|
markdown: {
|
||||||
@@ -19,7 +21,6 @@ module.exports = {
|
|||||||
],
|
],
|
||||||
themeConfig: {
|
themeConfig: {
|
||||||
repo: 'zhamao-robot/zhamao-framework',
|
repo: 'zhamao-robot/zhamao-framework',
|
||||||
docsBranch: 'main',
|
|
||||||
logo: '/logo_trans.png',
|
logo: '/logo_trans.png',
|
||||||
docsDir: 'docs',
|
docsDir: 'docs',
|
||||||
editLinks: true,
|
editLinks: true,
|
||||||
@@ -27,13 +28,13 @@ module.exports = {
|
|||||||
activeHeaderLinks: false,
|
activeHeaderLinks: false,
|
||||||
nav: [
|
nav: [
|
||||||
{ text: '指南', link: '/guide/' },
|
{ text: '指南', link: '/guide/' },
|
||||||
{ text: '事件', link: '/event/' },
|
{ text: '事件和注解', link: '/event/' },
|
||||||
{ text: '组件', link: '/components/bot/bot-context' },
|
{ text: '组件', link: '/component/' },
|
||||||
{ text: '插件', link: '/plugins/management' },
|
|
||||||
{ text: '进阶', link: '/advanced/' },
|
{ text: '进阶', link: '/advanced/' },
|
||||||
{ text: '更新日志', link: '/update/v3' },
|
{ text: 'API', link: '/api/' },
|
||||||
{ text: 'API 文档', link: '/doxy/', target: '_blank' },
|
{ text: 'FAQ', link: '/faq/' },
|
||||||
{ text: '炸毛框架 v2', link: 'https://docs-v2.zhamao.xin/' }
|
{ text: '更新日志', link: '/update/v2/' },
|
||||||
|
{ text: '炸毛框架 v3(最新版)', link: 'https://framework.zhamao.xin/' }
|
||||||
],
|
],
|
||||||
sidebar: {
|
sidebar: {
|
||||||
'/guide/': [
|
'/guide/': [
|
||||||
@@ -44,106 +45,134 @@ module.exports = {
|
|||||||
children: [
|
children: [
|
||||||
'',
|
'',
|
||||||
'installation',
|
'installation',
|
||||||
'configuration',
|
'quickstart-robot',
|
||||||
'structure',
|
'quickstart-http',
|
||||||
'get-started',
|
'onebot-choose',
|
||||||
'debugging',
|
'basic-config',
|
||||||
|
'write-module',
|
||||||
|
'register-event',
|
||||||
|
'upgrade',
|
||||||
|
'errcode'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
'/event/': [
|
'/event/': [
|
||||||
{
|
{
|
||||||
title: '事件',
|
title: '事件和注解',
|
||||||
collapsable: false,
|
collapsable: false,
|
||||||
sidebarDepth: 1,
|
sidebarDepth: 1,
|
||||||
children: [
|
children: [
|
||||||
'',
|
'',
|
||||||
'bot',
|
'robot-annotations',
|
||||||
'http',
|
'route-annotations',
|
||||||
|
'framework-annotations',
|
||||||
'middleware',
|
'middleware',
|
||||||
'framework',
|
'custom-annotations',
|
||||||
'extend',
|
'event-dispatcher'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
'/components/': [
|
'/component/': [
|
||||||
'',
|
'',
|
||||||
{
|
{
|
||||||
title: '机器人组件',
|
title: '聊天机器人组件',
|
||||||
collapsable: true,
|
collapsable: true,
|
||||||
sidebarDepth: 2,
|
sidebarDepth: 2,
|
||||||
children: [
|
children: [
|
||||||
'bot/bot-context',
|
'bot/robot-api-12',
|
||||||
'bot/message-segment',
|
'bot/robot-api',
|
||||||
'bot/authorization',
|
'bot/cqcode',
|
||||||
]
|
'bot/message-util',
|
||||||
},
|
'bot/access-token',
|
||||||
{
|
'bot/turing-api',
|
||||||
title: 'HTTP 组件',
|
'bot/help-generator.md',
|
||||||
collapsable: true,
|
|
||||||
sidebarDepth: 1,
|
|
||||||
children: [
|
|
||||||
'http/zmrequest',
|
|
||||||
'http/websocket-access',
|
|
||||||
'http/websocket-client',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '框架通用组件',
|
|
||||||
collapsable: true,
|
|
||||||
sidebarDepth: 2,
|
|
||||||
children: [
|
|
||||||
'common/class-alias',
|
|
||||||
'common/global-defines',
|
|
||||||
'common/logging',
|
|
||||||
'common/hot-update',
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '存储组件',
|
title: '存储组件',
|
||||||
collapsable: true,
|
collapsable: true,
|
||||||
sidebarDepth: 1,
|
sidebarDepth: 2,
|
||||||
children: [
|
children: [
|
||||||
'store/file-system',
|
'store/light-cache',
|
||||||
'store/cache',
|
|
||||||
'store/redis',
|
|
||||||
'store/mysql',
|
'store/mysql',
|
||||||
|
'store/mysql-db',
|
||||||
|
'store/redis',
|
||||||
|
'store/atomics',
|
||||||
|
'store/spin-lock',
|
||||||
|
'store/data-provider'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '依赖注入组件',
|
title: '通用组件',
|
||||||
collapsable: true,
|
collapsable: true,
|
||||||
sidebarDepth: 2,
|
sidebarDepth: 2,
|
||||||
children: [
|
children: [
|
||||||
'container/dependency-injection',
|
'common/context',
|
||||||
'container/configuration',
|
'common/coroutine-pool',
|
||||||
'container/dependencies',
|
'common/singleton-trait',
|
||||||
],
|
'common/zmutil',
|
||||||
}
|
'common/global-functions',
|
||||||
],
|
'common/console',
|
||||||
'/plugins/': [
|
'common/task-worker',
|
||||||
|
'common/remote-terminal',
|
||||||
|
'common/event-tracer'
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '插件系统',
|
title: 'HTTP 组件',
|
||||||
collapsable: false,
|
collapsable: true,
|
||||||
sidebarDepth: 2,
|
sidebarDepth: 2,
|
||||||
children: [
|
children: [
|
||||||
'management',
|
'http/zmrequest',
|
||||||
'develop',
|
'http/route-manager'
|
||||||
'market',
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '模块/插件管理',
|
||||||
|
collapsable: true,
|
||||||
|
sidebarDepth: 2,
|
||||||
|
children: [
|
||||||
|
'module/module-pack',
|
||||||
|
'module/module-unpack'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'/advanced/': [
|
||||||
|
'',
|
||||||
|
{
|
||||||
|
title: '框架高级开发',
|
||||||
|
collapsable: true,
|
||||||
|
sidebarDepth: 2,
|
||||||
|
children: [
|
||||||
|
'framework-structure',
|
||||||
|
'custom-start',
|
||||||
|
'manually-install',
|
||||||
|
'inside-class',
|
||||||
|
'multi-process',
|
||||||
|
'task-worker'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '开发实战教程',
|
||||||
|
collapsable: true,
|
||||||
|
sidebarDepth: 2,
|
||||||
|
children: [
|
||||||
|
'connect-ws-client',
|
||||||
|
'example/admin',
|
||||||
|
'example/integrate-qingyunke-chatbot',
|
||||||
|
'example/weather-bot'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'/advanced/': [
|
'/api/': apiConfig,
|
||||||
{
|
'/faq/': [
|
||||||
title: '进阶',
|
'',
|
||||||
collapsable: false,
|
'to-v2',
|
||||||
sidebarDepth: 1,
|
'usual-question',
|
||||||
children: [
|
'address-already-in-use',
|
||||||
'',
|
'display-deadlock',
|
||||||
'multi-process',
|
'light-cache-wrong',
|
||||||
'custom-start',
|
'wait-message-cqbefore'
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
],
|
||||||
'/update/': [
|
'/update/': [
|
||||||
{
|
{
|
||||||
@@ -151,10 +180,12 @@ module.exports = {
|
|||||||
collapsable: true,
|
collapsable: true,
|
||||||
sidebarDepth: 0,
|
sidebarDepth: 0,
|
||||||
children: [
|
children: [
|
||||||
'v3',
|
|
||||||
'v2',
|
'v2',
|
||||||
|
'v1',
|
||||||
|
'build-update'
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
'config'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
framework.zhamao.me
|
docs-v2.zhamao.me
|
||||||
|
|||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Container/AliasDefinitionSource.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_alias_definition_source_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">AliasDefinitionSource.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_container_1_1_alias_definition_source.html">AliasDefinitionSource</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_container"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_container.html">ZM\Container</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_f6ad96415bb57c22495c79713b99d64d.html">Container</a></li><li class="navelem"><a class="el" href="_alias_definition_source_8php.html">AliasDefinitionSource.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _alias_definition_source_8php =
|
|
||||||
[
|
|
||||||
[ "AliasDefinitionSource", "class_z_m_1_1_container_1_1_alias_definition_source.html", "class_z_m_1_1_container_1_1_alias_definition_source" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/AnnotationBase.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_annotation_base_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">AnnotationBase.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_annotation_base.html">AnnotationBase</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation.html">ZM\Annotation</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="_annotation_base_8php.html">AnnotationBase.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _annotation_base_8php =
|
|
||||||
[
|
|
||||||
[ "AnnotationBase", "class_z_m_1_1_annotation_1_1_annotation_base.html", "class_z_m_1_1_annotation_1_1_annotation_base" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/AnnotationHandler.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_annotation_handler_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">AnnotationHandler.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_annotation_handler.html">AnnotationHandler</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation.html">ZM\Annotation</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="_annotation_handler_8php.html">AnnotationHandler.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _annotation_handler_8php =
|
|
||||||
[
|
|
||||||
[ "AnnotationHandler", "class_z_m_1_1_annotation_1_1_annotation_handler.html", "class_z_m_1_1_annotation_1_1_annotation_handler" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/AnnotationMap.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_annotation_map_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">AnnotationMap.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_annotation_map.html">AnnotationMap</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation.html">ZM\Annotation</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="_annotation_map_8php.html">AnnotationMap.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _annotation_map_8php =
|
|
||||||
[
|
|
||||||
[ "AnnotationMap", "class_z_m_1_1_annotation_1_1_annotation_map.html", null ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/AnnotationParser.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_annotation_parser_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">AnnotationParser.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_annotation_parser.html">AnnotationParser</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation.html">ZM\Annotation</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="_annotation_parser_8php.html">AnnotationParser.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _annotation_parser_8php =
|
|
||||||
[
|
|
||||||
[ "AnnotationParser", "class_z_m_1_1_annotation_1_1_annotation_parser.html", "class_z_m_1_1_annotation_1_1_annotation_parser" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/Framework/BindEvent.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bind_event_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BindEvent.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_framework_1_1_bind_event.html">BindEvent</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_framework"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_framework.html">ZM\Annotation\Framework</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_bae76be4ff8fcce1b000766c7c879b0d.html">Framework</a></li><li class="navelem"><a class="el" href="_bind_event_8php.html">BindEvent.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bind_event_8php =
|
|
||||||
[
|
|
||||||
[ "BindEvent", "class_z_m_1_1_annotation_1_1_framework_1_1_bind_event.html", "class_z_m_1_1_annotation_1_1_framework_1_1_bind_event" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Bootstrap/Bootstrapper.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bootstrapper_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Bootstrapper.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface  </td><td class="memItemRight" valign="bottom"><a class="el" href="interface_z_m_1_1_bootstrap_1_1_bootstrapper.html">Bootstrapper</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_bootstrap"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_bootstrap.html">ZM\Bootstrap</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_32e6acc04f4b8c095cf1d40ede347ca3.html">Bootstrap</a></li><li class="navelem"><a class="el" href="_bootstrapper_8php.html">Bootstrapper.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bootstrapper_8php =
|
|
||||||
[
|
|
||||||
[ "Bootstrapper", "interface_z_m_1_1_bootstrap_1_1_bootstrapper.html", "interface_z_m_1_1_bootstrap_1_1_bootstrapper" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/OneBot/BotAction.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_action_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotAction.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_action.html">BotAction</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_one_bot.html">ZM\Annotation\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_b8c6d9b7bc385210e8db830345c572f2.html">OneBot</a></li><li class="navelem"><a class="el" href="_bot_action_8php.html">BotAction.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_action_8php =
|
|
||||||
[
|
|
||||||
[ "BotAction", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_action.html", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_action" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/OneBot/BotActionResponse.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_action_response_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotActionResponse.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_action_response.html">BotActionResponse</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_one_bot.html">ZM\Annotation\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_b8c6d9b7bc385210e8db830345c572f2.html">OneBot</a></li><li class="navelem"><a class="el" href="_bot_action_response_8php.html">BotActionResponse.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_action_response_8php =
|
|
||||||
[
|
|
||||||
[ "BotActionResponse", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_action_response.html", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_action_response" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/OneBot/BotCommand.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_command_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotCommand.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_command.html">BotCommand</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_one_bot.html">ZM\Annotation\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_b8c6d9b7bc385210e8db830345c572f2.html">OneBot</a></li><li class="navelem"><a class="el" href="_bot_command_8php.html">BotCommand.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_command_8php =
|
|
||||||
[
|
|
||||||
[ "BotCommand", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_command.html", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_command" ]
|
|
||||||
];
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Plugin/Traits/BotCommandTrait.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_command_trait_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#namespaces">命名空间</a> |
|
|
||||||
<a href="#func-members">函数</a> |
|
|
||||||
<a href="#var-members">变量</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotCommandTrait.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_plugin_1_1_traits"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html">ZM\Plugin\Traits</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
函数</h2></td></tr>
|
|
||||||
<tr class="memitem:a2a7453aa099c39db14e3c084f3fc98dd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html#a2a7453aa099c39db14e3c084f3fc98dd">addBotCommand</a> (BotCommand $command)</td></tr>
|
|
||||||
<tr class="separator:a2a7453aa099c39db14e3c084f3fc98dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:aedd0480ee6c846c72b9fc33d34990b85"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html#aedd0480ee6c846c72b9fc33d34990b85">getBotCommands</a> ()</td></tr>
|
|
||||||
<tr class="separator:aedd0480ee6c846c72b9fc33d34990b85"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
|
|
||||||
变量</h2></td></tr>
|
|
||||||
<tr class="memitem:a3a36118815512c22ea76ac325e290ea2"><td class="memItemLeft" align="right" valign="top">trait </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html#a3a36118815512c22ea76ac325e290ea2">BotCommandTrait</a></td></tr>
|
|
||||||
<tr class="separator:a3a36118815512c22ea76ac325e290ea2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_1a087c55314947dcbbd912f1f81f160f.html">Plugin</a></li><li class="navelem"><a class="el" href="dir_b44262b9228cbb5b7014731b35e08080.html">Traits</a></li><li class="navelem"><a class="el" href="_bot_command_trait_8php.html">BotCommandTrait.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
var _bot_command_trait_8php =
|
|
||||||
[
|
|
||||||
[ "addBotCommand", "_bot_command_trait_8php.html#a2a7453aa099c39db14e3c084f3fc98dd", null ],
|
|
||||||
[ "getBotCommands", "_bot_command_trait_8php.html#aedd0480ee6c846c72b9fc33d34990b85", null ],
|
|
||||||
[ "BotCommandTrait", "_bot_command_trait_8php.html#a3a36118815512c22ea76ac325e290ea2", null ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Context/BotConnectContext.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_connect_context_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotConnectContext.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_context_1_1_bot_connect_context.html">BotConnectContext</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_context"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_context.html">ZM\Context</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_07a1950ebaf2e16f5cee5a9ebd0432a2.html">Context</a></li><li class="navelem"><a class="el" href="_bot_connect_context_8php.html">BotConnectContext.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_connect_context_8php =
|
|
||||||
[
|
|
||||||
[ "BotConnectContext", "class_z_m_1_1_context_1_1_bot_connect_context.html", "class_z_m_1_1_context_1_1_bot_connect_context" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Context/BotContext.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_context_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotContext.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_context_1_1_bot_context.html">BotContext</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_context"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_context.html">ZM\Context</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_07a1950ebaf2e16f5cee5a9ebd0432a2.html">Context</a></li><li class="navelem"><a class="el" href="_bot_context_8php.html">BotContext.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_context_8php =
|
|
||||||
[
|
|
||||||
[ "BotContext", "class_z_m_1_1_context_1_1_bot_context.html", "class_z_m_1_1_context_1_1_bot_context" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Command/BotCraft/BotCraftCommand.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_craft_command_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotCraftCommand.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_command_1_1_bot_craft_1_1_bot_craft_command.html">BotCraftCommand</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_command_1_1_bot_craft"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_command_1_1_bot_craft.html">ZM\Command\BotCraft</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_29d10c2728ad90f428c8100dee36059f.html">Command</a></li><li class="navelem"><a class="el" href="dir_c9e7d6a7f529f7a51911a521c949cfd3.html">BotCraft</a></li><li class="navelem"><a class="el" href="_bot_craft_command_8php.html">BotCraftCommand.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_craft_command_8php =
|
|
||||||
[
|
|
||||||
[ "BotCraftCommand", "class_z_m_1_1_command_1_1_bot_craft_1_1_bot_craft_command.html", "class_z_m_1_1_command_1_1_bot_craft_1_1_bot_craft_command" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/OneBot/BotEvent.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_event_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotEvent.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_event.html">BotEvent</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_one_bot.html">ZM\Annotation\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_b8c6d9b7bc385210e8db830345c572f2.html">OneBot</a></li><li class="navelem"><a class="el" href="_bot_event_8php.html">BotEvent.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_event_8php =
|
|
||||||
[
|
|
||||||
[ "BotEvent", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_event.html", "class_z_m_1_1_annotation_1_1_one_bot_1_1_bot_event" ]
|
|
||||||
];
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Plugin/Traits/BotEventTrait.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_event_trait_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#namespaces">命名空间</a> |
|
|
||||||
<a href="#func-members">函数</a> |
|
|
||||||
<a href="#var-members">变量</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotEventTrait.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_plugin_1_1_traits"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html">ZM\Plugin\Traits</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
函数</h2></td></tr>
|
|
||||||
<tr class="memitem:a1ff465e537000a7d4d01966d22f1abb7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html#a1ff465e537000a7d4d01966d22f1abb7">addBotEvent</a> (BotEvent $event)</td></tr>
|
|
||||||
<tr class="separator:a1ff465e537000a7d4d01966d22f1abb7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a86048b8b064dcfdf7a373220a77e6bd8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html#a86048b8b064dcfdf7a373220a77e6bd8">getBotEvents</a> ()</td></tr>
|
|
||||||
<tr class="separator:a86048b8b064dcfdf7a373220a77e6bd8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
|
|
||||||
变量</h2></td></tr>
|
|
||||||
<tr class="memitem:a84608bf57f1f59f9970751ca5c022d5b"><td class="memItemLeft" align="right" valign="top">trait </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_traits.html#a84608bf57f1f59f9970751ca5c022d5b">BotEventTrait</a></td></tr>
|
|
||||||
<tr class="separator:a84608bf57f1f59f9970751ca5c022d5b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_1a087c55314947dcbbd912f1f81f160f.html">Plugin</a></li><li class="navelem"><a class="el" href="dir_b44262b9228cbb5b7014731b35e08080.html">Traits</a></li><li class="navelem"><a class="el" href="_bot_event_trait_8php.html">BotEventTrait.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
var _bot_event_trait_8php =
|
|
||||||
[
|
|
||||||
[ "addBotEvent", "_bot_event_trait_8php.html#a1ff465e537000a7d4d01966d22f1abb7", null ],
|
|
||||||
[ "getBotEvents", "_bot_event_trait_8php.html#a86048b8b064dcfdf7a373220a77e6bd8", null ],
|
|
||||||
[ "BotEventTrait", "_bot_event_trait_8php.html#a84608bf57f1f59f9970751ca5c022d5b", null ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Plugin/OneBot/BotMap.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_bot_map_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BotMap.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_plugin_1_1_one_bot_1_1_bot_map.html">BotMap</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_plugin_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_one_bot.html">ZM\Plugin\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_1a087c55314947dcbbd912f1f81f160f.html">Plugin</a></li><li class="navelem"><a class="el" href="dir_ea34d30bfb5a71749604272f539c1ebb.html">OneBot</a></li><li class="navelem"><a class="el" href="_bot_map_8php.html">BotMap.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _bot_map_8php =
|
|
||||||
[
|
|
||||||
[ "BotMap", "class_z_m_1_1_plugin_1_1_one_bot_1_1_bot_map.html", null ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Command/BuildCommand.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_build_command_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">BuildCommand.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_command_1_1_build_command.html">BuildCommand</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_command"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_command.html">ZM\Command</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_29d10c2728ad90f428c8100dee36059f.html">Command</a></li><li class="navelem"><a class="el" href="_build_command_8php.html">BuildCommand.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _build_command_8php =
|
|
||||||
[
|
|
||||||
[ "BuildCommand", "class_z_m_1_1_command_1_1_build_command.html", "class_z_m_1_1_command_1_1_build_command" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Utils/CatCode.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_cat_code_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">CatCode.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_utils_1_1_cat_code.html">CatCode</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_utils"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_utils.html">ZM\Utils</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_5d1d21330de1e22b7735a1181ad02380.html">Utils</a></li><li class="navelem"><a class="el" href="_cat_code_8php.html">CatCode.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _cat_code_8php =
|
|
||||||
[
|
|
||||||
[ "CatCode", "class_z_m_1_1_utils_1_1_cat_code.html", null ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Command/CheckConfigCommand.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_check_config_command_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">CheckConfigCommand.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_command_1_1_check_config_command.html">CheckConfigCommand</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_command"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_command.html">ZM\Command</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_29d10c2728ad90f428c8100dee36059f.html">Command</a></li><li class="navelem"><a class="el" href="_check_config_command_8php.html">CheckConfigCommand.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _check_config_command_8php =
|
|
||||||
[
|
|
||||||
[ "CheckConfigCommand", "class_z_m_1_1_command_1_1_check_config_command.html", "class_z_m_1_1_command_1_1_check_config_command" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/Closed.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_closed_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Closed.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_closed.html">Closed</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation.html">ZM\Annotation</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="_closed_8php.html">Closed.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _closed_8php =
|
|
||||||
[
|
|
||||||
[ "Closed", "class_z_m_1_1_annotation_1_1_closed.html", null ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Command/Command.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_command_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Command.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_command_1_1_command.html">Command</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_command"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_command.html">ZM\Command</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_29d10c2728ad90f428c8100dee36059f.html">Command</a></li><li class="navelem"><a class="el" href="_command_8php.html">Command.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _command_8php =
|
|
||||||
[
|
|
||||||
[ "Command", "class_z_m_1_1_command_1_1_command.html", "class_z_m_1_1_command_1_1_command" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/OneBot/CommandArgument.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_command_argument_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">CommandArgument.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_one_bot_1_1_command_argument.html">CommandArgument</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_one_bot.html">ZM\Annotation\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_b8c6d9b7bc385210e8db830345c572f2.html">OneBot</a></li><li class="navelem"><a class="el" href="_command_argument_8php.html">CommandArgument.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _command_argument_8php =
|
|
||||||
[
|
|
||||||
[ "CommandArgument", "class_z_m_1_1_annotation_1_1_one_bot_1_1_command_argument.html", "class_z_m_1_1_annotation_1_1_one_bot_1_1_command_argument" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Annotation/OneBot/CommandHelp.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_command_help_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">CommandHelp.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_annotation_1_1_one_bot_1_1_command_help.html">CommandHelp</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_annotation_1_1_one_bot"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_annotation_1_1_one_bot.html">ZM\Annotation\OneBot</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_544dcf3b4bdb107fceb664b18f0ffd2e.html">Annotation</a></li><li class="navelem"><a class="el" href="dir_b8c6d9b7bc385210e8db830345c572f2.html">OneBot</a></li><li class="navelem"><a class="el" href="_command_help_8php.html">CommandHelp.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _command_help_8php =
|
|
||||||
[
|
|
||||||
[ "CommandHelp", "class_z_m_1_1_annotation_1_1_one_bot_1_1_command_help.html", "class_z_m_1_1_annotation_1_1_one_bot_1_1_command_help" ]
|
|
||||||
];
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Command/CommandInteractTrait.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_command_interact_trait_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">CommandInteractTrait.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_command"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_command.html">ZM\Command</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_29d10c2728ad90f428c8100dee36059f.html">Command</a></li><li class="navelem"><a class="el" href="_command_interact_trait_8php.html">CommandInteractTrait.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Plugin/CommandManual/CommandManualPlugin.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_command_manual_plugin_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">CommandManualPlugin.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_plugin_1_1_command_manual_1_1_command_manual_plugin.html">CommandManualPlugin</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_plugin_1_1_command_manual"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_command_manual.html">ZM\Plugin\CommandManual</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_1a087c55314947dcbbd912f1f81f160f.html">Plugin</a></li><li class="navelem"><a class="el" href="dir_b04f5c6e20ae447d34a415ef2026b1b0.html">CommandManual</a></li><li class="navelem"><a class="el" href="_command_manual_plugin_8php.html">CommandManualPlugin.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _command_manual_plugin_8php =
|
|
||||||
[
|
|
||||||
[ "CommandManualPlugin", "class_z_m_1_1_plugin_1_1_command_manual_1_1_command_manual_plugin.html", "class_z_m_1_1_plugin_1_1_command_manual_1_1_command_manual_plugin" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Plugin/Strategy/ComposerStrategy.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_composer_strategy_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">ComposerStrategy.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_plugin_1_1_strategy_1_1_composer_strategy.html">ComposerStrategy</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_plugin_1_1_strategy"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_plugin_1_1_strategy.html">ZM\Plugin\Strategy</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_1a087c55314947dcbbd912f1f81f160f.html">Plugin</a></li><li class="navelem"><a class="el" href="dir_1fcb1389e4ff08b56c2f544f13235c57.html">Strategy</a></li><li class="navelem"><a class="el" href="_composer_strategy_8php.html">ComposerStrategy.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _composer_strategy_8php =
|
|
||||||
[
|
|
||||||
[ "ComposerStrategy", "class_z_m_1_1_plugin_1_1_strategy_1_1_composer_strategy.html", "class_z_m_1_1_plugin_1_1_strategy_1_1_composer_strategy" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Exception/ConfigException.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_config_exception_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">ConfigException.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_exception_1_1_config_exception.html">ConfigException</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_exception"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_exception.html">ZM\Exception</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_f0c57c4ff23d01d792ab821d117fe614.html">Exception</a></li><li class="navelem"><a class="el" href="_config_exception_8php.html">ConfigException.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _config_exception_8php =
|
|
||||||
[
|
|
||||||
[ "ConfigException", "class_z_m_1_1_exception_1_1_config_exception.html", "class_z_m_1_1_exception_1_1_config_exception" ]
|
|
||||||
];
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Zhamao Framework: src/ZM/Config/ConfigTracer.php 文件参考</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="resize.js"></script>
|
|
||||||
<script type="text/javascript" src="navtreedata.js"></script>
|
|
||||||
<script type="text/javascript" src="navtree.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr id="projectrow">
|
|
||||||
<td id="projectalign">
|
|
||||||
<div id="projectname">Zhamao Framework<span id="projectnumber"> 3.2.7</span>
|
|
||||||
</div>
|
|
||||||
<div id="projectbrief">A high-performance chatbot + web framework</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- 制作者 Doxygen 1.9.5 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','搜索');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
||||||
<div id="nav-tree">
|
|
||||||
<div id="nav-tree-contents">
|
|
||||||
<div id="nav-sync" class="sync"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="splitbar" style="-moz-user-select:none;"
|
|
||||||
class="ui-resizable-handle">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(document).ready(function(){initNavTree('_config_tracer_8php.html',''); initResizable(); });
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="doc-content">
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">载入中...</div>
|
|
||||||
<div class="SRStatus" id="Searching">搜索中...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">未找到</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">结构体</a> |
|
|
||||||
<a href="#namespaces">命名空间</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">ConfigTracer.php 文件参考</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
||||||
结构体</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_config_1_1_config_tracer.html">ConfigTracer</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
||||||
命名空间</h2></td></tr>
|
|
||||||
<tr class="memitem:namespace_z_m_1_1_config"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_z_m_1_1_config.html">ZM\Config</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
</div><!-- doc-content -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_14547c19cd47bd2555adf353e72448ce.html">ZM</a></li><li class="navelem"><a class="el" href="dir_5abd0a68aff9d088458f1faaa8b2e668.html">Config</a></li><li class="navelem"><a class="el" href="_config_tracer_8php.html">ConfigTracer.php</a></li>
|
|
||||||
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
var _config_tracer_8php =
|
|
||||||
[
|
|
||||||
[ "ConfigTracer", "class_z_m_1_1_config_1_1_config_tracer.html", "class_z_m_1_1_config_1_1_config_tracer" ]
|
|
||||||
];
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user